快速了解LVQ神经网络是什么

news2025/2/27 17:29:59

本站原创文章,转载请说明来自《老饼讲解-BP神经网络》bp.bbbdata.com


目录

一. 快速了解LVQ神经网络    

1.1 LVQ神经网络是什么    

1.2 LVQ神经网络的表示     

二. 关于LVQ神经网络的判别计算过程    

2.1 LVQ神经网络模型与它的判别方法    

2.2 LVQ模型的判别公式    

三. LVQ神经网络-简单Demo 

3.1 matlab的LVQ神经网络DEMO    


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训练后得到的模型就是W^{21}W^{32},即各个判别中心的位置和它们所属类别,

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入门

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/521417.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【论文阅读】MINOTAUR: Multi-task Video Grounding From Multimodal Queries

背景动机 细粒度的视频理解已经成为增强现实(AR)和机器人应用开发的关键能力。为了达到这种级别的视频理解,智能体(例如虚拟助手)必须具备识别和推理视频中捕获的事件和对象的能力,处理一系列视觉任务,如活动检测、对象检索和(空间)时间基础…

教你设置dsn,brd文件关联到cadence

用过cadence的人应该都知道,很多人存在dsn,brd文件无法关联到cadence,从而导致无法直接双击对应的文件打开软件编辑,不得不先打开软件,再通过文件夹浏览来打开对应的文件,这其实是浪费了一些时间的。 下面通过简单的介…

Linux应用开发:socket

目录 1、TCP 1.1 TCP建立连接的流程图 1.2 TCP函数 1.2.1 socket 1.2.2 bind 1.2.3 listen 1.2.4 accept 1.2.5 recv 1.2.6 send 1.2.7 connnect 1.2.8 setsockopt、getsockopt 1.3 应用程序:服务器 1.4 应用程序:客户端 2、UDP 2.1 UDP建…

Github上传大于25M文件最简单方法!!!

