局部特征学习算法
实际中不可能对全网进行全局统一的学习,这会导致过大的资源消耗
相比之下,比较实际的选择是局部学习,而且输入很多时候确实存在局部结构,比如语音因素、视频的边角特征等。
-
找出重要的局部特征,根据这些局部特征进行学习的算法也是神经网络的一个重要的发展趋势,通常采用以下的学习策略:
- 竞争型学习(competitive learning)是一种常用的无监督学习策略。使用该策略时,网络的输出层神经元相互竞争,并且每次只有一个获胜神经元被激活,其他都被抑制,这种机制也叫”胜者通吃(winner-take-all)“,典型的算法有自组织映射SOM
- 自适应共鸣/振谐理论(Adaptive Resonance Theory),ART网络是其中的代表,网络有比较层、识别层、识别阈值和重置模块构成。比较层负责接收输入样本并将其传递给识别层神经元,识别层每个神经元对应一个模式类,神经元数目可在训练过程中动态增长以增加新的模式类。
-
竞争学习算法
向量归一化:输入的模式向量
和竞争者各细胞的内权向量
都先进行归一化。并且每次迭代都要进行归一化操作
寻找获胜神经元:竞争层各细胞的内权向量
与输入向量
进行相似度比较,不论是用欧氏距离还是夹角法,得到的结论都是——与
点积最大的
对应的竞争层的细胞
为获胜神经元
-
网络输出权值调整:获胜神经元的输出为1,其他神经元的输出为0
在权值更新公式中,是学习率,随着学习的进展逐渐减小
由于是无监督的学习算法,所以迭代的终止条件是学习率衰减到一个很小的数
ART网络
-
竞争算法:
- 计算输入向量与每个识别层神经元所对应的模式类的代表向量之间的距离,距离最小者获胜
- 若输入向量与获胜神经元所对应的代表向量之间的相似度大于识别阈值
- 当前输入样本将被归为代表向量所属类别
- 网络连接权更新
- 若相似度小于识别阈值
- 重置模块将在识别层增设一个新的神经元
- 将代表向量设置为输入向量
重复以上过程直到收敛
竞争学习算法解决二分类问题(夹角法:无识别阈值的ART网络)
SOM神经网络模型与算法
SOM(Self-Organizing Map 自组织映射)是一种竞争学习的无监督网络,是一种竞争学习型的无监督神经网络,它能将高维输入映射到低维空间,同时保持数据在高维空间的拓扑结构(高维空间中相似的样本点映射到网络输出层中的邻近神经元)
自组织映射(Self-Organizing Maps,SOM)由芬兰学者 Teuvo Kohonen 提出,是一种无监督的聚类方法,受人类大脑神经元的自组织和侧抑制现象启发。不同外部刺激引起大脑皮层各个区域的反应是不同的;类似地,自组织映射在接受外界输入的模式时,会分为不同的应对区域,各区域对输入模式有着不同的响应。这种分区对应是在训练中逐渐学到的,是一个自组织的过程。另一方面,生物神经元之间存在侧抑制现象,临近的神经元相互激励,较远的神经元相互抑制。响应最强的神经元即获胜神经元,以它为中心,会形成一个区域,距离中心越远激励越弱。
-
SOM网络中的输出层神经元以矩阵方式排列在二维空间中,每个神经元都拥有一个权向量,网络在接收输入向量后将会确定输出层的获胜神经元,它决定了该输入向量在低维空间的位置.SOM的训练目的就是为每个输出层神经元找到合适的权向量,以达到保持拓扑结构的目的
image-20200611001930903.png -
训练过程:
- 接收训练样本
- 每个输出层神经元计算该样本与自身携带的权向量之间的距离
- 选择距离最近的神经元作为竞争获胜者,称为最佳匹配单元
- 调整最佳匹配单元及其邻近神经元的权向量,以使得这些权向量与当前输入样本的距离缩小
重复以上步骤直到收敛
SOM解决旅行商问题
- 旅行商问题 (Travelling Salesman Problem,TSP) 是计算机科学的经典难题,即在地图上给定一系列城市和各城市之间的距离,求解遍历这些城市的最短路径。虽然旅行商问题很容易描述,但它是一个 NP-完全问题。这意味着,城市越多,解题困难就越大,而且这类问题没有通用解法。因此,目前认为任何次优解都是足够好的,多数情况下现在还没法验证返回的解是否是最优解。
- SOM 有输入和输出两层神经网络,输出层通常是一个二维的神经元网格(本文是一维的环形结构)。从输入层输入的数据代表着真实世界的模式(Pattern),SOM 的训练目标是把输入数据的模式映射到输出层中。在训练中,输出层神经元的权值向量会被更新,输出层神经元在训练中逐渐学到输入数据背后的模式。对旅行商问题而言,二维城市坐标是网络的输入向量,城市空间位置关系是 SOM 要学习的模式,而网络的输出是一个环形的神经元结构。
[图片上传失败...(image-51d0e6-1591810827248)]
RBF网络(Radial Bases Function Networks)
RBF(Radial Basis Function,径向基函数)网络是一种单隐层前馈神经网络,使用径向基函数作为隐层神经元激活函数,输出层则是对隐层神经元输出的线性组合
假定输入为
维向量
,输出为实值,则RBF网络可表示为
其中q为隐层神经元个数,和
分别是第
个隐层神经元对应的中心和权重,
是径向基函数,这是某种沿径向对称的标量函数,通常定义为样本
到数据中心
之间欧氏距离的单调函数.常用的高斯径向基函数形如
经证明,具有足够多隐层神经元的RBF网络能以任意精度逼近任意连续函数训练RBF网络:
1. 确定神经元中心(常用方式:随机采样、聚类)
2. 利用BP算法等确定参数和
无监督学习
-
由于隐层激活函数的标准差
是固定的而输出权重的可以被优化的,我们事实上只需要找到能优化单层线性网络的权重. 作为一个多层感知机,同样地可以定义累积损失函数
其中表示训练样例编号,
分别对权重求偏导数并取0,得到如下等式,具有闭式解
为简单起见令得到
由线性回归章节内容,得到闭式解
其中成为
的伪逆矩阵(pseudo-inverse),具有逆矩阵的类似性质
实际上计算
时常使用SVD方法避免
奇异对计算的影响
-
有监督学习
有监督学习会让RBF网络具有更优良的性能,但计算代价较高
类似多层感知机,同样定义一个误差函数:
按照类似误差BP的方式更新权重、均值与标准差
参考资料
机器学习 周志华
如何用自组织映射 (SOM) 解决旅行商问题 (TSP) https://zhuanlan.zhihu.com/p/34121865