首页 > 其他分享 >【玻尔兹曼机】玻尔兹曼分布(01)

【玻尔兹曼机】玻尔兹曼分布(01)

时间:2024-04-03 15:59:24浏览次数:11  
标签:椰子 01 岛民 分布 kT 玻尔兹曼 我们

目录

一、说明

关于玻尔兹曼分布是最基本的统计物理方程,然而,却很不容易理解和接受。本篇用牛津大学Brian Zhang的理论推导加以理解,希望这是一个很好通向未来的台阶。

二、综述

玻尔兹曼分布是热力学的关键方程之一 。用于物理学,也广泛应用于机器学习。 这里我推导出简单教学示例中的玻尔兹曼分布。仅使用大学第一年概率课程中的工具。 该示例称为“co椰子和岛民”是我父亲守晟教给我的【张(1963-2018)】,这些笔记献给他。 通过聚焦关于这个简单的故事,可以很容易地在计算机上模拟, 我的目标是提供一个更容易理解和直观的展示玻尔兹曼分布。 但我希望这次展览也能够给人们带来深刻的启发 思考统计物理学。 例如,我证明了 co椰子和岛民的故事阐明了椰子之间的联系 “统计力学的基本假设”——所有微观状态也是同样可能的。

玻尔兹曼分布,以路德维希·玻尔兹曼 (Ludwig Boltzmann) 命名 它于 19 世纪末发现,构成了统计学的基础力学及其在材料科学和化学中的应用。 20世纪下半叶,玻尔兹曼分布 也进入了机器学习社区,激发了 一类所谓的“基于能源”的统计模型。 尽管其宽 使用时,我发现玻尔兹曼分布有点神秘 F第一次是我在学习中遇到过几次。 在这篇文章中,我 希望分享一些关于玻尔兹曼分布的思考方式我希望我早点接触到。
这个论述的主要部分围绕着我的一个寓言 当我们还小的时候,爸爸就告诉过我和我妹妹。 像许多人一样父母的训诫,我当时并没有把他的话放在心上。
然后,在我大学毕业的第一年,我——作为一个学过专业的人 在物理学中——试图将玻尔兹曼分布解释为朋友,并意识到其中有多少对我来说仍然是不透明的。 康蒂刚出门在外,我想起了爸爸的寓言,并得出了答案 我自己在火车旅行中的一些计算。 一年多来,我重新主要着迷于这个问题,寻找新的扩展来计算并在空闲时间编写代码。 通过这一切,我开始明白 玻尔兹曼分布比我通过阅读任何一篇文章所能得到的都要好 教科书。

我和我爸爸分享了这篇文章的一些初步版本, 谁既受宠若惊又好奇:我采取了一些不同的 计算路线比他想象的要好。 这些笔记坐在F 2018 年 12 月,我父亲不幸去世。 在 为了纪念他,我选择润色我的笔记并重新修改它们 添加一些关于我父亲的框架和故事。 在页边注释中, 我从我父亲的热情角度添加了一些轶事 就此主题而言。 在结论中,我分享了一些关于如何 简单的问题体现了我父亲对这两个领域的热情特征 教学和研究。 在本节的其余部分中,我将提供一些有关 Boltz 的背景知识mann 分布以激发其广泛的实用性。 然后,开始于 第 2 部分,我深入探讨主要故事。

2.1 玻尔兹曼分布

    对于不熟悉的读者,玻尔兹曼分布 采用统计物理系统并分配相对概率 超过可能的结果。 主要条件是系统在固定温度 T.

假设系统可以采取多种不同的状态,每种状态 玻尔兹曼分布以其自身的能量 E(s) 表示 观察系统处于状态 s 的概率由一个适当的比例给出性常数为
p ( s ) ∝ e − E ( s ) / k T . p(s) \propto e^{-E(s)/kT.} p(s)∝e−E(s)/kT.

这里 k 是玻尔兹曼常数,T 以开尔文为单位测量。 如果我们假设系统所有可能的状态都被索引 通过离散集 S,我们可以对玻尔兹曼分布进行归一化 使用配分函数:
Z = ∑ s ∈ S e − E ( s ) / k T Z = \sum_{s\in S}^{ } e^{-E(s)/kT} Z=s∈S∑​e−E(s)/kT
p ( s ) = 1 Z e − E ( s ) / k T p(s) = \frac{1}{Z} e^{-E(s)/kT} p(s)=Z1​e−E(s)/kT

玻尔兹曼分布可以用来描述状态 原子、分子、物理粒子的集合,甚至某些 生物系统。 我们给出了三个很好的场景示例由玻尔兹曼分布建模。

2.2 气体中分子速度的分布