Github上传大于25M文件最简单方法 方法:使用 GitHub 桌面应用程序1.下载 [Github](https://desktop.github.com/)应用程序到您的 Windows 或 Mac PC 上。2.单击“从互联网克隆存储库...”选项。3. 使用您的 Git 帐户登录。4. GitHub 应用程序将提示您使用电脑浏览器…

Docker安装Kong konga

一、安装Kong 1. 创建一个docker网络 docker network create kong-net2.拉取镜像 docker pull postgres:9.6 docker pull kong:2.6.03. 搭建pgsql数据库环境 docker run -d --name kong-database \--networkkong-net \-p 5432:5432 \-e "POSTGRES_USERkong" \-e …

Cisco Nexus 9000v Switch, NX-OS Release 10.3(3)F - 虚拟化的数据中心交换机

Cisco Nexus 9000v Switch, NX-OS Release 10.3(3)F - 虚拟化的数据中心交换机 请访问原文链接:https://sysin.org/blog/cisco-nexus-9000v/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org NX-OS System SoftwareR…

Java接口介绍

Java接口介绍 接口(Interface),在Java编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface关键字来声明。Java接口是用于描述类所具有的方法集合,但并不提供实现这些方法的代码。它们被用来定义…

Leetcode刷题日志5.0

目录 前言: 1.两数相加 2.无重复字符的最长子串 3.整数反转 4.删除链表的倒数第 N 个结点 前言: 今天我又来继续分享最近做的题了,现在开始进入我们快乐的刷题时间吧!(编程语言Python3.0,难度&#xf…

C++模板详解(函数模板、类模板)

hello,这里是bangbang,今天来讲下模板 目录 1. 泛型编程 2. 函数模板 2.1 函数模板概念 2.2 函数模板格式 2.3 函数模板的实例化 2.4 模板参数的匹配原则 3. 类模板 3.1 类模板定义格式 3.2 类模板实例化 4. 非类型模板参数 5. 模板特化 5.1 模板特化概念 5.2…

计算机视觉——day 90 基于级联卷积神经网络和对抗学习的显著目标检测

基于级联卷积神经网络和对抗学习的显著目标检测 I. INTRODUCTIONII. 网路架构A. 基于级联卷积神经网络的生成器G全局显著性估计器 E局部显著性精炼器 R B.鉴别器 DIv. 实验A. 数据集和评价标准B. 实验结果 V. 结论 I. INTRODUCTION 显著目标检测在过去的几年中受到了广泛的关注…

AcWing算法提高课-1.3.7货币系统

宣传一下算法提高课整理 <— CSDN个人主页&#xff1a;更好的阅读体验 <— 本题链接&#xff08;AcWing&#xff09; 点这里 题目描述 在网友的国度中共有  n n n 种不同面额的货币&#xff0c;第  i i i 种货币的面额为  a [ i ] a[i] a[i]&#xff0c;你可以假…

Linux知识点 -- Linux环境基础开发工具使用

Linux知识点 – Linux环境基础开发工具使用 文章目录 Linux知识点 -- Linux环境基础开发工具使用一、Linux编辑器 - vim1.vim的打开与关闭2.vim的三种模式3.命令模式常见命令4.底行模式命令5.设置vim的table键为4个字符 二、Linux编辑器 - gcc / g1.介绍2.gcc / g的使用3.gcc /…

docker笔记详解

Docker 官方文档地址:https://www.docker.com/get-started 中文参考手册:https://docker_practice.gitee.io/zh-cn/ 1.什么是 Docker 1.1 官方定义 最新官网首页 # 1.官方介绍 - We have a complete container solution for you - no matter who you are and where you are …

Linux | 将SpringBoot+Vue项目部署到服务器上

知识目录 一、写在前面二、后端部署2.1 项目打包2.2 项目运行 三、通过Shell脚本自动部署项目3.1 安装Git和Maven3.2 编写Shell脚本3.2 执行脚本 四、前端部署4.1 安装NGINX4.2 node.js安装4.3 npm打包项目4.4 运行项目 四、总结撒花 一、写在前面 大家好&#xff0c;我是初心…

MyBatis配置

配置结构 属性&#xff08;properties&#xff09; 属性不仅可以在内部直接修改&#xff0c;还可以在外部引入&#xff0c;外部引入需要在配置文件引入属性的文件&#xff0c; db.properties放在资源目录下面&#xff0c;然后在configuration标签下面导入外部配置的propertie…

Kali linux ssh Permission denied, please try again解决

新装的kali 没有ssh 装上ssh后root用户禁止登录所以要修改ssh配置&#xff0c;下面就这个过程解决全部演示。 默认情况下 SSH 不允许以 root 用户登录&#xff0c;因此将会出现下面的错误提示信息&#xff1a; Permission denied, please try again.kali linux 默认没有ssh,因此…

股票量价关系基础知识5

图解各阶段量价关系&#xff1a;价涨量增 价涨量增是指股价上涨的同时成交量也放大。它是最常见的多头进攻模式&#xff0c;说明价量配合良好&#xff0c;反映投资者买卖情绪高涨。成交量放大说明有资金流入&#xff0c;做多力量增强&#xff0c;后市看涨。 注意&#xff1a;1…

yolov5 用自己的数据集进行训练

在训练之前先要按照一定目录格式准备数据&#xff1a; VOC标签格式转yolo格式并划分训练集和测试集_爱钓鱼的歪猴的博客-CSDN博客 目录 1、修改数据配置文件 2、修改模型配置文件 3、训练 1、修改数据配置文件 coco.yaml 拷贝data/scripts/coco.yaml文件&#xff0c; pa…

requset页面的代码逻辑

基地址 &#xff1a; //引入axios import axios from axios; //vuex // import store from ../store/index; //配置基准地址 const Serve axios.create({baseURL: http://47.99.166.157:3000,// transformRequest: [function (data) {// try {// return jsonBig.…

【python】无限量PPT免费下载?找模板在不怕心仪得不能用啦

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 开发环境: python 3.8 pycharm 不会安装的可以文末名片我获取哦 &#x1f60e; 模块使用: 第三方模块&#xff0c;需要安装 win R 输入cmd 输入安装命令 pip install 模块名 &#xff08;如果出现爆红 可能是因为 网络…