# SOM-算法原理

写在前面

近期看到一篇论文,其中有一个无监督聚类方法叫做SOM(self-organizing maps,自组织映射),这就来学习一下

正餐开始

SOM,自组织映射(当然也有人将其称为自组织神经网络的,也有人称为自组织竞争网络的),和通常意义上的神经网络略有不同,在应用的过程中更倾向于K-means算法。其训练过程有点像K-means中寻找聚类中心的过程。
在这里插入图片描述
整个模型的主要作用:降维+演示(即可视化展示数据的分布特性)

主要的功能还是数据可视化,后面的聚类分类等精度要差一些

点之间距离越近,两者关系越近,反之越远

训练目的:
一个输入(下面的所有输入层)映射到一个节点上(如X1,X2)
我们希望的就是想让我们学习到的权重W,在映射的时候能够满足这种效果:让相近的如X1、X2隔得较近,那么映射节点也相应的隔得近(或是映射到同一节点上)
在这里插入图片描述
ij用来表示节点的位置,Wij是一个D维的矢量特征(即与下面节点数相对应)

模型训练过程

在这里插入图片描述
权重初始化:
输出层的每一个节点用D维的矢量来进行表征,总共有X × Y个节点,每个节点是D维,所以最终W的维度为X × Y × D

竞争:
找到激活点后,开始进行周边点权重的计算
在这里插入图片描述
权重更新:
目的是为了让激活点和输入的点进行逼近,结合前述权重计算, 激活点与输入点进行逼近,激活点临近点也要和输入点进行逼近。

具体细节

在这里插入图片描述
节点权重有2种方法,一种是高斯的方法,其图像是一个钟形结构(大概就像这样),距离越大,权重越小
在这里插入图片描述
第二种是硬阈值的方法,方块之内(如围着激活点的田字格)都是1,其余地方都是0。

总结

这就是SMO的理论部分,接下来看看能否进行代码实现。

220416补充

今天在工作室的一本书上看到了关于SOM的介绍,还比较全面,拍照下来便于以后参阅:
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人生苦短我愛Python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值