深度学习笔记之受限玻尔兹曼机(一)玻尔兹曼分布介绍

news2024/12/28 8:19:45

机器学习笔记之受限玻尔兹曼机——玻尔兹曼分布介绍

  • 引言
    • 回顾:Hammersley-Clifford定理
    • 玻尔兹曼分布的物理意义

引言

从本节开始,将介绍受限玻尔兹曼机。本节将从马尔可夫随机场开始,介绍玻尔兹曼机分布

回顾:Hammersley-Clifford定理

在概率图模型——马尔可夫随机场的结构表示中介绍了马尔可夫随机场(Markov Random Field,MRF)以及它的因子分解证明。该证明本质上是基于Hammersley-Clifford定理的表示。Hammersley-Clifford定理主要包含两个部分:

  • 定义1:一个马尔可夫随机场 G \mathcal G G,如果如果两个结点 i j , i k i_j,i_k ij,ik观测结点 O \mathcal O O阻断,那么 i k , i k i_k,i_k ik,ik基于 O \mathcal O O条件独立
    这里说的‘阻断’是指‘给定观测结点’ O \mathcal O O并作为条件。
    i j ⊥ i k ∣ O ⇒ P ( i j , i k ∣ O ) = P ( i j ∣ O ) ⋅ P ( i k ∣ O ) i_j \perp i_k \mid \mathcal O \Rightarrow \mathcal P(i_j ,i_k \mid \mathcal O) = \mathcal P(i_j \mid \mathcal O) \cdot \mathcal P(i_k \mid \mathcal O) ijikOP(ij,ikO)=P(ijO)P(ikO)
    对应概率图结构表示如下:
    这实际上就是‘全局马尔可夫性’(Global Markov Property),局部马尔可夫性、成对马尔可夫性均是由此转化而来。
    Hammersley-Clifford定理-示例1

  • 定义2:马尔可夫随机场 G \mathcal G G中关于随机变量集合 X \mathcal X X的联合概率分布 P ( X ) \mathcal P(\mathcal X) P(X)能够将因子分解定义在基于团(Clique)上的恒正函数的乘积,并且这些团覆盖了 G \mathcal G G中所有的结点和边。即:
    P ( X ) = 1 Z ∏ i = 1 K ψ i ( x C i ) \mathcal P(\mathcal X) = \frac{1}{\mathcal Z} \prod_{i=1}^\mathcal K \psi_i(x_{\mathcal C_i}) P(X)=Z1i=1Kψi(xCi)

    其中, C i \mathcal C_i Ci表示极大团 x C i x_{\mathcal C_i} xCi表示极大团中结点组成的随机变量集合 ψ i ( x C i ) \psi_i(x_{\mathcal C_i}) ψi(xCi)表示极大团 C i \mathcal C_i Ci对应的势函数(Potential Function),该函数必须是恒正函数 Z \mathcal Z Z表示规范化因子。具体表示如下:
    Z = ∑ X ∏ i = 1 K ψ i ( x C i ) = ∑ x 1 , ⋯   , x p ∏ i = 1 K ψ i ( x C i ) \begin{aligned} \mathcal Z & = \sum_{\mathcal X} \prod_{i=1}^{\mathcal K} \psi_i(x_{\mathcal C_i}) \\ & = \sum_{x_1,\cdots,x_p} \prod_{i=1}^{\mathcal K}\psi_i(x_{\mathcal C_i}) \end{aligned} Z=Xi=1Kψi(xCi)=x1,,xpi=1Kψi(xCi)

可以通过Hammersley-Clifford定理证实定义一和定义二是等价的。 这里在本节中不是重点,感兴趣的小伙伴可移步至这篇博主的文章:Hammersley-Clifford定理证明

一般情况下,为了保证势函数恒正函数,通常将其假设为指数形式
指数函数自然是恒正函数。
ψ i ( x C i ) = exp ⁡ { − E [ x C i ] } i = 1 , 2 , ⋯   , K \psi_i(x_{\mathcal C_i}) = \exp \{- \mathbb E[x_{\mathcal C_i}]\} \quad i=1,2,\cdots,\mathcal K ψi(xCi)=exp{E[xCi]}i=1,2,,K
并称 − E [ x C i ] -\mathbb E[x_{\mathcal C_i}] E[xCi]能量函数(Energy Function)。如果 势函数使用能量函数进行表示,那么联合概率分布 P ( X ) \mathcal P(\mathcal X) P(X)被称为 吉布斯分布(Gibbs Distribution),也称玻尔兹曼分布(Boltzmann Distribution)。

