我们一开始不用知道K个正态分布的参数,也不知道点是由哪个分布生成,在迭代过程中。
先固定当前的正态分布不变,获取每个点由每个数据点生成的概率。然后固定改生成概率不变,根据数据点和生成概率,获取更佳的正态分布,如此循环反复,直至参数收敛。得到合理的一组正态分布。
自组织映射神经网络(Self-Organizing Map,SOM)是无监督学习方法中一类重要方法,可以用作聚类,高维可视化,数据压缩,特征提取等等。亦称Kohonen网络。
自组织映射神经网络本质是两层神经网络,包含输入层和输出层。输入层模接受外界信息输入,输出层神经元个数通常是聚类的个数,代表每一个需要聚成的类。训练时采用“竞争学习”,每个输入的样例在输出层中找到一个和它最匹配的节点,称为激活节点,wonning neuron。
之后采用随机梯度下降法更新激活节点的参数,同时和激活节点临近的点也根据饶命激活节点的远近而适当更新参数。
这样的竞争可以通过神经元之间的横向抑制连接来实现。自组织映射神经网络的输出节点是有拓扑关系的,这个拓扑关系依据需求确定。
假设输入空间是D维,输入模式为
,输入单元i和神经元j之间在计算层的连接权重为
,其中N是神经元的总数。自组织映射神经网络的自组织学习过程可以归纳为以下几个子过程。
其中
表示竞争层神经元i和j之间的距离,
随时间衰减。就是,临近的节点距离越远,更新的程度越小。
其中依赖于时间的学习率定义:
迭代结束之后,每个样本所激活的神经元就是它所对应的类别。
本文分享自 Python与MySQL 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!