SOM自组织神经网络是神经网络的一种。个人感觉属于仿生学的一种方法。这种网络是基于生理学和脑科学研究成果提出的。与前向神经网络不同,它是一种无监督的学习。适用于数据聚类。
应用:数据聚类,数据降维(如映射高维数据到2维平面)
SOM自组织神经网络是两层结构,包括输入层和竞争层。为什么要用这种结构?因为Kohonen根据生理学的发现,认为神经网络在接受外界输入时,将会分成不同的区域,不同的区域对不同的模式具有不同的响应特征。如下图,人对猫和狗的概念储存在不同区域。
图1. SOM自组织神经网络结构
训练:输入层是输入样本的特征,通过不断地将所有样本数据反复输入网络进行训练,最终权值将会趋于稳定。学习方法为竞争学习,详细请见给出的参考文献。
测试:将新的样本输入,比如"猫"的样本,那么在图1中猫的区域内节点的值输出最大,说明正确识别了"猫"。
下面给出网上书上经常能看到的一幅图的说明。
图2. (1)至(8)为不断迭代权值w,计算出输出层的结果
假如输入的数据样本在N为空间上均匀分布(样本点在高维空间呈格子状),初始化时的权重w为随机,那么输出层也是随机的。如图2.(1)。通过不断的迭代修改权值w,输出层慢慢也呈现出均匀格子结构,如(1)-(8)变化。这个例子说明SOM神经网络可以把高维空间映射到平面,从而实现降维。
参考资料:
http://wenku.baidu.com/view/42df9e1c59eef8c75fbfb3b8.html (非常适合初学看,内容详尽,并给了若干例子加深理解)
http://en.wikipedia.org/wiki/Self-organizing_map (维基百科,陈述来龙去脉,稍微有点抽象)
http://www.len.ro/work/som-neural-networks/ (某网友给出的图片聚类实验)
博主e-mail:[email protected]