机器学习day16自组织映射神经网络

高斯混合模型计算

  1. 初始随机设置各参数的值,然后重复迭代下面的步骤,直至收敛
  2. 根据当前的参数,计算每个点由某各分模型生成的概率
  3. 使用步骤2计算出来的概率,来改进每个模型的均值,方差和权重

我们一开始不用知道K个正态分布的参数,也不知道点是由哪个分布生成,在迭代过程中。

先固定当前的正态分布不变,获取每个点由每个数据点生成的概率。然后固定改生成概率不变,根据数据点和生成概率,获取更佳的正态分布,如此循环反复,直至参数收敛。得到合理的一组正态分布。

自组织映射神经网络

自组织映射神经网络(Self-Organizing Map,SOM)是无监督学习方法中一类重要方法,可以用作聚类,高维可视化,数据压缩,特征提取等等。亦称Kohonen网络。

自组织映射神经网络本质是两层神经网络,包含输入层和输出层。输入层模接受外界信息输入,输出层神经元个数通常是聚类的个数,代表每一个需要聚成的类。训练时采用“竞争学习”,每个输入的样例在输出层中找到一个和它最匹配的节点,称为激活节点,wonning neuron。

之后采用随机梯度下降法更新激活节点的参数,同时和激活节点临近的点也根据饶命激活节点的远近而适当更新参数。

这样的竞争可以通过神经元之间的横向抑制连接来实现。自组织映射神经网络的输出节点是有拓扑关系的,这个拓扑关系依据需求确定。

假设输入空间是D维,输入模式为,输入单元i和神经元j之间在计算层的连接权重为,其中N是神经元的总数。自组织映射神经网络的自组织学习过程可以归纳为以下几个子过程。

  1. 初始化,所有连接权重都用小的随机值进行初始化。
  2. 竞争,神经元计算每个输入模式各自的判别函数值,并宣布具有最小判别函数值的特定神经元为胜利者,其中每个神经元j的判别函数为
  3. 合作,获胜神经元I(x)决定了兴奋神经网络拓扑邻域的空间位置,确定激活节点I(x)之后,我们也希望更新和它临近的节点。更新程度计算如下:

    其中表示竞争层神经元i和j之间的距离,随时间衰减。就是,临近的节点距离越远,更新的程度越小。
  4. 适应,适当调整相关兴奋神经元的连接权重,使得获胜的神经元对相似输入模式的后续应用的响应加强:

    其中依赖于时间的学习率定义:
  5. 迭代,继续回到步骤2,直到特征映射区域稳定。

迭代结束之后,每个样本所激活的神经元就是它所对应的类别。

你可能感兴趣的:(机器学习day16自组织映射神经网络)