开发者学堂课程【机器学习算法 :自适应共振理论网络-2】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/535/detail/7250
自适应共振理论网络-2
内容介绍
一、ART 网络运行原理
二、ART 网络学习算法
三、ART 网络特点
一、ART 网络运行原理
对于每一个输入样本,会进行如下处理:
第一阶段:匹配阶段
在没有输入前网络处在等待模式,此时输入端信号为 x=0,当输入不全为0的 X 时,G1=1 允许输入模式直接从 C 层通过并前向传至 R 层,与R层神经元对应的所用内星权向量 Bj ,进行匹配计算:
选择具有最大匹配度(即上述点积最大的)的竞争获胜单元:netj*=maxj{netj}
使获胜神经元输入 r*j=1,其他神经输出为0
匹配阶段结束后,进入第二阶段。
第二阶段:比较阶段
使得 R 层获胜神经元所连接的外星权向量 T*j激活,从获胜神经元发出 n 个权值信号返回到 C 层的 n 个神经元。 R 层输出不全为0,则 C 层的输出取决于 R 层的外星权向量与 C 层的输入 X 的比较结果。R层的外星权向量是 R 层输出模式的典型向量,该结果反映了在匹配 R 层竞争排名第一的典型向量与输入向量x的相似度。
相似度用 N0 表示:
很简单,就像 R 层获胜了,输出不是一个值,它会通过外星权向量输出一系列的值,X 输入几个,它就会输出几个到每一个输入层的神经元上,每一个 T 与 X 都去比较,这个时候就可以算一个它的相似度,就是有多少分量是相等的,就是这个道理。
由于 X 为二进制数, No 实际上表示获胜神经元的类别模式与输入模式样本相同分量同时为1的个数。记输入样本中的非零分量为
则有输入模式与模式典型向量的相似度为: No / N1,预先设定好的相似度的门限值是一个取值在0-1之间的数 ρ ,用 No / N ,与 ρ 相比:
若 No / N1< ρ:表明输入模式 X 与典型向量 T 相似度不够,发出 Reset 信号,Reset 就会起作用,本次匹配失败,进入搜索阶段;
若 No / N1 ≥ ρ :表明输入模式 X 与典型向量 T 非常相似,称两者发生共振(art名字的来历),本阶段结束,进入学习阶段。
总结:比较阶段结束后,根据匹配度相似和门限值的比较,进入不同阶段。如果相似度低于门限值,进入搜索阶段;如果相似度高于门限值,则进入学习阶段。
第三阶段:搜索阶段
搜索阶段需要做的:网络发出 Reset 信号后,进入搜索阶段。 Reset 信号起到重置的作用,使前面通过竞争获胜的神经元受到抑制,并且在后续过程中持续受到抑制,直到输入一个的模式为止,也就是说原来获得的神经元就作废,只要同一个样本来学习就都作废。由于 R 层输出受到抑制,即 R0 =0,同时控制信号 G1 也被重置为1:G1=1,网络重新回到开始时的匹配状态。由于上次获胜的神经元被抑制,因此此次匹配获胜的单元,这时候再去重复上述过程,一定是上次排名第二的神经元。接下来进入比较阶段,将该神经元对应的外星权向量 tj* 与输入向量 X 进行相似度计算。如果达到预设门限相似度 ρ ,则进入下一阶段:学习阶段;如果依然未达到预设门限,继续进行搜索阶段的工作,重新去搜索。
如果所有的输出模式均遍历过后,仍然找到匹配度达标的模式,则表明:当前输出模式,并无和当前输入向量匹配的记录,即当前输入向量,无类可分。需要在 R 层的输出层增加一个神经元来代表并存储该新类的的模式:将其内星权利向量Bj*设计为当前输入模式向量,外星权向量 Tj* 各分量全部设置为1(就是新增一个神经元之后,B 就成为单向量输入)
现在不达标的就处理完成了
第四阶段:学习阶段
当输入模式和典型向量的相似度达到预先设定的门限值 ρ 后(即发生了共振),进入学习阶段。学习阶段主要对发生共振的获胜神经元对应的模式类加强学习,输入 X 使以后出现与该模式相似的输入后,能够得到更大的相似度。
外星权向量 Tj*,和内星权向量 Bj* 在运行阶段进行调整,以进一步强化记忆。经过学习后,对样本的记忆将留在两组全限量中,即使输入样本改变,权值依旧存在,因此称作长期记忆。
当以后再输入的样本,类似于已经记忆的样本时,这两组长期记忆将 R 层输出回忆到记忆样本的状态。
二、ART 具体的网络算法
第一步:网络初始化
C 层到 R 层的权重连接(内星权向量) Bij 赋予相同的较小的数值:bij(0)=1/(1+n)
R 层到 C 层的权重连接(外星权向量) Tij 赋予相同的值为1
相似性门限值 ρ 设置一个初始值,取值在0-1之间
注意:初始值对最终结果影响较大, Bij 的设置可以让输入向量能够收敛到其应属类别而不会随意增加新的类别信息设置不好的话,就是一个样本增加一次,这个效果就不是很好了;Tij 的设置可以对模式进行相似性测量时能正确计算其相似性,T它是要返回的,通过输入节点或者输入的样本的各个分量去作比较,要保证T的值在算相似度的时候不会有偏差;ρ 的设置会影响最终的分类精度,比如 ρ 设的很高,那就会导致输入类别也很大,如果 ρ 设的很低,会导致分不开。
第二步:输入向量到网络:给定输入模式 X =(X1,X2,…, Xn ),其中个分量的取值为二进制数:0或1
第三步:计算匹配度
对 R 层所有内星权向量 B 计算输入模式 X 的匹配度:
第四步:找到当前最佳匹配单元
对 R 层有效输出神经元集合中选择竞争获胜的最佳匹配神经元 j
* 使其输出为1,其余0:rj*=1,其余有rj=0
第五步:计算相似度
R 层获胜神经元通过外星权向量送回存储模式类的典型向量 Tj
* , C 层输出信号给出对向量 Tj* 和 X 的比较结果 ci=t*ij,两者的相似度为:
第六步:门限相似度检验
将上述计算得到的输入模式和典型向量的相似度,和预先设置的门限相似度 p 比较,如果小于 p ,则开始搜索模式放弃当前获胜单元,重新寻找最佳匹配,进入反复循环(第四步)。如果没有,增加输出节点,并设置其内外星权向量
第七步:调整网络权值
修改 R 层神经元”对应的权向量,内外权向量学习规则不同
外星权向量修改公式:
第八步:调整网络权值:修改 R 层神经元 j* 对应的权向量,内外权向量学习规则不同
内星权向量修改公式:
三、ART 网络特点
ART 具体的网络算法:
- 非离线学习,即不是对输入集样本反复训练后才开始运行,而是采用了边学习边运行的方式
- 每个输入样本,都被看成一类相近样本的代表,每次最多只有一个类别输出为1
- 当输入样本距某一个内星权向量较近(由门限值 p 决定)时,代表它的输出神经元才会响应
- 门限值影响到最终的分类精度,换言之,门限值 p 越小分类个数越少,反之分类越多
- 只能处理输入类型为二进制或者双极型的情况, ART 还有两个扩展类型:
√ ARTI :是 ARTI 的扩展形式,可以处理连续模拟信号
√ ART II :分级搜索模型,兼容 ARTI 与 ART II 两种结构功能,并能将两层神经网络扩大为任意多层神经网络