您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 学习向量量化(LVQ)神经网络简述
案例背景LVQ神经网络概述学习向量量化(I。earningVectorQuantization,Lvo)神经网络是一种用于训练竞争层的有监督学习(supervisedlearning)方法的输入前向神经网络,其算法是从Kohonen竞争算法演化而来的。LVQ神经网络在模式识别和优化领域有着广泛的应用。1.LVQ神经网络的结构LVQ神经网络由3层神经元组成,即输入层、竞争层和线性输出层,如图26-1所示。输入层与竞争层之间采用全连接的方式,竞争层与线性输出层之间采用部分连接的方式。竞争层神经元个数总是大于线性输出层神经元个数,每个竞争层神经元只与一个线性输出层神经元相连接且连接权值恒为1。但是,每个线性输出层神经元可以与多个竞争层神经元相连接。竞争层神经元与线性输出层神经元的值只能是1或O。当某个输入模式被送至网络时,与输入模式距离最近的竞争层神经元被激活,神经元的状态为“1”,而其他竞争层神经元的状态均为“0”。因此,与被激活神经元相连接的线性输出层神经元状态也为“1”,而其他线性输出层神经元的状态均为“O”。图-学习向量量化网络图26-1中,p为R维的输入模式;S1为竞争层神经元个数;I𝐖1.1为输入层与竞争层之间的连接权系数矩阵;n1为竞争层神经元的输入;a1为竞争层神经元的输出;L𝑾2.1为竞争层与线性输出层之间的连接权系数矩阵;n2为线性输出层神经元的输入;a2为线性输出层神经元的输出。2.LVQ神经网络的学习算法LVQ神经网络算法是在有教师状态下对竞争层进行训练的一种学习算法,因此Lvo算法可以认为是把自组织特征映射算法改良成有教师学习的算法。LVQ神经网络算法可分为ILVQ1算法和LVQ2算法两种。(1)LVQ1算法向量量化是利用输入向量的固有结构进行数据压缩的技术,学习向量量化是在向量量化I基础上能将输入向量分类的监督学习技术。Kohonen把自组织特征映射算法改良成有教师l学习算法,首先设计了LVQ1算法。LVQ1的训练过程开始于随机地自“标定”训练集合选I择一个输入向量以及该向量的正确类别。ILVQ1算法的基本思想是:计算距离输入向量最近的竞争层神经元,从而找到与之相连I接的线性输出层神经元,若输入向量的类别与线性输出层神经元所对应的类别一致,则对应的I覆竞争层神经元权值沿着输入向量的方向移动;反之,若两者的类别不一致,则对应的竞争层神l翟经元权值沿着输入向量的反方向移动。基本的LVQ1算法的步骤为:步骤1:初始化输入层与竞争层之间的权值𝑤𝑖𝑗及学习率η(η0)。𝑥1步骤2:将输入向量X=(𝑥1,𝑥2,…,𝑥𝑅)𝑇送入到输入层,并计算竞争层神经元与输入向量的距离:𝑑𝑖=∑(𝑥𝑗−𝑤𝑖𝑗)2𝑅𝑗=1𝑖=1,2,3,…,𝑆1式中,𝑤𝑖𝑗为输入层的神经元j与竞争层的神经元i之间的权值。步骤3:选择与输入向量距离最小的竞争层神经元,若𝑑𝑖最小,则记与之连接的线性输出层神经元的类标签为𝐶𝑖。步骤4:记输入向量对应的类标签为𝐶𝑥,若𝐶𝑖=𝐶𝑥,则用如下方法调整权值:𝑤𝑖𝑗_𝑛𝑒𝑤=𝑤𝑖𝑗_𝑛𝑒𝑤+η(x−𝑤𝑖𝑗_𝑜𝑙𝑑)否则,按如下方法进行权值更新:𝑤𝑖𝑗_𝑛𝑒𝑤=𝑤𝑖𝑗_𝑛𝑒𝑤−η(x−𝑤𝑖𝑗_𝑜𝑙𝑑)(2)LVQ2算法在LVQ1算法中,只有一个神经元可以获胜,即只有一个神经元的权值可以得到更新调整。为了提高分类的正确率,Kohonen改进了LVQ1,并且被称为新版本LVQ2。LVQ2算法基于光滑的移动决策边界逼近Bayes极限。LVQ2版本接着被修改,产生Lv02.1,并且最终发展为LVQ3。这些后来的LVQ版本的共同特点是引入了“次获胜”神经元,获胜神经元的权值向量和“次获胜”神经元的权值向量都被更新。具体计算步骤如下:步骤1:利用LVQ1算法对所有输入模式进行学习。步骤2:将输入向量X=(𝑥1,𝑥2,…,𝑥𝑅)𝑇送人到输入层,并根据步骤2式子计算竞争层与输入向量的距离。步骤3:选择与输入向量距离最小的两个竞争层神经元i,j。步骤4:如果神经元i和神经元J满足以下两个条件:①神经元i和神经元J对应于不同的类别;②神经元i和神经元j与当前输入向量的距离d.和dj满足式:Min{𝑑𝑖𝑑𝑗,𝑑𝑗𝑑𝑖}ρ其中,ρ为输入向量可能落进的接近于两个向量中段平面的窗口宽度,一般取2/3左右。则有①若神经元i对应的类别𝐶𝑖与输入向量对应的类别𝐶𝑥,一致,即𝐶𝑖=𝐶𝑥,则神经元i和神经元j的权值按如下方法进行修正。𝑤𝑖𝑛𝑒𝑤=𝑤𝑖𝑜𝑙𝑑+𝑎(x−𝑤𝑖𝑜𝑙𝑑)𝑤𝑗𝑛𝑒𝑤=𝑤𝑗𝑜𝑙𝑑−𝑎(x−𝑤𝑗𝑜𝑙𝑑)②神经元j对应的类别𝐶𝑗与输入向量对应的类别𝐶𝑥,一致,即𝐶𝑗=𝐶𝑥则神经元j的权值按如下方法进行修正。𝑤𝑖𝑛𝑒𝑤=𝑤𝑖𝑜𝑙𝑑−𝑎(x−𝑤𝑖𝑜𝑙𝑑)𝑤𝑗𝑛𝑒𝑤=𝑤𝑗𝑜𝑙𝑑+𝑎(x−𝑤𝑗𝑜𝑙𝑑)步骤5:若神经元i和神经元J不满足步骤4中的条件,则只更新距离输入向量最近的神经元权值,更新公式与LVQ1算法中步骤4相同。3.LVQ神经网络特点竞争层神经网络可以自动学习对输入向量模式的分类,但是竞争层进行的分类只取决于输入向量之间的距离,当两个输入向量非常接近时,竞争层就可能将它们归为一类。在竞争层的设计中没有这样的机制,即严格地判断任意的两个输入向量是属于同一类还是属于不同类。而对于LVQ网络用户指定目标分类结果,网络可以通过监督学习完成对输入向量模式的准确分类。与其他模式识别和映射方式相比,LVQ神经网络的优点在于网络结构简单,只通过内部单元的相互作用就可以完成十分复杂的分类处理,也很容易将设计域中的各种繁杂分散的设计条件收敛到结论上来。而且它不需要对输入向量进行归一化、正交化处理,只需要直接计算输入向量与竞争层之间的距离,从而实现模式识别,因此简单易行。4LVQ网络的神经网络工具箱函数MATLAB的神经网络工具箱为Lvo神经网络提供了大量的函数工具,本节将详细介绍这些函数的功能、调用格式和注意事项等问题。4.1LVQ网络创建函数newlvq()函数用于创建一个学习向量量化Lvo网络,其调用格式为:net=newlvq(PR,Sl,PC,IR,LF)其中,PR为输入向量的范围,size(PR)一[R2],R为输入向量的维数;Sl为竞争层神经元的个数;PC为线性输出层期望类别各自所占的比重;LR为学习速率,默认值为0.01;LF为学习函数,默认为“learnlvl”。4.2LVQ网络学习函数1.LVQ1学习算法learnlvl是LVQ1算法对应的权值学习函数,其调用格式为:[dW,LS]-learnlvl(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)其中,dW为权值(或阈值)变化矩阵;LS为当前学习状态(可省略);W为权值矩阵或者是阈值矢量;P为输入矢量或者是全为1的矢量;Z为输入层的权值矢量(可省略);N为网络的输入矢量(可省略);A为网络的输出矢量;T为目标输出矢量(可省略);E为误差矢量(可省略);gW为与性能相关的权值梯度矩阵(可省略);gA为与性能相关的输出梯度矩阵;D为神经元的距离矩阵;LP为学习参数,默认值为0.01;LS为初始学习状态。2.LVQ2学习算法learnlv2是Lv02算法对应的权值学习函数,其调用格式为:[dW,LS]=learnlv2(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)其参数意义与learnlvl中的参数意义相同,只是权值调整的方法不同,在开始中已详细描述,此处不再赘述。
本文标题:学习向量量化(LVQ)神经网络简述
链接地址:https://www.777doc.com/doc-7372943 .html