神经网络学习笔记-波尔兹曼(Boltzmann)机

Boltzmann机是一种反馈随机神经网络

两种输出状态,单极性0或1。输出状态的取值根据概率统计法则决定,这种概率统计法则类似Boltzmann分布,部分反馈
它在神经元状态变化中引入了统计概率,网络的平衡状态服从Boltzmann分布,网络运行机制基于模拟退火算法。
离散Hopfield神经网络+模拟退火+隐单元=Boltzman机

DHNN全反馈,转移函数:符号函数
BM机网络拓扑结构
可见节点、隐节点(不可见节点),部分反馈,对称权值,wij = wji,wii=0
这里写图片描述

神经元转移概率函数
神经元净输入为:

netj=i(wijTj) n e t j = ∑ i ( w i j − T j )

输出状态1的转移概率
Pj(1)=11+enetj/T P j ( 1 ) = 1 1 + e − n e t j / T

输出状态0的转移概率
Pj(0)=1Pj(1) P j ( 0 ) = 1 − P j ( 1 )

如果 netj=0 n e t j = 0 ,则 Pj(1)=Pj(0)=11+e0=0.5 P j ( 1 ) = P j ( 0 ) = 1 1 + e 0 = 0.5
netj n e t j 越大, Pj(1) P j ( 1 ) 越大; netj n e t j 越小, Pj(0) P j ( 0 ) 越大,单调增加
T越大曲线越平缓,越小越陡峭,T=0退化为符号函数
这里写图片描述
神经元状态概率与净输入和温度的关系
BM机能量函数与DHNN相同:
E(t)=12XT(t)WX(t)+XT(t)T E ( t ) = − 1 2 X T ( t ) W X ( t ) + X T ( t ) T

=12j=1ni=1nwijxixj+i=1nTixi = − 1 2 ∑ j = 1 n ∑ i = 1 n w i j x i x j + ∑ i = 1 n T i x i

设 BM 机按异步方式工作 ,每次第 j 个神经元改变状态 ,根据推导出的公式有:
ΔE(t)=Δxj(t)netj(t) Δ E ( t ) = − Δ x j ( t ) n e t j ( t )

对于 BM 机 , 随着网络状态的演变 , 从概率的意义上网络的能量总是朝着减小的方向变化
尽管网络能量的总趋势是向着减小的方向演变 ,但不排除在有
些步神经元状态可能会按小概率取值 , 从而使网络能量暂时增加 。
正是因为有了这种可
能性 , BM 机才具有了从局部极小的低谷中跳出的 “爬山”能力 ,这一点是 BM 机与
D HNN 网能量变化的根本区别 。 由于采用了神经元状态按概率随机取值的工作方式 ,
BM 机的能量具有不断跳出位置较高的低谷搜索位置较低的新低谷的能力 。 这种运行方
式称为搜索机制 , 即网络在运行过程中不断地搜索更低的能量极小值 , 直到达到能量的全
局最小 。
BM 机的 Boltzmann 分布
xj=1 x j = 1 时对应的网络能量为 E1 E 1 , xj=0 x j = 0 时对应的网络能量为 E0 E 0
Pj(0)Pj(1)=eE0/TeE1/T P j ( 0 ) P j ( 1 ) = e − E 0 / T e − E 1 / T

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB R2016a是一种常用的工程和科学计算软件,在神经网络设计和应用方面提供了许多功能和例子。下面是其中的27个例子的简要介绍: 1. 使用feedforwardnet函数设计和训练前馈神经网络。 2. 使用fitnet函数创建和训练自适应神经网络。 3. 使用cascadeforwardnet函数设计和训练级联前馈神经网络。 4. 使用patternnet函数设计和训练模式识别神经网络。 5. 使用elmannet函数创建和训练Elman递归神经网络。 6. 使用layrecnet函数设计和训练全连接递归神经网络。 7. 使用simpneurnet函数设计和训练简单网络。 8. 使用grnn函数创建和训练广义回归神经网络。 9. 使用pnerec函数创建和训练波尔兹曼网络。 10. 使用rbf函数设计和训练径向基函数网络。 11. 使用dncnntool函数创建和训练动态神经网络。 12. 使用nctool函数设计和训练嵌套神经网络。 13. 使用bkprop函数创建和训练反向传播神经网络。 14. 使用lvqnet函数设计和训练LVQ神经网络。 15. 使用newc函数创建和训练自组织分类神经网络。 16. 使用somnet函数设计和训练自组织映射神经网络。 17. 使用cpsoptimset函数设置共享粒子群优化算法。 18. 使用tqnopt函数设置拓扑量化神经网络优化算法。 19. 使用somenet函数设计和训练自组织映射神经网络。 20. 使用nnstart函数启动神经网络工具箱。 21. 使用nprtool函数启动神经网络回归工具箱。 22. 使用prprob函数设计和训练自适应预测神经网络。 23. 使用createffnn函数创建并训练自定义前馈神经网络。 24. 使用bacpropagation函数设计和训练反向传播神经网络。 25. 使用pafunction函数设计和训练位置齐次神经网络。 26. 使用dafunction函数设计和训练分布式自适应神经网络。 27. 使用psofunction函数设计和训练粒子群神经网络。 以上是MATLAB R2016a神经网络设计和应用的27个例子,涵盖了不同类型和用途的神经网络。可以通过这些例子学习和实践神经网络在工程和科学计算中的应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值