今天我们知道物质是由原子组成的,但直到早期 20世纪,原子原理是一个有争议的假设。 然而在1738年,丹尼尔·伯努利 (Daniel Bernoulli) 通过以下方式解释了气体的性质:
假设气体由许多随机移动的分子组成。 2 伯努利的模型,称为气体动力学理论,解释说当气体的体积缩小时,压力会增加导致分子更频繁地撞击边界。 伯努利也 假设加热气体会加速分子的运动, 也增加了压力。 这些关系构成了 理想气体定律,PV = nRT。

伯努利模型可用于导出直接关系温度 T 和均方分子速度 v2 之间的关系。 麦克斯韦-玻尔兹曼分布,在 1860 年代至 70 年代制定, 进一步描述分子速度的整个分布 气体内。 考虑到玻尔兹,推导很简单 曼分布,一旦确定了单一气体的能量 分子为 E = 1 2mv2,动能公式。 对于给定的 速度 v,观察到速度与 3 成正比的概率
在这里插入图片描述
在低温下,量子力学效应会改变玻尔兹曼分布,从而改变分子速度的分布。 然而,在室温或更高温度下,麦克斯韦-玻尔兹曼分布通常是相当准确的近似值,正如实验研究的那样。 4此类实验通常会构建一个加热的气体炉,让分子通过小缝逸出,并测量逃逸时的速度。

2.3 蛋白质折叠

在细胞中,蛋白质是由链接在一起的核糖体产生的 氨基酸。核糖体通过读取来构建这条链
RNA 分子的“程序”:每个 RNA 字母三联体 指定接下来要添加 22 个氨基酸中的哪一个,直到出现“stop”已达成指示。这条蛋白质链最初像一条线性片段 绳子,快速卷成稳定的结构。所结果的
折叠蛋白质的 3D 形状对其在细胞中的功能至关重要, 因此计算生物学的重大挑战之一是
从氨基酸序列预测蛋白质的折叠构型。
蛋白质的折叠构型是使其最小化的构型 能量——许多分子相互作用的能量总和, 例如氢键和范德华力。这是因为 根据玻尔兹曼分布,在所有不同的状态中, 最小能量状态是最有可能的。假设一个简单的 折叠蛋白质的能量为 0,而有 N 个未折叠蛋白质的情况 每个状态都具有能量 E。然后配分函数由下式给出:

在这里插入图片描述

所以折叠状态的概率为:
在这里插入图片描述 如果能隙E足够大,折叠的概率 国家将压倒所有其他国家,即使这些国家更多 数量为 N 至 1 倍。但是,我们也可以研究一下上面的依赖关系 关于温度。如果我们提高温度 T,那么数量 eE/kT开始收缩,一旦低于N,折叠状态为 不再是绝对可能的。5 那么,作为一个整体,该蛋白质是 展开的可能性大于折叠的可能性。这个展开的过程就是 称为变性,事实上,加热会使蛋白质变性 这是食物煮熟后味道更好的主要原因!

2.4 使用马尔可夫随机场的机器学习

查看玻尔兹曼分布的一种方法是,它采用一组实数,即状态的能量 E(s),并将它们转换为状态的归一化概率 p(s)。由于机器学习通常需要从实数到概率的映射,因此许多操作可以被视为玻尔兹曼分布的特例。例如,分类任务中使用的 softmax 运算采用实数向量 ( a 1 , . . . , a n ) T (a_1,...,a_n)^T (a1​,...,an​)T 并计算向量 ( p 1 , . . . , p n ) T (p_1,..., p_n)^T (p1​,...,pn​)T ,如下所示:
p i = e a i ∑ i ′ N e a i ′ p_i = \frac{e^{a_i}}{\sum^N_{i'} e^{a^{i'}}} pi​=∑i′N​eai′eai​​

这些条目被解释为每个 n 的概率 输出。 softmax 遵循玻尔兹曼分布 设置 。
机器学习的一个领域,其灵感来自于 物理学是基于能量的模型,也称为无向图逻辑模型或马尔可夫随机场 (MRF)。此类模型首先 用于研究物理粒子系统,例如磁性粒子 铁磁材料中的偶极子。6 在计算机视觉中,一个 可以想象一个 n × n 像素的二值图像,每个像素要么 0 要么 1。
期望图像表现出空间平滑度,相邻像素 趋于相同。这种“自然图像先验”的想法可以是 通过定义图像的能量来制定,以某种形式给出:
在这里插入图片描述
其中 c 是正参数,xi 表示像素值,如果相邻的 i j 相同,则贡献 c/4 的能量,如果不同,则贡献 c/4 的能量。代入 kT = 1 的玻尔兹曼分布,然后定义所有 2n2 二值图像的先验分布,从而提高平滑度。
在图像中的一些像素被损坏的简单示例中,该先验可用于解决填充丢失像素的推理问题。这称为图像修复问题。马尔可夫随机场还可用于各种其他计算机视觉任务,例如图像压缩、图像分割(将图像分解为多个部分)和超分辨率(生成更高质量的放大图像)7。
在这些模型中,能量和配分函数通常被认为不具有实际物理意义,但被视为与统计物理学中的概念类似。8 温度依赖性常常被方便地忽略,因为其他参数(在本例中为c) 的值可以改变。