观察,如果势函数使用能量函数表示,那么这个联合概率分布 P ( X ) \mathcal P(\mathcal X) P(X)会产生什么样的变化:
P ( X ) = 1 Z ∏ i = 1 K ψ ( x C i ) = 1 Z ∏ i = 1 K exp ⁡ { − E [ x C i ] } = 1 Z exp ⁡ [ − ∑ i = 1 K E [ x C i ] ] \begin{aligned} \mathcal P(\mathcal X) & = \frac{1}{\mathcal Z} \prod_{i=1}^{\mathcal K} \psi(x_{\mathcal C_i}) \\ & = \frac{1}{\mathcal Z}\prod_{i=1}^{\mathcal K} \exp \{- \mathbb E[x_{\mathcal C_i}]\} \\ & = \frac{1}{\mathcal Z} \exp \left[- \sum_{i=1}^{\mathcal K} \mathbb E[x_{\mathcal C_i}]\right] \end{aligned} P(X)=Z1i=1Kψ(xCi)=Z1i=1Kexp{E[xCi]}=Z1exp[i=1KE[xCi]]
如果将 − ∑ i = 1 K E [ x C i ] -\sum_{i=1}^{\mathcal K} \mathbb E[x_{\mathcal C_i}] i=1KE[xCi]看做关于随机变量 x C i x_{\mathcal C_i} xCi线性组合,那么上式很明显就是指数族分布(Exponential Families of Distributions)的表达形式:
exp ⁡ [ A ( η ) ] = Z \exp [\mathcal A(\eta)] = \mathcal Z exp[A(η)]=Z表示归一化因子/配分函数; A ( η ) \mathcal A(\eta) A(η)表示‘对数配分函数’(log Partition Function).
P ( x ∣ η ) = h ( x ) exp ⁡ [ η T ϕ ( x ) − A ( η ) ] = 1 exp ⁡ [ A ( η ) ] h ( x ) exp ⁡ [ η T ϕ ( x ) ] = 1 Z h ( x ) exp ⁡ [ η T ϕ ( x ) ] \begin{aligned} \mathcal P(x \mid \eta) & = h(x) \exp \left[\eta^T \phi(x) - \mathcal A(\eta)\right] \\ & = \frac{1}{\exp [\mathcal A(\eta)]} h(x) \exp \left[\eta^T \phi(x)\right] \\ & = \frac{1}{\mathcal Z}h(x) \exp \left[\eta^T \phi(x)\right] \end{aligned} P(xη)=h(x)exp[ηTϕ(x)A(η)]=exp[A(η)]1h(x)exp[ηTϕ(x)]=Z1h(x)exp[ηTϕ(x)]
从最大熵原理的角度观察,既然玻尔兹曼斯分布是指数族分布,自然就是概率分布存在约束条件的情况下,满足约束条件基础上熵最大的分布
这里的约束条件是指:马尔可夫随机场中关于极大团 ψ i ( x C i ) \psi_i(x_{\mathcal C_i}) ψi(xCi)的描述。或者说‘马尔可夫随机场’结点之间的条件独立性就是约束条件。

玻尔兹曼分布的物理意义

路德维希·玻尔兹曼是热力学和统计物理学的奠基人之一。在上面出现的一系列名词如:势函数、配分函数、能量函数等,并不是机器学习中的固有概念,而是来源于统计物理学

假设一个系统状态表示为 S \mathcal S S,那么该系统状态的概率分布 P ( S ) \mathcal P(\mathcal S) P(S)表示为:
P ( S ) ∝ exp ⁡ { − E k B ⋅ T } \mathcal P(\mathcal S) \propto \exp \{- \frac{\mathbb E}{k_{\mathcal B} \cdot \mathcal T}\} P(S)exp{kBTE}
其中 E \mathbb E E表示能量函数 T \mathcal T T表示温度; k B k_{\mathcal B} kB表示玻尔兹曼常数。这里将玻尔兹曼常数 、温度均视作常量,我们关注的重点在于能量函数
系统状态是可变化的。这里假设一共存在 M \mathcal M M种离散状态,各状态对应概率表示如下:

