代码改变世界

学习向量量化神经网络

2017-05-08 13:08  tlnshuju  阅读(2925)  评论(0编辑  收藏  举报

在竞争网络结构的基础上,学习向量化(learning vector quantization,LVQ)网络被提出来。融合竞争学习思想和有监督学习算法的特点,通过教师信号对输入样本的分配类别进行规定,从而克服自组织网络採用无监督学习算法带来的缺乏分类信息的弱点。

1.    向量量化

向量量化的思路是,将高维输入空间分成若干不同的区域。对每一个区域确定一个中心向量作为聚类的中心。与其处于同一区域的输入向量可用该中心向量来代表。从而形成了以各中心向量为聚类中心的点集。在图像处理领域经常使用各区域中心点(向量)的编码取代区域内的点来存储或传输。从而提出了各种基于向量量化的有损压缩技术。

在二维输入平面上表示的中心向量分布称为Voronoi图。例如以下图所看到的,前两篇博文介绍的胜者为王的学习规则以及SOFM竞争学习算法都是一种向量量化算法。能用少量聚类中心表示原始数据,从起到数据压缩作用。但SOFM的各聚类中心相应的向量具有某种相似的特征,而一般向量量化的中心不具有这样的相似性。


自组织映射能够起到聚类作用。但无法直接分类或识别,因此它仅仅是自适应解决模式分类问题两步中的第一步。

且让我把第二步:学习向量量化,採用监督机制。在训练中增加教师信号作为分类信息对权值进行细调,并对输出神经元预先指定其类别。

2.    LVQ网络结构与工作原理

结构例如以下图所看到的:


竞争层有m个神经元,输入层有n个神经元,两层之间全然连接。输出层每一个神经元仅仅与竞争层中的一组神经元连接,连接权重固定为1,训练过程中输入层和竞争层之间的权值逐渐被调整为聚类中心。当一个样本输入LVQ网络时,竞争层的神经元通过胜者为王学习规则产生获胜神经元。容许其输出为1。其他神经元输出为0。与获胜神经元所在组相连的输出神经元输出为1,而其他输出神经元为0,从而给出当前输入样本的模式类。将竞争层学习得到的类成为子类。而将输出层学习得到的类成为目标类。

3.    LVQ网络学习算法

LVQ网络的学习规则结合了竞争学习规则和有导师学习规则,所以样本集应当为{(xi,di)}。

当中di为l维,相应输出层的l个神经元,它仅仅有一个分量为1,其它分量均为0。

通常把竞争层的每一个神经元指定给一个输出神经元,相应的权值为1,从而得到输出层的权值。

比方某LVQ网络竞争层6个神经元,输出层3个神经元,代表3类。若将竞争层的1,3指定为第一个输出神经元,2。5指定为第二个输出神经元,3,6指定为第三个输出神经元。则竞争层到输出层的权值矩阵为:


训练前预先定义好竞争层到输出层权重,从而指定了输出神经元类别,训练中不再改变。网络的学习通过改变输入层到竞争层的权重来进行。依据输入样本类别和获胜神经元所属类别,可推断当前分类是否正确。

若分类正确。则将获胜神经元的权向量向输入向量方向调整。分类错误则向相反方向调整。例如以下图所看到的:


LVQ网络学习算法的过程例如以下:

(1)   初始化。竞争层各神经元权值向量随机赋值小随机数。确定初始学习速率和训练次数。

(2)   输入样本向量。

(3)   寻找获胜神经元。

(4)   依据分类是否正确依照不同规则调整获胜神经元的权值:当网络分类结果与教师信号一致时,向输入样本方向调整权值:


当网络分类结果与教师信号不一致时,向输入样本反方向调整权值:


其它非获胜神经元权值保持不变。

(5)   更新学习速率


(6)   当训练次数未达到设定的次数时,转到步骤(2)输入下一个样本。反复各步骤直到达到设定训练次数为止。

上述训练过程中,要保证η(t)为单调下降函数。

总结

LVQ网络是SOFM网络一种有监督形式的扩展。两者有效结合可更好地发挥竞争学习和有监督学习的长处。