老饼讲解-神经网络 机器学习 神经网络 深度学习
SOM神经网络

【原理】SOM神经网络-网络拓扑图

作者 : 老饼 发表日期 : 2023-03-14 11:47:01 更新日期 : 2023-10-17 10:10:28
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com



本文展示SOM神经网络的拓扑图,和模型的数学表达式

通过本文可以更具体形式的掌握SOM神经网络模型是什么



  01.  SOM神经网络的拓扑图  



本节讲解SOM神经网络的拓扑图及其意义



     SOM神经网络拓扑图     


SOM神经网络是典型的三层神经网络
  SOM的网络拓扑图如下:
 
 
第一层是输入层,第二层是隐层,第三层是输出层

 关于隐节点的意义
隐节点的意义就是聚类中心点                           
 有多少个隐节点就代表有多少个聚类中心点
隐节点的权重就是聚类中心点的位置                 
 
 关于输出层的意义
输出层是one-hot格式(即[0 0 0 1]这样的格式)
它的节点个数与隐层节点个数一致,并与隐节点一一对应
它的值由隐层节点竞争得到,
 即隐层节点哪个值最大,对应的输出节点就为1,其余为0





    带拓扑结构的SOM神经网络拓扑图    


往往还会把隐层节点之间的拓扑结构一起画上,
 则SOM的网络拓扑图会如下:
  
✍️特别说明
 输出节点之间的拓扑结构对于最终模型的应用是没有任何影响的
拓扑结构只是在训练过程中需要使用
换句话说,节点之间的那些拓扑连结在应用时是不存在的
由于我们往往看到的基本都是带隐节点拓扑结构的网络拓扑图
很容易产生误会,以为隐层节点间相互连接
其实隐节点的拓扑图只在训练阶段用于获取邻域节点,与最终的模型并没有任何关系







  02.  SOM神经网络的数学表达式   



本节讲解SOM神经网络模型的数学表达式

通过数学表达式,更直接的了解SOM神经网络的模型是什么



   SOM神经网络的模型表达式  


SOM的模型数学表达式为:
 

 
其中, 
dist :欧氏距离函数
compet :竞争函数 
 dist和compet的具体讲解见下面例子
✍️如何理解SOM神经网络的模型表达式
简单来说,就是x离哪个聚类中心(即W的每一行)最近,就为1,其余为0




    dist 和compet函数的计算例子   


dist的计算举例 
dist为欧氏距离函数
例如,2输出3隐节点时
 ,
 则: 
  
 
 compet的计算举例 
 
 compet 为竞争函数
它将向量最大的值置为1,其余置0
例如,compet([ 2 5 3 ]) = [ 0 1 0 ]  









  End  





联系老饼