波尔兹曼机

是一种模拟的退火过程。

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

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

退火速率:

1.指数下降方式:T(n)=\lambda T(0)  n=1,2,...   \lambda是一个小于1的正数

2.其他方式:

模拟退火算法过程 

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

 神经元的转移概率函数

设单个神经元的净输入为net_{j}=\sum_{i}(w_{ij}x_{i}-T_{j})

神经元输出状态为0的转移概率:P_{j}(1)=\frac{1}{1+e^{-\frac{net_{j}}{T}}}=\frac{e^{\frac{net_{j}}{T}}}{1+e^{\frac{net_{j}}{T}}}    这里T为温度

状态为1的概率:P_{j}(0)=1-P_{j}(1)

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

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

\frac{P(\alpha )}{p(\beta )} =\frac{e^{\frac{-E_{\alpha }}{T}}}{e^{\frac{-E_{\beta }}{T}}}

玻尔兹曼机的训练

 正向学习阶段:

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

反向学习阶段:

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值