神经网络之自适应谐振理论ART与MATLAB实现

神经⽹络之⾃适应谐振理论ART与MATLAB实现      ART(Adaptive Resonance Theory,⾃适应谐振理论)⽹络是竞争性学习的重要代表。⽹络由⽐较层、识别层、控制模块⼏⼤部分构成。      ART⽹络⼜主要分为ART1、ART2、ART3。它们分别⽤来处理⼆进制信号、连续模拟信号、分级搜索模型并兼容前两种。
1.ART⽹络处理流程
ART I ⽹络结构由两层神经元构成两个⼦系统,分别为⽐较层C 和识别层R ,包含3种控制信号:复位信号R 、逻辑控制信号G1和G2。
2. C 层结构
如下图所⽰:
该层有n 个神经元,每个接收来⾃3个⽅⾯的信号:外界输⼊信号,R 层获胜神经元的外星向量的返回信号和控制信号G1。C 层神经元的输出是根据2/3的多数表决原则产⽣,输出值与三个信号中的多数信号值相同。
⽹络开始运⾏时,G1 = 1,识别层尚未产⽣竞争获胜神经元,因此反馈信号为0。由2/3规则,C 层输出应取决于输⼊信号,有C=X 。当⽹络识别层出现反馈回送信号时,G1=0,由2/3规则,C 层输出取决于输⼊信号与反馈信号的⽐较结果,如果xi = tij ,则,ci = xi ,否则ci=0。可以看出控制信号G1的作⽤是使得⽐较层能够区分⽹络运⾏的不同阶段,⽹络开始运⾏阶段G1的作⽤是使得C 层对输⼊信号直接输出,之后G1的作⽤是使C 层⾏使⽐较功能,此时ci 为xi 和tij 的⽐较信号,两者同时为1,则ci 为1,否则为0。可以看出R 层反馈信号对C 层输出有调节作⽤。
3. R 层结构
如下图所⽰:
功能相当于前馈竞争⽹,R 层有m 个神经元,代表m 个输⼊模式类,m 可以动态增长,以设⽴新的模式类。C 层的输出向量C 沿着R 层神经元的内星权向量到达R 层神经元,经过竞争在产⽣获胜神经元处指⽰本次输⼊模式的所属类别。获胜神经元输出为1,其余为0。R 层每个神经元都对应着两个权向量,⼀个是将C 层前馈信号汇聚到R 层的内星权向量,另⼀个是将R 层反馈信号散发到C 层的外星权向量。
4. 控制信号
信号G2检测输⼊模式X 是否为0,它等于X 各分量的逻辑或,如果xi 全为0,则G2=0,否则G2=1。R 层输出向量各分量的逻辑或为R0,则信号G1=G2与(R0的⾮)。当R 层输出向量的各分量全为0⽽输⼊向量X 不是0向量时,G1为1,否则G1为0。G1的作⽤就是使得⽐较层能够区分⽹络运⾏的不同阶段,⽹络开始运⾏阶段G1的作⽤是使得C 层对输⼊信号直接输出,之后G1的作⽤是使C 层⾏使⽐较功能,此时ci 为xi 和tij 的⽐较信号,两者同时为1,则ci 为1,否则为0。Reset 信号的作⽤是使得R 层竞争获胜神经元⽆效,如果根据某种事先设定的测量标准,Tj 与X 未达到设定的相似度,表明两者未充分接近,于是系统发出Reset 信号,使得竞争获胜神经元⽆效。
5. ⽹络学习算法
ART I ⽹络可以⽤学习算法实现,也可以使⽤硬件实现。训练可以按照以下步骤进⾏:
(1) ⽹络初始化
从C 层上⾏到R 层,内星权向量  赋予相同的较⼩数值,如
从R 层到C 层的外星权向量  各分量均赋值为1
初始权值对整个算法影响重⼤,内星权向量按照上式进⾏设置,可保证输⼊向量能够收敛到其应属类别⽽不会轻易动⽤未使⽤的神经元。外星权向量各分量设置为1可保证对模式进⾏相似性测量时能正确计算其相似性。
相似性测量的警戒门限  设置为0~1之间的数,表⽰两个模式相近多少才被认为是相似的,因此其⼤⼩直接影响分类精度。
(2) ⽹络接受输⼊
给定⼀个输⼊模式,
(3) 匹配度计算
对R 层所有内星权向量  计算输⼊模式X 的匹配度:
B j (0)=b ij 1
1+n
T j ρX =(,,...,),∈(0,1x 1x 2x n x i )n B j X =B T ∑n b x
(4) 选择最佳匹配神经元
在R 层有效输出神经元集合  内选择竞争获胜的最佳匹配神经元  ,使得
(5) 相似度计算
R 层获胜神经元  通过外星送回存储模式类的典型向量  ,C 层输出信号给出对向量  和X 的⽐较结果  ,由此结果可计算出两向量的相似度为:
(6) 警戒门限检验
按照设定的门限  进⾏相似度检验。
(7) 搜索匹配模式类
按照上⾯介绍的⽅法进⾏模式类搜索。
(8) 调整⽹络权值
修改R 层神经元  对应的权向量,⽹络学习采⽤两种规则,外星权向量调整按照以下规则:抽搐症
外星权向量为对应模式类的典型向量或称聚类中⼼,内星权向量的调整按照以下规则:
可以看出,如果不计分母中的常数0.5,上式相当于对外星权向量归⼀化。
6.matlab 仿真
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ART1_mian.m
%%%ART1神经⽹络练习
%%%作者:xidian.wp
%%%时间:2016.09.30 19:37开始
clear all; clc;
%% 加载数据
train_data=[1 0 1 0 1 1 0;
1 1 0 1 0 1 0;
0 1 0 1 0 0 1;
斯文赫定
1 0 0 1 1 0 1;
1 1 1 0 1 1 0;
0 1 0 1 1 1 1];                          % ART1⽹络输⼊为⼆进制,train_data 为七个样本,每⼀列为⼀个样本
data_length=size(train_data,1);
data_num=size(train_data,2);
N=100;
%% ⽹络参数初始化
R_node_num=3;
weight_b=ones(data_length,R_node_num)/N;
weight_t=ones(data_length,R_node_num);
threshold_ro=0.85;
X =B T j ∑i=1
n b ij x i J ∗j ∗=1,else,=0
r ∗j r j j ∗T ∗j T ∗j =c i t ∗ij =xi,=N 1∑1n N 0∑1信得药业
n c i ρj ∗(t +1)=(t)t ∗ij t ∗ij x i
(t +1)==b ∗ij (t)t ∗ij x i 0.5+(t)∑i=1n t ∗ij x i (t +1)t ∗ij 0.5+(t +1)∑i=1
n t ∗ij
%% 开始⽹络训练
for i=1:data_num
R_node=zeros(R_node_num,1);                %%匹配循环过程标志
for n=1:R_node_num                          %%匹配循环过程
%寻竞争获胜神经元
for j=1:R_node_num
net(j,1)=sum(train_data(:,i).*weight_b(:,j));
end
[~,j_max]=max(net);
if R_node(j_max,1)==1                  %%循环激活标志判断
net(j_max,1)=-n;
end
[~,j_max]=max(net);
R_node(j_max,1)=1;                    %%去激活
%竞争获胜神经元通过外星权向量返回C层,进⾏相似度计算
weight_t_active=weight_t(:,j_max);
weight_b_active=weight_b(:,j_max);
Similarity_N0=sum(weight_t_active.*train_data(:,i));
Similarity_N1=sum(train_data(:,i));
if (threshold_ro<Similarity_N0/Similarity_N1)
[weight_t(:,j_max),weight_b(:,j_max)]=ART1_learn(train_data(:,i),weight_t_active,weight_b_active);
石胎fprintf('样本%d属于第%d类\n',i,j_max);
flag=0;
break;
end
flag=1;
end
%% 判断是否需要添加新的结点,更新⽹络
if(flag==1)
%      ART1_updata_model()
R_node_num=R_node_num+1;
weight_b=[weight_b,train_data(:,j)];滨州学院图书馆
weight_t=[weight_t,ones(data_length,1)];
end
%        [flag,]=ART1_search()
%        if(flag==0)  %%到了下⼀个
%            ART1_learn()
%        else        %%没有到
%            ART1_updata_model()
%        end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ART1_learn.m
function [weight_t_updata,weight_b_updata]=ART1_learn(train_data_active,weight_t_active,weight_b_active)  weight_t_updata=train_data_active.*weight_t_active;
weight_b_updata=weight_t_updata./(0.5+sum(weight_t_updata));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%运⾏结果:
陕北
样本1属于第1类
样本2属于第2类
样本3属于第1类
样本4属于第3类
样本6属于第4类
样本7属于第3类
注明:这篇程序存在⼀些问题,改进版链接

本文发布于:2024-09-22 13:37:51,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/61953.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信号   向量   输出   模式   外星
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议