波尔兹曼机

是一种模拟的退火过程。

梯度下降法只能往下走,不能往上走。模拟退火算法中是可以跳动的,会根据状态改变接受的概率来判断要怎么走。假设前一状态为x(n),状态改变后为x(n+1),相应的,系统能力由E(n)变为E(n+1)。系统由x(n)变为x(n+1)的接受概率为p:

波尔兹曼机

波尔兹曼机

 温度的初始值 T要选得足够高,使得所有可能的状态转移都能被接受。

退火速率:

1.指数下降方式:波尔兹曼机  n=1,2,...   波尔兹曼机是一个小于1的正数

2.其他方式:

波尔兹曼机

模拟退火算法过程 

  1.  初始化。随机选择一定的值作为变量的数值x(0),并设置初始温度T(0),终止温度波尔兹曼机和温度下降公式
  2. 以一定的规则(沿梯度下降的方向走一段距离,或在x点附近随机取一个点)在当前状态x(n)的附近产生新的状态x(n+1).如果能力减少则改变状态,如果能力变大则以一定的概率判断是否要改变状态。
  3. 在一定的温度T迭代一定的次数,或者判断代价函数是否趋于稳定。然后终止内循环(内循环中T不变,让状态自由改变)
  4. 调整T,判断T是否小于等于波尔兹曼机。没有就返回第二步,是则推出终止算法。

 神经元的转移概率函数

设单个神经元的净输入为波尔兹曼机

神经元输出状态为0的转移概率:波尔兹曼机    这里T为温度

状态为1的概率:波尔兹曼机

净输入越大,神经元状态取1的概率越大;净输入越小,取0的概率越大。

任意两个状态出现的概率与对应的能力之间的关系:

波尔兹曼机

玻尔兹曼机的训练

波尔兹曼机

 正向学习阶段:

  • 自联想型BM网络:向网络输入信号,钳制输入输出节点,让隐节点自由活动
  • 异联想型BM网络:向网络输入信号,钳制输入输出节点,让隐节点自由活动

反向学习阶段:

  • 自联想型BM网络:向网络输入信号,让输入输出节点和隐节点都自由活动
  • 自联想型BM网络:向网络输入信号,钳制输入节点,让输出节点和隐节点自由活动 

 波尔兹曼机