开发者学堂课程【神经网络概览及算法详解:学习向量量化神经网格】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/40/detail/936
学习向量量化神经网格
内容介绍:
一、学习向量量化神经网格
二、LVQ的神经网络
三、LVQ的网络结构
四、LVQ的学习算法
一、学习向量量化神经网格
学习向量量化神经网格是由Kohonen教授提出,是在竞争网络基础上考虑将无监学习和有监学习相结合的新算法。学习向量量化神经网格又称为Learning Vector Quantization简称LVQ。
量化概念:通常针对标量,针对数字。
在数字信号处理领域,是指将信号的连续取值,近似为有限个离散值的过程。既为对连续的数字进行离散化。向量量化就是对标量量化的扩展,更适合于高维数据。向量量化思路为:在高维输入空间,分成多个不同的区域,每个区域指定一个中心向量,相当于指定一个聚类中心,当输入映射到该区域中,认为可使用中心向量既聚类中心代表该数据,最终结果形成以中心向量为聚类中心的集合。这是LVQ的核心思想。
二、LVQ的神经网络
假设将高维数据映射到二维输入平面上,该算法和之前的Winner-Take-All既胜者为王和SOFM算法比较接近。都是使用少量的聚类中心表示原始数据,但使用SOFM时,思考16种动物聚类的例子,聚类结果:聚类中心对应的向量具有某种相似特征,一般的向量量化中不具备这种特点。
LVQ一般做法:
第一步,聚类;通过自组织映射进行聚类。既先确定聚类中心,既为中心向量。
第二步,使用学习量化学习向量量化;通过有监督方法,利用教师信号,一般有监督就有教师信号,既为预计输出与实际输出的差,作为分类信息对权值进行调整,指定输出神经元的列表。实际是分为两步,根据实际网络的top结构观察。
三、LVQ的网络结构
网络结构特点:
分为三层。SOFM时为两层,SOFM到竞争层就没有输出层,竞争获胜得神经元获得相关邻域的竞争层,有输出结果直接输出,不存在输出层。对于LVQ来说,有三层。
输入层,竞争层,输出层。输入层和竞争层之间为全链接,每一个输出节点都会连接到所有竞争层的神经元中。竞争层是分组的,分有不用组,每组之间的神经元是相互连接的,组和组之间是没有链接的。相当于在竞争层相当于已聚过类,每一个竞争层的输出相当于输入样本,假设输入样本进入,激活竞争层1,输出O1,认为该样本和y1组的中心向量相近,就用y1组的中心向量代表当前的输入样本。每一个竞争层的节点对应一个输出进入,一组对应一个。竞争层到输出层的权重固定为1,即输出或不输出,只有一组输出。输入层到竞争层权重较多,需要更新。竞争层的学习规则是胜者为王WTA。竞争层的胜者输出为1,其余为0。
四、LVQ的学习算法
输入向量记作X,为n维的向量。
竞争层的输出记作Y,分为m组,每组有几个神经元。
输出层的输出记作O,有L个输出,分为L类。
网络期望输出记作D,为L个。
输入层到竞争层的权重记作W(1),由一组W代表。
竞争层到输出层的权重记作W(2),注意:该权重为1或者为0。
W(2)权重中,对于y1组,都为输出。假设y1输出,其余组输出为0。
具体的学习算法
初始化:给予输入层到竞争层的权重赋予初始值,确定初始学习速率,和训练次数T。
输入样本向量:输入X。
寻找获胜神经元:使用Winner-Take-All算法,即为找到输出值和权重最接近的记录,即为获胜神经元,记作j*。使用输入减去权重,最小值即为所取值,既其输出最大。
其满足以下条件:
权重调整:得到获胜神经元后,判断其分类,即为确认中心向量。后续调整
实际为调整能代表竞争层每组的中心向量,中心向量确定后,接着寻找输入样本。如果输入样本经过竞争层竞争,指定一个输出,观察样本最终输出与计划输出是否一致。即为分类是否正确。假设分类正确表明方向正确,继续向输入样本方向调整权重。按照新权重等于现在的权重加上学习率乘以即为输入向量与权重的差。
如果不一致,即为分类错误,方向错误,需按照背离输入样本的方向调整权重,既不在这一类,去另一类。新权重等于原来的减n乘以,
更新学习速率:
判断是否满足输出条件,如果不满足继续训练。
在调整寻找获胜神将元时在寻找中心向量,通过不断训练,中心向量越来越明确,既竞争组之间的区别越来越明显,最终形成固定的几类。
和
为通过有监的学习,使用样本和最终期望的结果进行比较,更新W。通过两个学习方式叠加,可以得到分类性能较好的算法。
这是非常典型的有监督学习和无监督学习相结合的算法。