1 / 15

2.7 学习向量量化神经网络模型与学习算法

2.7 学习向量量化神经网络模型与学习算法. 2.7.1 LVQ 神经网络结构. 学习向量量化 LVQ(Learning Vector Quantization) 神经网络,属于前向 有监督 神经网络类型,在模式识别和优化领域有着广泛的的应用 由芬兰学者 Teuvo Kohonen 提出

saxon
Download Presentation

2.7 学习向量量化神经网络模型与学习算法

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2.7学习向量量化神经网络模型与学习算法

  2. 2.7.1 LVQ神经网络结构 • 学习向量量化LVQ(Learning Vector Quantization)神经网络,属于前向有监督神经网络类型,在模式识别和优化领域有着广泛的的应用 • 由芬兰学者Teuvo Kohonen提出 • LVQ神经网络由输入层、隐含层和输出层三层组成,输入层与隐含层间为完全连接,每个输出层神经元与隐含层神经元的不同组相连接。隐含层和输出层神经元之间的连接权值固定为1。在网络训练过程中,输入层和隐含层神经元间的权值被修改。当某个输入模式被送至网络时,最接近输入模式的隐含神经元因获得激发而赢得竞争,因而允许它产生一个"1",而其他隐含层神经元都被迫产生"0"。与包含获胜神经元的隐含层神经元组相连接的输出神经元也发出"1",而其他输出神经元均发出"0"。

  3. 2.7.1 LVQ神经网络结构

  4. 2.7.2 LVQ神经网络的学习算法 • LVQ1算法具体步骤如下: • (1)网络初始化 • 用较小的随机数设定输人层和隐含层之间的权值初始值。 • (2)输入向量的输入 • 将输人向量 送入到输入层。 • (3)计算隐含层权值向量与输入向量的距离 • 隐含层神经元和输入向量的距离,与自组织化映射的情况相同,由下式给出:

  5. 2.7.2 LVQ神经网络的学习算法 • (4)选择与权值向量的距离最小的神经元 • 计算并选择输入向量和权值向量的距离最小的神经元,并把其称为胜出神经元,记为 。 • (5)更新连接权值 • 如果胜出神经元和预先指定的分类一致,称为正确分类,否则称为不正确分类。正确分类和不正确分类时权值的调整量分别使用公式2-3、2-4: • (6)判断是否满足预先设定的最大迭代次数,满足时算法结束,否则返回2,进入下一轮学习。 (2-3) (2-4)

  6. 2.7.2 LVQ神经网络的学习算法 • LVQ2算法 • (1)~(4)与LVQl算法相同 • (5)更新连接权值 • 如果胜出神经元1属于正确分类时,则权值更新与LVQ1的情况相同,根据式(2-3)进行权值的更新。当胜出神经元1属于不正确分类时,则另选取一个神经元2,它的权值向量和输入向量的距离仅比胜出神经元1大一点,且满足以下条件时时: • 1)神经元2属于正确分类; • 2)神经元2、胜出神经元1与输入向量之间的距离的差值很小。 • 则胜出神经元1的权值改变量按公式2-3计算,而神经元2的权值改变量则按公式 (2-3)进行计算。 • (6)判断算法是否结束 • 如果迭代次数大于预先设定的次数,算法结束,否则返回第(2)步,进入下一轮学习

  7. 2.7.3 LVQ神经网络学习算法的MATLAB实现 • MATLAB中与LVQ相关的重要函数和功能

  8. 2.7.3 LVQ神经网络学习算法的MATLAB实现 • newlvq() • 功能 建立一个向量量化神经网络函数 • 格式 • (1) net = newlvq • (2) net = newlvq(PR,S1,PC,LR,LF) • 说明 式(1)返回一个没有定义结构的空对象,并显示函数nntool的帮助文字;式(2)中,net为生成的学习向量量化网络;PR为一个Rx2维的网络输入向量取值范围的矩阵[Pmin Pmax];Sl表示隐含层神经元的数目;PC表示在第二层的权值中列所属类别的百分比;LR表示学习速率,默认值为0.01;Lf表示学习函数,默认值为learnlv1。

  9. 2.7.3 LVQ神经网络学习算法的MATLAB实现 • ind2vec() • 功能 将下标矢量变换成单值矢量组函数 • 格式 vec = ind2vec(ind) • 说明 ind为包含n个下标的行向量x;vec为m行n列的向量组矩阵,矩阵中的每个向量i,除了由x中的第i个元素指定的位置为l外,其余元素均为0,矩阵的行数m等于x中最大的下标值。 (1,1) 1 (1,2) 1 (1,3) 1 (2,4) 1 (2,5) 1 (2,6) 1 (2,7) 1 (1,8) 1 (1,9) 1 (1,10) 1 C=[1 1 1 2 2 2 2 1 1 1]

  10. 2.7.3 LVQ神经网络学习算法的MATLAB实现 • learnlv1() • 功能 LVQ1权值学习函数 • 格式 • [dW,LS] = learnlv1(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) • 说明 dW为S*R权值(或阈值)变化矩阵;LS为当前学习状态(可省略);W为S*R的权值矩阵或者为S*1的阈值矢量;P为R*Q的输入矢量或者为1*Q的全为1的矢量;Z为S*Q的输入层的权值矢量(可省略);N为S*Q的网络输入矢量(可省略);A为S*Q的输出矢量;T为S*Q的目标输出矢量(可省略);E为S*Q误差矢量 (可省略);gW为S*R的与性能相关的权重梯度矩阵(可省略);gA为S*Q的与性能相关的输出梯度值矩阵(可省略);D为S*S的神经元距离矩阵(可省略);LP为学习参数,该函数的学习参数由LP.lr构成,缺省值为0.01;LS为学习函数声明(可省略)。

  11. 2.7.3 LVQ神经网络学习算法的MATLAB实现 • plotvec() • 功能 用不同颜色绘制矢量的函数 • 格式 plotvec(X,C,M) • 说明 X为一个列矢量矩阵;C为标记颜色坐标的行矢量;M为指定绘图时矢量的标记符号,缺省值为‘+’

  12. 2.7.3 LVQ神经网络学习算法的MATLAB实现 • 例2-6 针对一组输入向量,设计一个LVQ神经网络,经过训练后,能对给定数据进行模式识别。

  13. 例2-6运行结果 测试数据分类结果

  14. 2.7.3 LVQ神经网络学习算法的MATLAB实现 • 例2-6训练误差曲线

  15. 小结 • LVQ神经网络结构 • LVQ1学习算法 • LVQ2学习算法及特点 • LVQ神经网络学习算法的MATLAB实现 • LVQ神经网络应用示例 • LVQ神经网络与SOM神经网络的区别

More Related