开发者学堂课程【机器学习算法 :对偶传播神经网络】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/535/detail/7248
对偶传播神经网络
内容介绍
一、对偶传播神经网络
二、CPN 学习算法
三、CPN 改进:双获胜神经元
一、对偶传播神经网络
对偶传播神经网络( Counter - Propagation Network CPN ),1987年由美国学者 Robert Hecht - Nielsen 提出,最早用来实现样本选择匹配系统,能存储二进制或模拟值的模式对,可用于联想存储、模式分类、函数逼近、统计分析和数据压缩等
网络拓扑结构:共三层,各层之间为全连接,与三层 BP 网络相似。但其本质不同,实际上是由自组织网络+外星网络构成,其隐藏层即为竞争层,采用竞争学习规则,输出层为 Grossberg 层, Robert Hecht - Nielsen 采用 Widrow - Hoff 或者 Grossberg 学习规则。输入层输入 X : X =(X1X2,… Xn )
竞争层输出 Y : Y =(1,Y2,… Ym )
输出层输出0:0=( Oj , Oz ,… Om )
期望的输出 d : d =(d1, dz ,… d )
输入层到竞争层的连接权重 V : V =(V1V2,… Vm) WL
竞争层到输出层的连接权重 W : W =(W1W2,… Wi )
二、CPN 学习算法
阶段一:输入层到竞争层权重调整
初始化:给 V 赋初始值,并将其归一化;将训练集中的所有输入 X 归一化;给学习速率 n 赋值输入样本:输入一条记录 XP ,计算净输入
确认获胜神经元:找到净输入最大的神经元,其满足:
则有: Yj =1,其他所有输出为0
调整获胜神经元的权重:只调整神经元的内星权重
其中 n 为学习速率,随时间下降(退火函数)。调整的目的是使权向量靠近当前输入的模式,调整后重新归一化判断是否结束:判断 n 是否降至0或者循环次数达到约定次数 T ,未达到则继续输入样本进行学习
阶段二:竞争层到输入层权重调整
输入样本:输入一条记录( XP , dP ),计算竞争层净输入
,其中 V 为第一阶段训练结果
确认获胜神经元:找到净输入最大的神经元,其满足:
则有: Yj =1,其他所有输出为0调整竞争层到输出层的权重:只调整神经元的外星权重
其中 B 为本层的学习速率,随时间下降(退火函数)。输出层结果
判断是否结束:判断 B 是否降至0或者循环次数达到约定次数 T 或误差满足期望,未达到则继续输入样本进行学习
三、CPN 改进:双获胜神经元
双获胜神经元 CPN 网:无获胜邻域概念,可以改进为竞争层两个神经元获胜,更新两个神经元对应的权重。对于每个输入模式,允许有两个竞争层神经元获胜,如果输入为由两个训练样本线性组合而成的新模式(复合模式),那么网络的输出就是与复合输入模式中包含的样本相对应的输出模式的组合。