开发者学堂课程【机器学习算法 :随机神经网络】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/535/detail/7260
随机神经网络
内容介绍
一、玻尔兹曼机
二、模拟退火算法
三、BM 的能量函数
四、自联想与异联想
五、BM 的学习算法
六、受限玻尔兹曼机 RBM
一、玻尔兹曼机
玻尔兹曼机( Boltzmann Machine , BM ):也称 Stochastic Hopfield Network with Hidden Units ,是一种随机递归神经网络,可以看做是一种随机生成的 Hopfield 网络。1983年﹣1986年,由 Hinton 和 Sejnowski 提出,该神经网络只有0和1两种状态,其取值根据规律统计法则决定,其形式与注明的统计力学家 Boltzmann 提出的分布相似,因此被称为 Boltzmann 机。
- 有可见节点和隐藏节点之分
- 形式上和单层反馈网络 DHNN 非常接近
- 可见节点实现输入输出,隐藏节点实现输入输出间的联系
- 从功能上看,和三层 BP 网络比较接近
- 权重矩阵对称,且自反馈为0,即 Wij = Wji Wii =0
二、模拟退火算法
模拟退火算法( Simulated Anneal ):所谓退火是指物体温度逐渐降低的现象,随着温度降低,物体的能量状态会低,在结晶状态时能量最低。模拟退火算法也是模拟退火的过程,但是它在搜索过程中加入了随机因素:即在达到最优值(可能是局部最优值)
后,会以一定的概率跳出来。如右图,当搜索到局部最优值 B 后,会按照某个概率继续向右移动,使得搜索有可能跳出局部最优值,而去获得下一个最优值(可能是局部最优也可能是全局最优)。
三、BM 的能量函数
BM 采取了和 DHNN 一样的能量函数来描述网络的状态:
四、自联想与异联想
自联想的输出节点和输出节点相同,即可见节点既是输入节点又是输出节点;异联想的输出节点和输入节点不同,即部分可见节点为输入节点,其余可见节点为输出节点。
五、BM 的学习算法
通过有导师学习, BM 可以对训练集中各模式的概率分布进行模拟,从而实现联想记忆。学习的目的是通过调整网络权值使训练集中的模式在网络状态中以相同的概率再现。
第一阶段:正向学习
向网络输入一对输入﹣输出模式,将网络的输入﹣输出节点钳制到期望的状态,即固定住输入输出的状态,而去自由调整隐藏层,以完成输入输出之间的映射。
第二阶段:反向学习
对于异联想学习,用输入模式固定输入节点,而让输出和隐蔵节点自由活动;对于自联想学习让可见节点和隐藏节点都自由活动,以体现输入﹣输出对应规律的模拟情况。输入﹣输出的对应规律表现为网络达到热平衡时,相连节点状态同时为1的概率。期望对应规律与模拟对应规律之间的差别就表现为两个学习阶段所对应的平均概率的差值,基于该值去调节权重。
六、受限玻尔兹曼机 RBM
受限玻尔兹曼机( Restricted Boltzmann Machine , RBM ),是一种简化的特殊的玻尔兹曼机,1986年由 Pau Smolensky 提出。和 BM 相比,其隐藏层中的节点之间没有互相连接,其可见节点间也没有连接,因此其计算相对更简单。 RBM 可以应用于降维、分类、协同过滤、特征学习和主题建模等领域,根据任务的不同,可以选择监督学习或者非监督学习等方式进行神经网络模型训练。
- 两层结构:可见层和隐藏层
- 同层内无连接,不同层全连接:同层内节点激活状态独立
- 节点状态二值状态:0和1
- 计算相对 BM 简单
- 只要隐层节点足够多,能拟合任何离散分布