竞争学习的基本概念和原理

竞争学习是自组织网络中最常采用的一种学习策略。

一、基本概念

先说明几个重要的概念。

1. 模式、分类、聚类与相似性

在神经网络应用中,输入样本、输入模式和输入模式样本这样的术语基本上是等同的概念。在涉及识别、分类问题时,常用到输入模式的概念。模式是对某些感兴趣的客体的定量描述或结构描述,模式类是具有某些共同特征的模式的集合。分类是在类别知识等导师信号的指导下,将待识别的输入模式分配到各自的模式类中去。无导师指导的分类称为聚类,聚类的目的是将相似的模式样本划归一类,而将不相似的分离开,其结果实现了模式样本的类内相似性和类间分类性。由于无导师学习的训练样本中不含有期望输出,因此对于某一输入模式样本应归属于哪一类并没有任何先验知识。对于一组输入模式,只能根据它们之间的相似程度分为若干类,因此相似性是输入模式聚类依据。

2. 相似性测量

比较不同模式的相似性通常可以转化为两个向量之间的距离进行衡量。所以相似性测量通常转化为向量的距离度量。而向量之间的度量标准决定了在某一应用中的相似度。传统模式识别最常用到的两种聚类判别依据是欧氏距离与角度测量。欧氏距离通常是L2范数;而角度测量采用的是余弦定理。两者的距离度量图示如下:

3. 侧抑制与竞争

实验表明,当一个神经元细胞兴奋后,会对周围神经元的神经细胞产生抑制作用,使得神经细胞之间出现竞争,开始可能多个细胞兴奋,但是一个兴奋程度最强的神经细胞对周围神经细胞的抑制作用也越强,其结果使得周围神经元细胞兴奋程度减弱,从而该神经元细胞在这次竞争中胜出,其他神经元失败。下图所示的网络在竞争层各神经元之间的虚连接线表明了这种抑制作用。它们是模拟生物神经网络层内神经元相互抑制现象的权值。这类抑制性权值通常满足一定的分布关系,如距离远的抑制作用弱,距离近的抑制作用强。这种权值在学习算法中通常固定。采用的竞争学习方法就是上一篇博文《人工神经网络基础概念、原理知识(补)》中所总结的神经网络三要素之学习中“胜者为王”的方法。

4. 向量归一化

由于不同的模式具有的单位不统一,因此在进行数据处理前,会将模式向量进行规范化(normalization),即单位长度,所以在进行相似性度量时方便计算。比如二维和三维单位向量可以在单位圆和单位球上直观表示。这里单独作为一小节进行描述是为了突出这一点的重要性,因为在机器学习中大部分时候输入模式都是向量,而且通常都会采用normalization进行预处理。

二、竞争学习原理

1. 竞争学习规则

采用的是“胜者为王”的学习规则。分为三个步骤:

(1) 向量归一化

首先将自组织网络中的当前输入模式向量X和竞争层中各神经元对应的内星权向量Wj全部进行归一化处理。

(2)寻找获胜神经元

当网络得到一个输入模式向量X时,竞争层的所有神经元对应的内星权向量均与X进行相似性比较,将与X最相似的内星权向量判为竞争获胜神经元,其权向量记为Wj。测量相似性的方法就按照上面所讲解的方法。

(3) 网络输出与权值调整

胜者为王竞争学习算法规定,获胜神经元输出为1,其余输出为0。只有获胜神经元才有权调整其权向量,调整后权向量为如下图所示:

α∈(0,1]为学习率,一般随着学习的进展而减小。从式中可以看出当竞争失败后,对应的神经元权重就无法进行调节,所谓调节也就是兴奋,没有机会兴奋,所以从原理上模拟了侧抑制与竞争。

注意:归一化后的权向量在调整之后得到的新向量不再是单位向量,因此还需进行单位化。

步骤(3)完成之后回到步骤(1)继续训练,直到学习速率α衰减到0或规定的值。

2. 竞争学习原理

以输入模式为2维,即输入层有两个神经元,而竞争层有四个神经元为例。则输入向量X为二维,而四个竞争层神经元的内星权值也是二维向量。归一化后可以分布在单位圆上的向量进行标示。下面对竞争学习原理进行说明:

用圆圈标示输入模式,用星号标示内星权向量。输入模式点的分布如下图所示:

从它的分布上可以看出大体上聚集为4簇,因而可分为4类。然而自组织网络的训练样本中只提供了输入模式,而没有分类的指导信息,即无监督学习。那么网络如何通过竞争机制自动发现空间的类别划分呢?

自组织网络在开始训练前先对竞争层的权向量进行随机初始化,因此初始状态时,单位圆上的星号是随机分布的。自组织权向量调整如下图所示:

