竞争学习的基本概念和原理
竞争学习是自组织网络中最常采用的一种学习策略。
一、基本概念
1. 模式、分类、聚类与相似性
2. 相似性测量
3. 侧抑制与竞争
实验表明,当一个神经元细胞兴奋后,会对周围神经元的神经细胞产生抑制作用,使得神经细胞之间出现竞争,开始可能多个细胞兴奋,但是一个兴奋程度最强的神经细胞对周围神经细胞的抑制作用也越强,其结果使得周围神经元细胞兴奋程度减弱,从而该神经元细胞在这次竞争中胜出,其他神经元失败。下图所示的网络在竞争层各神经元之间的虚连接线表明了这种抑制作用。它们是模拟生物神经网络层内神经元相互抑制现象的权值。这类抑制性权值通常满足一定的分布关系,如距离远的抑制作用弱,距离近的抑制作用强。这种权值在学习算法中通常固定。采用的竞争学习方法就是上一篇博文《人工神经网络基础概念、原理知识(补)》中所总结的神经网络三要素之学习中“胜者为王”的方法。
4. 向量归一化
由于不同的模式具有的单位不统一,因此在进行数据处理前,会将模式向量进行规范化(normalization),即单位长度,所以在进行相似性度量时方便计算。比如二维和三维单位向量可以在单位圆和单位球上直观表示。这里单独作为一小节进行描述是为了突出这一点的重要性,因为在机器学习中大部分时候输入模式都是向量,而且通常都会采用normalization进行预处理。
二、竞争学习原理
1. 竞争学习规则
采用的是“胜者为王”的学习规则。分为三个步骤:
(1) 向量归一化
首先将自组织网络中的当前输入模式向量X和竞争层中各神经元对应的内星权向量Wj全部进行归一化处理。
(2)寻找获胜神经元
当网络得到一个输入模式向量X时,竞争层的所有神经元对应的内星权向量均与X进行相似性比较,将与X最相似的内星权向量判为竞争获胜神经元,其权向量记为Wj。测量相似性的方法就按照上面所讲解的方法。
(3) 网络输出与权值调整
胜者为王竞争学习算法规定,获胜神经元输出为1,其余输出为0。只有获胜神经元才有权调整其权向量,调整后权向量为如下图所示:
α∈(0,1]为学习率,一般随着学习的进展而减小。从式中可以看出当竞争失败后,对应的神经元权重就无法进行调节,所谓调节也就是兴奋,没有机会兴奋,所以从原理上模拟了侧抑制与竞争。
注意:归一化后的权向量在调整之后得到的新向量不再是单位向量,因此还需进行单位化。
步骤(3)完成之后回到步骤(1)继续训练,直到学习速率α衰减到0或规定的值。
2. 竞争学习原理
以输入模式为2维,即输入层有两个神经元,而竞争层有四个神经元为例。则输入向量X为二维,而四个竞争层神经元的内星权值也是二维向量。归一化后可以分布在单位圆上的向量进行标示。下面对竞争学习原理进行说明:
用圆圈标示输入模式,用星号标示内星权向量。输入模式点的分布如下图所示:
从它的分布上可以看出大体上聚集为4簇,因而可分为4类。然而自组织网络的训练样本中只提供了输入模式,而没有分类的指导信息,即无监督学习。那么网络如何通过竞争机制自动发现空间的类别划分呢?
自组织网络在开始训练前先对竞争层的权向量进行随机初始化,因此初始状态时,单位圆上的星号是随机分布的。自组织权向量调整如下图所示:
距离当前输入模式最近的那个星号获胜,从获胜神经元的权值调整式子可以看出,调整的结果使得该星号与当前输入模式进一步接近。调整后,获胜的星号位置进一步移向输入模式及其所在的簇。显然,当下次出现与该输入模式相近的同簇内的输入模式时,上次获胜的星号更容易获胜。以此方式经过充分训练后,单位圆上的4个星点会逐渐移入各个输入模式的簇中心,从而使竞争层每个神经元的权向量成为一类输入模式的聚类中心。当向网络输入一个模式时,竞争层中哪个神经元获胜使得输出为1,当前输入模式就归属哪类。
************************
2015-8-14
艺少
相关文章
- 机器学习-推荐系统-协同过滤(基于用户、物品的协同过滤、SVD原理及使用)
- 请问到底如何学习python才好【建议收藏】
- 学习编译原理的步骤
- Hbase 学习(九) 华为二级索引(原理)
- 《Python机器学习——预测分析核心算法》——2.6 多类别分类问题:它属于哪种玻璃
- OC学习篇之---类的初始化方法和点语法的使用
- YOLOV5学习笔记(一)——原理概述
- (数据科学学习手札32)Python中re模块的详细介绍
- hadoop学习之HDFS
- vue学习笔记六:Jquery VS Vue之网络请求明细对照
- 深度学习框架中的“自动求导”原理是什么?
- 基于值函数的强化学习 小例子(策略退化)
- 计算机组成原理学习日记2(定点数和浮点数表示)
- 浅析从axios HTTP 拦截器的设计与实现里学习如何设计通用的任务处理模型(任务注册/任务编排/任务调度)、axios HTTP 适配器的设计与实现、常见CSRF防御措施(检查Referer、同步表单CSRF Token校验、双重Cookie防御)、axios 自带 CSRF 防御的实现原理
- 零基础怎么学习Java技术,需要关注那些问题?
- JSP-Spring4学习笔记(二)bean原理
- 【转】HTTP学习---TCP和UDP协议的区别与应用
- 【转】Python学习---Socket通信原理以及三次握手和四次挥手详解
- 【树莓派4B学习】九、获取mjpeg-stream视频流
- 零基础学前端之网络工作原理--计算机网络原理【学习笔记】
- 全栈JavaScript之路(十)学习 DocumentFragment 类型 节点
- 【集成学习】:Stacking原理以及Python代码实现
- STM32学习笔记(二):GPIO口工作原理
- iOS开发 - 写一个刷新的控件(未封装,适合新手学习,查看原理)
- C# 多线程学习系列二
- MySQL事务学习:ACID实现原理
- 研究性学习专题 3_LL(1)语法分析设计原理与实现
- 编译原理研究性学习专题 2——递归下降语法分析设计原理与实现