玻尔兹曼机训练算法.docVIP

  • 5
  • 0
  • 约小于1千字
  • 约 2页
  • 2019-09-01 发布于浙江
  • 举报
玻尔兹曼机训练算法 置输入层与隐蔽层之间的权值W1及隐蔽层与输出层之间的权值W2为[-1, +1]间的任意值。 置时间计数t = 1。对训练样本做如下处理: 把Ak加到输入层,Ck加到输出层()。 随机选择隐蔽层结点i,,令其状态bi翻转: 计算由此而引起的网络总体能量变化 若,则确认这种状态变化。若,则计算概率: 其中T(t) 0为当前温度。设λ为随机产生的正数,0 λ 1。若Pi λ,则接受这次状态的改变,否则不接受本次状态的改变,并将bi复位至原有状态。 若隐蔽层结点未全部考察,则挑选一新的隐蔽层结点,返回(2)。 置时间计数t = t + 1,并更新温度: 其中T0为初始温度。 返回(2),直至对于,全局能量最低()为止。此时认为网络达到平衡状态。 对于输入Ak,记录隐蔽层状态,存入向量Dk,为后续统计使用: 对每次输入Ak及输出Ck,隐蔽层结点的稳态为Dk。统计第h个输入结点与第i个隐蔽层结点状态相同的概率Qhi,以及第i个隐蔽层结点与第j个输出结点状态相同的概率Rij: , 其中Φ(x,y)为关联函数: 重置t = 1,将Ak,置于网络的输入端,而使输出端自由活动。重复步骤2和3,此时由bi翻转引起的全局能量变化: 并相应计算概率分布和 调整网络权结构: 重复步骤2-5,直至对于所有的,,,和都充分小为止。

文档评论(0)

1亿VIP精品文档

相关文档