Neural network 关于kohonen神经网络的几个问题

Neural network 关于kohonen神经网络的几个问题,neural-network,Neural Network,我有大数据集(时间序列,大约50个参数/值)。我想使用Kohonen网络对类似的数据行进行分组。我读过一些关于Kohonen神经网络的书,我了解Kohonen网络的概念,但是: 我不知道如何用这么多维度实现Kohonen。我在CodeProject上找到了一个示例,但仅限于二维或三维输入向量。当我有50个参数时,我应该在我的神经元中创建50个权重吗 我不知道如何更新获胜神经元的权重(如何计算新权重?) 我的英语不是很好,我不理解我读到的关于Kohonen网络的所有内容,特别是公式中变量的描述,这

我有大数据集(时间序列,大约50个参数/值)。我想使用Kohonen网络对类似的数据行进行分组。我读过一些关于Kohonen神经网络的书,我了解Kohonen网络的概念,但是:

  • 我不知道如何用这么多维度实现Kohonen。我在CodeProject上找到了一个示例,但仅限于二维或三维输入向量。当我有50个参数时,我应该在我的神经元中创建50个权重吗

  • 我不知道如何更新获胜神经元的权重(如何计算新权重?)

  • 我的英语不是很好,我不理解我读到的关于Kohonen网络的所有内容,特别是公式中变量的描述,这就是我问的原因

  • 是的,你需要50个神经元。然而,如本文所述,这些类型的网络通常是低维的。我从未见过他们使用超过几个输入

  • 您必须使用更新公式。来自同一篇文章:
    Wv(s+1)=Wv(s)+Θ(u,v,s)α(s)(D(t)-Wv(s))

  • 是的,每个神经元需要50个输入

  • 基本上,您在神经元和目标(输入)神经元之间进行线性插值,并使用
    W(s+1)=W(s)+Θ()*α(s)*(输入(t)-W(s))
    ,其中Θ是您的邻域函数

  • 你应该更新你所有的神经元,而不仅仅是赢家

    您使用哪个函数作为邻域函数取决于您的实际问题。 这种函数的一个共同特性是,当i=k时,它的值为1,并随距离欧几里得距离而衰减。此外,它会随着时间的推移而收缩(以便对簇进行本地化)


    简单的邻域函数包括线性插值(最大距离)或高斯函数

    应区分地图的维数,通常较低(例如,在矩形网格的常见情况下为2),以及参考向量的维数,可以任意高而没有问题

    请看一个49维输入向量(7x7像素图像)的好例子。在本例中,Kohonen映射的形式为8个单位的一维环

    另请参见各种类似Kohonen的网络的java模拟器,包括环形网络,如McMasters的网络。然而,参考向量都是二维的,但只是为了便于显示。它们可以具有任意高维,而不改变算法。

    如何计算
    Θ(u,v,s)
    ?我在维基百科上找不到任何公式。