距离当前输入模式最近的那个星号获胜,从获胜神经元的权值调整式子可以看出,调整的结果使得该星号与当前输入模式进一步接近。调整后,获胜的星号位置进一步移向输入模式及其所在的簇。显然,当下次出现与该输入模式相近的同簇内的输入模式时,上次获胜的星号更容易获胜。以此方式经过充分训练后,单位圆上的4个星点会逐渐移入各个输入模式的簇中心,从而使竞争层每个神经元的权向量成为一类输入模式的聚类中心。当向网络输入一个模式时,竞争层中哪个神经元获胜使得输出为1,当前输入模式就归属哪类。

************************

2015-8-14

艺少

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-29 00:14:03

竞争学习的基本概念和原理的相关文章

Java IO学习笔记:概念与原理

Java IO学习笔记:概念与原理 一.概念 Java中对文件的操作是以流的方式进行的.流是Java内存中的一组有序数据序列.Java将数据从源(文件.内存.键盘.网络)读入到内存 中,形成了流,然后将这些流还可以写到另外的目的地(文件.内存.控制台.网络),之所以称为流,是因为这个数据序列在不同时刻所操作的是源的不同部分. 二.分类 流的分类,Java的流分类比较丰富,刚接触的人看了后会感觉很晕.流分类的方式很多: 1.按照输入的方向分,输入流和输出流,输入输出的参照对象是Java程序. 2.

linux系统-用户管理-概念及原理

linux系统-用户管理-概念及原理 一 相关概念 1 /etc/passwd 的文件格式:用户名:密码位:用户标识号:组标识号:注释等相关描述:宿主目录:默认的shell,列如 chengzhi:x:500:500:chengzhi-CentOS:/home/chengzhi:/bin/shell 2 /etc/shadow 的文件格式:用户名:md5加密的密码(md5是单向不可逆的算法,固定长度):最后一次修改的时间:最大时间间隔:最小时间间隔:警告时间:闲置时间:失效文件:标志,前面两项比

黑马程序员-----封装的概念及原理

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ----- 第一讲   封装的概念及原理 本小节知识点: 1.[了解]为什么要进行封装 2.[了解]封装的原理 1.为什么要进行封装 不封装的缺点: 当一个类把自己的属性暴露给外部的时候,那么该类就是去对属性的管理权. 将数据隐藏起来,只能用此类的方法函

Oracle GoldenGate学习之--基本概念和配置

Oracle GoldenGate学习之--基本概念和配置(1) 一  GoldenGate简介 Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源 数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步.Oracle Golden Gate可以在异构的IT基础结构(包括几乎 所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以 在应急系统.在线报表.实时数据仓库供应.交易跟

【git学习一】git的原理

1.背景 git是比较流行的版本管理软件,博主才疏学浅,到目前为止只用过svn和git.虽然git也用了较长时间了,但是还是没有深入学习过,这周打算阅读Progit,对git有一个深入的总结,另外把git的一些主要命令总结下,方便日后学习工作中使用. 2.git简史 读了一遍Progit第一章节,印象比较深刻的有如下几点. 1.git的底层是数据库,这样我们就大体明白git的基本原理,把项目的快照按照编码存入数据库. 2.git的最早是由linux社区的开发者开发的,膜拜大神! 3.git的主要

Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)

ORACLE集群概念和原理(二) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体系的总结,一则进行回顾复习,另则便于查询使用.本图文文档亦源于此.阅读Oracle RAC安装与使用教程前,笔者先对这篇文章整体构思和形成进行梳理.由于阅读者知识储备层次不同,我将从Oracle RAC安装前的准备与规划开始进行整体介绍安装部署Oracle RAC.始于唐博士指导,对数据库集群进行配置安装,前

rac学习--集群概念介绍

集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体系的总结,一则进行回顾复习,另则便于查询使用.本图文文档亦源于此.阅读Oracle RAC安装与使用教程前,笔者先对这篇文章整体构思和形成进行梳理.由于阅读者知识储备层次不同,我将从Oracle RAC安装前的准备与规划开始进行整体介绍安装部署Oracle RAC.始于唐博士指导,对数据库集

集成学习之Boosting —— Gradient Boosting原理

集成学习之Boosting -- AdaBoost原理 集成学习之Boosting -- AdaBoost实现 集成学习之Boosting -- Gradient Boosting原理 集成学习之Boosting -- Gradient Boosting实现 上一篇介绍了AdaBoost算法,AdaBoost每一轮基学习器训练过后都会更新样本权重,再训练下一个学习器,最后将所有的基学习器加权组合.AdaBoost使用的是指数损失,这个损失函数的缺点是对于异常点非常敏感,(关于各种损失函数可见之前

Storm概念、原理详解及其应用(一)BaseStorm

本文借鉴官文,添加了一些解释和看法,其中有些理解,写的比较粗糙,有问题的地方希望大家指出.写这篇文章,是想把一些官文和资料中基础.重点拿出来,能总结出便于大家理解的话语.与大多数"wordcount"代码不同的是,并不会有如何运行第一storm代码等内容,只有在运行完代码后,发现需要明白:"知其然,并知其所以然". Storm是什么?为什么要用Storm?为什么不用Spark? 第一个问题,以下概念足以解释: Storm是基于数据流的实时处理系统,提供了大吞吐量的实