matlab实现-LVQ神经网络入门例子

该博客介绍了LVQ神经网络的基本结构和一个简单的MATLAB实现Demo,包括输入层、隐层和输出层的连接方式。LVQ主要用于分类问题,网络结构固定,训练过程涉及学习率和学习函数选择。提供的MATLAB代码展示了如何准备数据、训练网络和进行预测。此外,还详细解释了newlvq函数的参数设置,如输入数据、隐节点数量、连接比例、学习率和学习函数。
摘要由CSDN通过智能技术生成

原创文章,转载请说明原文来自 

《老饼玩转-BP神经网络》http://bp.bbbdata.com


目录

一、LVQ的网络结构简介

二、一个LVQ神经网络入门Demo

三、LVQ参数说明


本文展示matlab工具箱实现LVQ神经网络的一个简单入门实例,并讲解相关的入参说明。

LVQ神经网络是Kohonen于1989年提出基于竞争网络的学习矢量量化网络,主要用于解决分类问题。


一、LVQ的网络结构简介


LVQ的网络结构如下:
它是固定的三层网络,输入层,隐层,与输出层。

其中,

  • (1) 输入层与隐层全连接,
  • (2) 隐层与输出层是部分连接,隐层与输出层的连接权重固定为1。
  • (3) 输出神经元取值只为0或1.

二、一个LVQ神经网络入门Demo


matlab工具箱实现LVQ神经网络的Demo代码

(2014b版matlab实测已跑通):

%代码说明:LVQ的matlab工具箱使用Demo
%来自《老饼讲解神经网络》bp.bbbdata.com ,matlab版本:2014b
%-----------------------------------------------------
%数据准备
P = [-3 -2 -2  0  0  0  0 +2 +2 +3; ...
    0 +1 -1 +2 +1 -1 -2 +1 -1  0];     % 输入数据
Tc = [1 1 1 2 2 2 2 1 1 1];            % 输出类别
T = ind2vec(Tc);                       % 将输出转为one-hot编码(代表类别的01向量)

%网络训练
net = newlvq(P,4,[.6 .4]);   % 建立一个LVQ神经网络
net = train(net,P,T);        % 训练神经网络
%预测
Y = sim(net,P);              % 预测(one-hot形式)
Yc = vec2ind(Y);             % 将one-hot编码形式转回类别编号形式

   代码的意思大概如下:

P是样本输入数据,而Tc是样本的类别标签。

由于LVQ是模式识别,所以要将类别标签转为one-hot格式,即把类别标签1转换成【1 0】,把类别标签2转换成【0 1】这样的格式。

然后,使用newlvq命令训练一个LVQ神经网络,训练好后,就可以利用sim函数来预测样本的类别了。

Y=sim(net,P)就是把P作为输入,用训练好的net进行预测,最后得到网络的预测结果Y.


三、LVQ参数说明


语法:

net = newlvq(P,S1,PC,LR,LF)

描述:

newlvq 创建一个LVQ (learning vector quantization ) 神经网络。

入参说明:

P: 用于训练的输入数据。每列代表一个样本,有多少个样本,就有多少列。
S1:隐节点个数。
PC:各个输出节点连接隐节点的个数占比。元素个数必须与输出节点个数一致,并且总和为1.例如[0.3,0.7]代表第一个输出节点连接30%隐神经元,第二个输出节点连接70%隐神经元。
LR:学习率。默认为0.01
LF:learnFunction,学习函数。可以设为'learnlv1'或'learnlv2',默认为'learnlv1'。

备注:learnlv2最好不要单独直接使用,应先用learnlv1训练网络,再把训练完的网络继续用learnlv2训练。


相关文章

​《BP神经网络梯度推导》

​​​​​​《BP神经网络提取的数学表达式》
 
《一个BP的完整建模流程》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老饼讲解-BP神经网络

请老饼喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值