三、故事和初步探索

现在我们已经做好准备,准备介绍我们的主要内容:椰子和岛民的故事。9 这个故事的一个吸引人的特点是它的简单性:玻尔兹曼结果不仅可以通过计算机模拟,但几乎所有我们需要的结果都可以不用微积分得出。在本节中,我们适当地保持简单,仅使用高中水平的想法。然后,在第 3 节中,我们将使用本科一年级概率课程中的想法来进行一些精确的计算。

3.1 椰子和岛民

故事 这是用我自己的话讲述的椰子和岛民的故事,并小心地添加了一些数学精确性:100 个人在一座岛上遭遇海难,他们发现岛上长满了棕榈树和 300 个椰子。岛民们将椰子分给每人 3 个,但随后决定玩以下游戏。每个岛民都把椰子装在袋子里,每当两个岛民相遇时,他们就会玩石头剪刀布比赛。失败者假设他们仍然有椰子,然后将一个椰子交给获胜者。假设任何一对岛民相遇的可能性相同,并且每个人都有 50% 的机会在石头剪刀布中获胜。几天过去了,岛民身上的椰子分布应该是什么样子呢?

​3.2 仿真

我写了一个Python程序来模拟这个故事。这是代码:

import numpy as np
import matplotlib.pyplot as plt
N = 100 # number of islanders
C = 3 # number of coconuts per islander
T = 10**6 # 1 million timesteps
 # initialize the coconut array to all C’s
x = np.ones(N)*C
for t in range(T):
# choose two islanders without replacement

    i , j = np.random.choice(N, 2)
    if x[ i ] > 0:
         x[ i ] = 1
         x[ j ] += 1
plt.hist (x) # plus additional plot formatting code
plt.show()

经过 106 次互动(岛上两个人相遇的事件)后,我们绘制了每个岛民的椰子数量的直方图。左图显示了 100 人的结果,右图是对 1,000 人和 3,000 个椰子的模拟重复。
在这里插入图片描述
图 1. 整个岛屿人口中每个岛民的椰子数量的直方图。左图:100 名岛民和 300 名椰子人的情况。右图:1000 名岛民和 3000 颗椰子的情况。

3.3 初步观察

数学 我们立即发现图 1 中的分布似乎满足指数衰减。此外,岛上人口越多,分布越平滑,同时保持整体形状不变,即大数定律效应。由非负整数指数衰减产生的分布称为几何分布。 0 < p < 1 的单个参数 p 描述了衰减率。人们可以将几何分布想象为以正面概率为 p 的方式抛掷一枚硬币,并在反面之前数出正面的数量。这给出:
P ( X = n ) = p n ( 1 − p ) P(X = n) = p^n(1-p) P(X=n)=pn(1−p)
现在让我们假设这确实是我们得到的分布,看看我们是否可以计算 p.10 将每个岛民的椰子平均数量设为 C(因此在我们的模拟中 C = 3),我们能否推导出 p 的表达式就C而言?这意味着我们希望一枚硬币的正面是 C,反面是 C。我们有:
E ( X ) = ∑ n = 0 ∞ n P ( X = n ) = C E(X) = \sum_{n=0}^{ \infty }nP(X =n)=C E(X)=n=0∑∞​nP(X=n)=C

我们扩展这个表达式并使用伸缩技巧,将两边乘以 p 并移动项的位置。
在这里插入图片描述
将两个表达式逐项相减得出
在这里插入图片描述

方程左边:在这里插入图片描述
进一步:
在这里插入图片描述

我们有我们想要的表达。例如,如果 C = 3,则表示一枚硬币正面朝上的概率为 p = 3/4,其平均值为3 头在后。代入 p 的表达式,我们的几何分布是:
在这里插入图片描述
很好,但我们也可以将其视为玻尔兹曼分布。回想一下,玻尔兹曼分布是:
在这里插入图片描述
对于我们各州来说,让我们考虑一个岛民可以采摘的椰子数量有。那么能量E(s)自然就是这个数了。所以
在这里插入图片描述
识别这两个表达式的方法是通过设置

在这里插入图片描述

然后可以检查 Z(归一化常数)是否评估到 1 + C,匹配 (1)。
在我们的例子中,当 C = 3 时,方程 (2) 的计算结果为 kT = 3.48。为了C = 100,kT = 100.50。事实上,对于大 C 的近似kT ≈ C + 1/2是相当准确的.

标签:椰子,01,岛民,分布,kT,玻尔兹曼,我们
From: https://blog.csdn.net/gongdiwudu/article/details/137264350

相关文章