玻尔兹曼机的描述

玻尔兹曼机

玻尔兹曼机是一类随机递归神经网络,由杰弗里·欣顿和特里·谢诺沃斯基构造于1985年。玻尔兹曼机可视为霍普菲尔德网络的衍生版本:具有随机和产生式之特征。它是第一个可学习内部表征的神经网络。

玻尔兹曼机的命名来源是统计力学中的玻尔兹曼分布,此分布亦用于了玻尔兹曼机的采样函数。

结构

与霍普菲尔德网络相似,玻尔兹曼机是一个网络,其节点包含“能量”。不同于霍普菲尔德网络,玻尔兹曼机的节点是随机的。全局能量 E 的形式与霍普菲尔德网络相同:

E=(i<jwijsisj+iθisi)

其中:
* wij 表示节点间的连接强度。
* si 表示节点的状态, si0,1
* θi 表示全局能量函数中节点 i 的偏差。(θi 是节点激活之临界值)

能量最小化

根据全局能量的公式,节点的输入之和大于阈值之时,更新节点的状态会降低能量。

  • 训练集的分布表示为 P+(V)
  • 当玻尔兹曼机达到热平衡之时,全局状态的分布收敛于(局部)最优。此时,隐含节点的边缘分布表示为 P(V)

玻尔兹曼机的目标是学习 P(V) ,使其可重构训练集的分布 P+(V) 。为了度量概率分布的近似度,引入K-L散度作为度量方法:

DKL(P+(V)||P(V))=vP+(v)logP+(v)P(v)

注释

反过来想,如果我的想象需要符合经验,即:隐层节点重构的数据近似于训练集,那么:
* 接近律Law of Proximity:在时间或空间上接近的事物容易发生联想。
* 我的大脑需要有一个稳态,即收敛至局部最优。

全局能量的基数是固定的,即:网络的边数。因此,一条边的节点“具有相同状态的概率”愈大,其权重愈大,则全局能量愈小。这就意味着:玻尔兹曼机的(局部)最优会将相似特征连接至同一隐层节点。由此,相似特征的不断共现方可增加 wijsisj

  • 玻尔兹曼机可能停止在局部最优,这是梯度下降的特征。

受限玻尔兹曼机

受限玻尔兹曼机由保罗·斯莫伦斯基构造于1986年,以Harmonium命名。PDP 中的描述是:

In harmony theory, knowledge is encoded as constraints among a set of well-tuned perceptual features. There constraints are numerical and are imbedded in an extremely powerful parallel constraint satisfaction machine: an informal inference engine. The constraints and features evolve gradually through experience.

The competence of models in this framework can sometimes be neatly expressed by symbolic rules, but their performance is never achieved by explicitly storing these rules and passing them through a symbolic interpreter.

结构

RBM 包含了权重矩阵 W=(wij) ,权重连接了隐含节点 hj 和可视节点 vj ,以及可视层的偏移量 ai 和隐含层的偏移量 bj 。给定配置 (v,h) ,其全局能量的定义是:

E(v,h)=iaivijbjhjijviwijhj

根据 BM 的定义,配置的概率分布可定义为:

P(v,h)=1ZeE(v,h)

其中, Z <script type="math/tex" id="MathJax-Element-23">Z</script> 表示配分函数。

引用

  1. 维基百科词条:玻尔兹曼机
  2. 维基百科词条:受限玻尔兹曼机
  3. J. J. Hopfield, “Neural networks and physical systems with emergent collective computational abilities”, Proceedings of the National Academy of Sciences of the USA, vol. 79 no. 8 pp. 2554–2558, April 1982.
  4. Ackley, David H; Hinton Geoffrey E; Sejnowski, Terrence J (1985), “A learning algorithm or
    f Boltzmann machines”, Cognitive science, Elsevier, 9 (1): 147–169
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
玻尔兹曼分布是一种统计分布,用于描述粒子在热力学平衡下的能量分布。在机器学习中,玻尔兹曼分布可以应用于受限玻尔兹曼机(Restricted Boltzmann Machine, RBM)模型中。 受限玻尔兹曼机是一种生成式的机器学习模型,能够学习样本的概率分布。它是玻尔兹曼机的一个简化版本,因为玻尔兹曼机在实际应用中很复杂,所以不常被使用。受限玻尔兹曼机通过引入约束,使模型变得更加简单。它可以学习样本的概率分布,并根据学到的概率分布生成符合该分布的样本。例如,可以使用受限玻尔兹曼机学习人脸图片的概率分布,然后生成一张新的、在现实世界中不存在的人脸。 在Python中,可以使用scipy库的stats模块来进行玻尔兹曼分布的采样实验。具体操作可以参考以下代码: ```python from scipy.stats import bernoulli import numpy as np import matplotlib.pyplot as plt # 生成服从玻尔兹曼分布的随机数 p = 0.5 # 可根据需要设定概率参数 r = bernoulli.rvs(p, size=10000) # 统计随机数的特征 sample_mean = np.mean(r) sample_variance = np.var(r) # 绘制直方图 plt.hist(r, bins='auto', density=True) plt.title("Histogram with 'auto' bins") plt.grid() plt.show() # 输出统计特征 print('sample means of r = {0}'.format(sample_mean)) print('sample variance of r = {0}'.format(sample_variance)) ``` 以上代码首先导入了必要的库,包括scipy.stats的bernoulli模块用于生成服从玻尔兹曼分布的随机数。然后通过调用`bernoulli.rvs()`函数生成10000个服从指定概率分布的随机数。接下来,使用`np.mean()`和`np.var()`函数计算随机数的均值和方差,并使用`plt.hist()`函数绘制随机数的直方图。最后,使用`print()`函数输出统计特征。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [受限玻尔兹曼机的python参考实现](https://blog.csdn.net/u013749051/article/details/120670133)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [基于python/scipy学习概率统计(2):伯努利分布(Bernoulli Distribution)](https://blog.csdn.net/chenxy_bwave/article/details/120847774)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值