S \mathcal S S 1 1 1 2 2 2 ⋯ \cdots M \mathcal M M
P ( S ) \mathcal P(\mathcal S) P(S) P 1 \mathcal P_1 P1 P 2 \mathcal P_2 P2 ⋯ \cdots P M \mathcal P_{\mathcal M} PM

能量函数一团粒子之间相关的量的表示。粒子的速度会受到其他粒子的干扰,粒子之间发生碰撞时,其速度会发生变化,从而产生能量。将上述公式继续展开:
P ( S ) ∝ 1 exp ⁡ { 1 k B ⋅ T ⋅ E } \mathcal P(\mathcal S) \propto \frac{1}{\exp\{\frac{1}{k_{\mathcal B} \cdot \mathcal T} \cdot \mathbb E\}} P(S)exp{kBT1E}1
可以发现,系统状态 S \mathcal S S的概率分布和能量函数 E \mathbb E E之间反比关系。这意味着:能量越大,状态 S \mathcal S S的概率越小

从感性角度理解:能量越大,粒子之间越不稳定,从而越容易挣脱束缚,从而更有机会从当前状态转移至其他离散状态。从而维持当前状态的概率越小。
如果没有外力干扰,最终会向稳定状态收敛。而那时的能量会逐渐降低

在无向图模型中,同样可以将统计物理学中的概念向机器学习概念中进行映射。例如将一团粒子映射成极大团,粒子可以映射成对应团中的结点。而能量函数也可映射为极大团内各结点之间关联关系的量的表示——势函数

下一节将介绍受限玻尔兹曼机的模型表示(Representation)。

相关参考:
Hammersley-Clifford定理证明
机器学习-受限玻尔兹曼机(1)-背景介绍-引出玻尔兹曼分布
机器学习-受限玻尔兹曼机(2)-背景介绍-玻尔兹曼分布的形象解释
机器学习-概率图模型6-马尔可夫随机场-Representation-因子分解
玻尔兹曼——百度百科

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/54537.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NCP81239MNTXG 开关降压/升压控制器,USB 功率传递和 Type-C 应用

NCP81239MNTXG USB 功率传递 (PD) 控制器是一款同步降压/升压控制器,适用于为笔记本电脑、平板电脑、台式系统以及很多使用 USB PD 标准和 C−Type 线缆的其他消费设备提供电池电压或适配器电压到所需电源轨的转换。结合使用 USB PD 或 C−Type 接口控制器时完全符合…

【笔记】Java - VM options、Program arguments、Environment variables、eclipse variables

java使用ide开发的时候,运行程序(application)前都要设置启动配置: VM options、Program arguments、Environment variables 很多时候我们是默认配置启动的,所以没太注意。但是如果我们有特殊需求、项目上线时&#xf…

VSCode 安装教程(超详细)

文章目录VSCode 安装使用教程(图文版)那么,什么是 IDE 呢 ?目前,前端开发主流的 IDE 有以下 5 个下边我们开始玩转 VSCodeVSCode 下载、安装Window 版 VScode 安装流程1、下载 Vscode 安装文件2、下载完成单击运行&…

Postman的使用——设置全局参数,参数的传递,从登录接口的响应body中提取数据更新全局参数,从响应cookie中提取数据更新全局变量

Postman的使用——设置全局参数,引用全局参数,参数的传递,从登录接口的响应body中提取数据更新全局参数,从响应cookie中提取数据更新全局变量一、设置全局参数二、引用全局参数三、从登录接口的响应body中提取数据更新全局参数四、…

cmd命令以及一些操作

文章目录前言set和echoif语句判断有无指定文件夹相对路径创建文件夹创建bat脚本换行符前言 因为下载下来的代码用bash脚本写的,cmd不能完美运行,因此想着对照着转成cmd,这样就方便了。 set和echo set demohello world!!! echo %demo%这就是…

