关闭

LVQ学习向量量化神经网络

标签: LVQ神经网络竞争学习 监督式
4433人阅读 评论(1) 收藏 举报
分类:

版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/lg1259156776/

本文为转载文章,在转载过程中,我补充了LVQ1、LVQ2算法的具体步骤


在竞争网络结构的基础上,学习向量化(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网络一种有监督形式的扩展,两者有效结合可更好地发挥竞争学习和有监督学习的优点。


网络结构
LVQ神经网络有三层组成:输入层,竞争层,线性输出层


连接方式
输入层与竞争层之间采用全连接的方式,竞争层与线性输出层之间采用部分连接的方式。竞争层神经元个数总是大于线性输出层神经元个数,每个竞争层神经元只与一个线性输出层神经元相连接且连接权值恒为1。但是,每个线性输出层神经元可以与多个竞争层神经元相连接。竞争层神经元与线性输出层神经元的值只能是1或0。
当某个输入模式被送至网络时,与输入模式距离最近的竞争层神经元被激活,神经元的状态为“1”,而其他竞争层神经元的状态均为“0”。因此,与被激活神经元相连接的线性输出层神经元状态也为“1”,而其他线性输出层神经元的状态均为“0”


LVQ1算法
基本步骤为:

  1. 化输入层与竞争层之间的权值W_ij及学习率η(η>0)。
  2. 将输入向量送入到输入层,并计算竞争层神经元与输入向量的距离:
5
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

LVQ(Learning Vector Quantization)神经网络概述

LVQ(Learning Vector Quantization)神经网络是一种用于训练竞争的有监督学习方法的输入向前神经网络,其算法是从Kohonen竞争算法演化而来的。LVQ神经网络在模式识别和优...
  • baidu_36669549
  • baidu_36669549
  • 2017-02-19 16:44
  • 1441

LVQ神经网络的分类

%% 清空环境变量 clear all clc warning off %% 导入数据 load data.mat a=randperm(569); Train=data(a(1:500),:); T...
  • qq_18343569
  • qq_18343569
  • 2015-08-01 21:04
  • 1006

LVQ神经网络的应用

  • 2010-12-14 19:35
  • 1KB
  • 下载

LVQ学习向量量化网络

一、学习向量量化        LVQ神经网络是一种混合网络,通过有监督及无监督的学习来形成分类。        在LVQ网络中,第一层的每个神经元都制定给某给类,常常几个神经元被制定给同一类,每...
  • pmt123456
  • pmt123456
  • 2016-09-16 13:14
  • 1939

[ML]聚类之学习向量量化LVQ

LVQ,Learning Vector Quantization,学习向量量化LVQ需要数据样本带有类别标记,学习过程中需要利用这些监督信息来辅助聚类。 接受代标记的数据集D D和原型向量个数k k...
  • only2cyq
  • only2cyq
  • 2017-04-04 19:51
  • 2213

白话机器学习算法(十三)LVQ

LVQ网络(Learning Vector Quantization)是前面说的SOM的一个变种,但是学习方法仍然是Kohonen的竞争方法,说他是变种,因为这个算法是一种有监督的方法。 单看他的名字...
  • wangxin110000
  • wangxin110000
  • 2014-03-30 19:16
  • 3064

LVQ学习矢量量化

LVQ神经网络及LVQ3算法matlab实现
  • cxf7394373
  • cxf7394373
  • 2011-05-06 17:03
  • 6237

聚类算法——python实现学习向量量化(LVQ)算法

算法思想学习向量量化算法和K均值算法类似,是找到一组原型向量来聚类, 每一个原型向量代表一个簇,将空间划分为若干个簇,从而对于任意的样本,可以将它划入到与它距离最近的簇中。特别的是LVQ假设数据样本带...
  • u014028027
  • u014028027
  • 2017-05-13 13:50
  • 1243

学习矢量量化(LVQ)

一 自组织竞争神经网络 net=newc([0 1;0 1],2) 1. 网络结构 单层神经元网络 输入节点与输出节点之间全互联 竞争是神经元之间的竞争;当神经元赢时,该神经元输出为1,否则为...
  • hejun_haitao
  • hejun_haitao
  • 2015-09-08 08:48
  • 966

学习矢量量化程序以及算法详解(KMEANS+、KOHONEN+、LVQ+、SOFM)

  • 2010-03-16 15:53
  • 130KB
  • 下载
    个人资料
    • 访问:26970次
    • 积分:359
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:18篇
    • 译文:0篇
    • 评论:12条
    最新评论