竞争神经网络原理
来源:互联网 发布:js的arguments例子 编辑:程序博客网 时间:2024/06/05 15:48
竞争学习神经网络原理
生物学原理:
在人眼的视网膜中存在一种侧抑制现象,即一个神经细胞兴奋后,会对周围的神经细胞产生抑制作用。这种侧抑制使神经细胞之间呈现出竞争,开始可能多个细胞同时兴奋,但兴奋程度最强的神经细胞对周围的神经细胞的抑制作用也越强,其结果使周围神经细胞的兴奋度减弱,从而该神经细胞是这次竞争的胜者。
竞争学习神经网络:
如下图为一个竞争学习神经网络的结构:
其中Xi(i=1,2...n)为输入模式,Wij为m行n列的权值矩阵矩阵,cj(j=1,2,3...m)为输出
在竞争学习策略采用的典型学习规则为胜者为王。该算法可分为3个步骤:
1.向量归一化
首先将自组织网络中的当前输入模式X和权值W1j,W2j,W3j…Wnj(j=1,2,3…m)归一化.
得到X^,Wi^(i=1,2,3…n).归一化方法为:
2.寻找优胜神经元:
当网络得到一个输入模式时,竞争层所有的神经元对应的权值向量Wj^(i=1,2,3...m)均与X^进行比较,将与X^最为相似的Wi^判定为获胜神经元。测量相似性的方法是对Wi^与X^计算欧式距离(或夹角余弦)。
1.欧式距离:
因此要使单位向量的欧式距离最小,只需两向量的点积最大:
max :Wj^*X^(j=1,2,3...m)
3.网络输出与权值调整:
获胜神经元的输出c为1,其余为0.即为:
oj=1 where Wj^*X^ is max else 0
只有获胜神经元才能调整权值Wj^:
Wj=Wj^+a*(X^-Wj^)(调整权值)
Wj^=Wj/||Wj|| (重新归一化)
式子中 a:[0,1]为学习率,一般其值随着学习的进展而减小。
步骤3完成后,重复1,2,3,直到a衰减为0
原理:
设输入模式为二维向量,归一化后其矢端可以认为在单位圆上的点,设竞争层有两个神经元。归一化后的W也为单位圆上的点,从输入到输出可以看出其大体上分为两个簇。当向网络输入X,获胜的W的方向会不断调整,最终W会稳定如图:
.
从而模式X被分为两类W1,W2.
以下是github的python源代码:
https://github.com/Masksky/competitive-network
- 竞争神经网络原理
- 竞争神经网络
- 竞争神经网络
- Matlab神经网络竞争传递函数compet
- 广义回归神经网络GRNN ,竞争神经网络,自组织映射神经网络
- 神经网络原理
- 神经网络学习笔记(七) 自组织竞争神经网络
- 人工神经网络学习笔记_Hamming网络_竞争网络
- 数学建模高级方法(七):自组织竞争神经网络
- 竞争学习的基本概念和原理
- 竞争
- 竞争
- 竞争
- 竞争
- 竞争
- BP神经网络 原理 心得
- BP神经网络算法原理
- BP神经网络原理推导
- 常用的sql语句
- 基于C均值算法简单分类(matlab实现)
- 贝叶斯网络结构学习之MCMC算法(基于FullBNT-1.0.4的MATLAB实现)
- 博客前言
- 升级Fedora
- 竞争神经网络原理
- [译]python中的global和nonlocal的实践
- 封装BaseActivity
- windows命令行使用gcc编译.c/.cpp文件
- redis集群创建时报错:Sorry, can't connect to node
- 记录代码
- Oracle中快速删除某个用户下的所有表数据
- VirtualBox中的Centos安装增强功能包VBoxLinuxAdditions和共享本机文件夹
- Android 进阶之路:常见设计模式之适配器模式