[附源码]计算机毕业设计springboot学生宿舍维修管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

动态规划——数字三角形模型

数字三角形模型: 给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 输入格式&#…

力扣 895. 最大频率栈

题目 设计一个类似堆栈的数据结构,将元素推入堆栈,并从堆栈中弹出出现频率最高的元素。 实现 FreqStack 类: FreqStack() 构造一个空的堆栈。 void push(int val) 将一个整数 val 压入栈顶。 int pop() 删除并返回堆栈中出现频率最高的元素。 如果出现…

傻妞旧版本(合集)

目录一、前言二、下载三、新版傻妞订阅合集一、前言 傻妞旧版本(合集),包含amd和arm版本 二、下载 🅰️amd✅还未大改,init web未出 🔴[sillyGirl_amd_2022-08-05] ➡️百度网盘 ➡️天翼云盘(访问码:ha8s&#xff09…

如何开通小程序?开通小程序要钱吗?

关于如何开通小程序?开通小程序要钱吗?这两个问题,今天给大家做一个简单的解答。 一、如何开通小程序? “开通小程序”这个说法其实并不准确,能开通的是小程序账号,开通完小程序账号后还需要去制作小程序&…

计算机视觉之目标检测训练数据集(皮卡丘)《2》

在做目标检测,训练数据集的时候,可以先看前段时间的一篇基础文章:计算机视觉之目标检测(object detection)《1》https://blog.csdn.net/weixin_41896770/article/details/128062645先熟悉一些基本知识,如:锚框&#xf…

『.NET』.Net Core在Linux中生成验证码的实现封装

📣读完这篇文章里你能收获到 .Net跨平台在Linux中及Windows中都可生成验证码两套已验证过的实现方案代码封装,即Copy即用快速在Centos 7.x中安装Linux字体 文章目录一、安装Linux字体1. 查看字体库2. 运行安装字体库3. 安装ttmkfdir4. 查看字体库是否已…

搜索技术——模拟退火算法

如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔空间 一:算法及模型 物理退火过程 什么是退火:是指将固体加热到足够高的温度,使分子呈随机排列状态,然后逐步降温使之冷却,最后分子…

SPECjvm 2008 小记

背景 specjvm2008是免费的,直接官网下载就可以开跑了。但俗话说的好,便宜无好货,没啥厂家买账,看官网列出的成绩公示结果,根本没几家上传成绩。 另外,SPECjvm2008本身是测试JRE的执行成绩,也就…

Android databinding之RecycleView使用与介绍(二)

一 、介绍 通过上一篇databinding接入,我们已大概了解到databinding接入的流程和数据的简单绑定。 如果你刚看这边,并不了解databinding的使用,可以查看:Android databinding的接入使用与详解(一) Activity和fragment的数据绑定…

左(6)hash,大数据,位运算

前言 仅记录学习笔记,如有错误欢迎指正。 一、哈希函数和哈希表: hash(): (1) 输入是无限的,输出有限! (2)相同的输入,相同的输出(无随机因子) (3)不同的输入,也可能相…

jQuery 语法

通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions)。 jQuery 语法 jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。 基础语法…

【Python教学】pyqt6入门到入土系列,超详细教学讲解

一、什么是PyQt6? 简单介绍一下PyQt6 1、基础简介 PyQt6 Digia 公司的 Qt 程序的 Python 中间件。Qt库是最强大的GUI库之一。PyQt6的官网:www.riverbankcomputing.co.uk/news。PyQt6是由Riverbank Computing公司开发的 资料大礼包点击蓝色字体领取 Python零基础…

机器学习6scikit-learn中的scaler

文章目录一、scikit-learn中的scaler对测试数据集如何归一化?测试数据是模拟真实环境:综上二、演示一、scikit-learn中的scaler 对测试数据集如何归一化? 测试数据集不能跟训练数据集归一化一样,应该把测试数据集与训练数据集归…

Java JDK 环境变量配置教程

文章目录Java JDK 环境变量配置JDK 11 环境变量配置详细步骤Java JDK 环境变量配置 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。 环境变量…