熵的理解(玻尔兹曼分布)

  • log2n (以 2 为底的对数):用二进制数来表达不同的状态组合需要多少个二进制位;

0. 玻尔兹曼分布

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

P(α)P(β)=exp(E0/T)exp(E1/T)

从式中可以得出两点结论,

  • (1)BM 网络处于某一状态( P(x=α) )下的概率主要取决于此状态下的能量 Eα ,能量越低,出现的概率越大;
  • (2)BM 网络处于某一状态的概率还取决于温度参数 T ,温度越高,不同状态出现的概率越接近,网络能量也较易跳出局部最小而搜索全局最小,
    • 温度低时,则情况相反;

1. 物理的解释

一个密封系统中,装有许多气体粒子(分子),共有 N 个粒子(由于是密封,不会增加也不会减少),假设系统内部的温度为 T ,系统内的分子有两种状态,ϵ0,ϵ1(前者表示低能量的状态,后者表示高能量的状态),处在 ϵ0 能级上的粒子有 n0 个,处在 ϵ1 能及上的粒子有 n1 个,显然一个永远满足的等式即为:

n0+n1=N

N 个粒子,存在 n0 ϵ0 n1 ϵ1 这种分布的组合数(状态数)记为 W ,则 W=(n0N)=(n1N)=N!n0!n1!

此时我们来计算系统的熵(与系统可能的状态数有关):

S=klog2W=klog2(N!n0!n1!)=k(log2N!log2n0!log2n1!)

k 称为玻尔兹曼机常数,W 为状态数。一些时刻之后向系统内施加一部分能量 ϵ ,有一粒子从低能级跃迁至高能级, n0=1,n1+=1 ,则新状态下的熵为:

S=klog2W=klog2(N!(n01)!(n1+1)!)=k(log2N!log2(n01)!log2(n1+1)!)

所以有系统能量的变化为:

ΔS=SS=klog2n0n1+1klog2n0n1

近似的原因在于,分子的数量是相当大的。由热力学的相关定理可知,

ΔS=ϵT=klnn0n1

进一步可得出:

n0n1=eϵ/kT

这样的一个分布情况,就是玻尔兹曼分布

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
玻尔兹曼分布是一种统计分布,用于描述粒子在热力学平衡下的能量分布。在机器学习中,玻尔兹曼分布可以应用于受限玻尔兹曼机(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 ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值