您现在的位置是:首页 >学无止境 >快速了解LVQ神经网络是什么网站首页学无止境
快速了解LVQ神经网络是什么
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》bp.bbbdata.com
目录
LVQ神经网络全称为Learning Vector Quantization,主要用于做分类
它是Kohonen于1989年提出基于竞争网络的学习矢量量化网络
本文面向新人入门,简单介绍LVQ神经网络的结构、运作,
通过本文可快速了解LVQ神经网络是个什么东西
一. 快速了解LVQ神经网络
本节简单介绍LVQ神经网络的思想
1.1 LVQ神经网络是什么
LVQ用于解决分类问题,它先对每个类别都初始化一些类别判别中心点,然后通过训练来调整这些类别判别中心的位置,使它们能较好地识别训练样本
这样,来了新样本,只要判断新样本离哪个聚类中心点近,就判断样本属于该聚类中心点所代表的类别
1.2 LVQ神经网络的表示
LVQ神经网络的拓扑表示
LVQ一般用一个三层神经网络来表示,它的拓扑结构如下:
其中,输入层与隐层全链接,隐层与输出层的每个节点唯一连接
LVQ神经网络元素的意义
每个隐层节点代表着一个类别判别中心,它与输入层的权重就是它的位置,,它的输出层的连接代表着它是哪个类别的判别中心
例如,某个隐节点的输入权重为[0.3 0.5],输出权重为[0 1],则代表它的位置为[0.3,0.5], 是类别1的判别中心
二. 关于LVQ神经网络的判别计算过程
本节简单介绍LVQ神经网络的模型是如何进行预测的
2.1 LVQ神经网络模型与它的判别方法
LVQ训练后得到的模型就是和,即各个判别中心的位置和它们所属类别,
LVQ的判别方法就是样本离哪个判别中心最近,就将样本判别为它所属的类别标签
2.2 LVQ模型的判别公式
LVQ神经网络的判别原理如上所述,本节展示具体的判别公式
LVQ模型的判别公式如下
其中,
?W21为输入层到隐层的权重
?W32为隐层到输出层的权重
?dist为欧氏距离函数
?compet则为向量竞争函数
即向量中最大值者为1,其它为0
✍️备注
从判别公式可以看到,模型只依赖W21和W32
其中W21代表着各个判别中心的位置
而W32则记录了判别中心所属的类别
三. LVQ神经网络-简单Demo
3.1 matlab的LVQ神经网络DEMO
matlab可以通过newlvq函数构建一个LVQ神经网络,再利用train函数对网络进行训练,就可以得到训练好的LVQ神经网络,下面展示一个来自matlab官方的简单LVQ例子Demo
matlab工具箱使用LVQ的Demo代码
%代码说明:LVQ的matlab工具箱使用Demo
%来自《老饼讲解神经网络》bp.bbbdata.com ,matlab版本:2014b
%-----------------------------------------------------
%数据准备
rand('seed',70)
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编码形式转回类别编号形式
% 提取出各个类别的判别中心
c = net.iw{1,1}; % 中心
c_class = net.lw{2,1}; % 中心所属类别
c = [vec2ind(c_class)',c] % 添加中心的类别标签
plot(c(:,2),c(:,3),'o','MarkerEdgeColor','k','MarkerFaceColor','y','MarkerSize',10)
for i = 1: size(c,1)
text(c(i,2)-0.050,c(i,3)+0.02,num2str(c(i,1)))
end
title('LVQ预测类别')
得到结果如下
c =
1.0000 0.0497 -0.0100
1.0000 -0.0400 0.0099
2.0000 0 -0.0398
2.0000 0 0.0495
这就是上述例子中设置了4个类别判别中心的类别(第1列)和位置(第2-3列)
相关文章
1-LVQ的学习目录:老饼|BP神经网络-竞争神经网络
2-SVM的学习目录:老饼|BP神经网络-感知机与SVM
3-BP的学习目录:老饼|BP神经网络-BP入门