Advertisement

Python实现SOM聚类算法

阅读量:

算法简介

SOM网络是一种基于竞争型的学习机制的无监督学习模型,在处理高维数据时能够有效地识别数据特征并进行分类;该模型通过非线性变换将输入空间中的数据点映射到输出层上相邻的位置以实现信息的有效组织和存储。

训练过程简述:当接收一批训练样本时,在输出层中每个神经元都会计算输入样本与其所携带权重向量之间的距离。具有最小距离的那个神经元被选为主 competitive unit(BMU)。随后主 competitive unit及其相邻神经元的权重向量将被更新以便使这些权重向量与当前输入样本的距离得到缩减。这一过程将不断重复直至达到收敛状态。

复制代码
    网络结构:输入层和输出层(或竞争层),如下图所示。
    输入层:假设一个输入样本为X=[x1,x2,x3,…,xn],是一个n维向量,则输入层神经元个数为n个。
    输出层(竞争层):通常输出层的神经元以矩阵方式排列在二维空间中,每个神经元都有一个权值向量。
    假设输出层有m个神经元,则有m个权值向量,Wi = [wi1,wi2,....,win], 1<=i<=m。
这里写图片描述
复制代码

全部评论 (0)

还没有任何评论哟~