受限玻尔兹曼机|机器学习推导系列(二十五)

一、概述

对于无向图模型,我们可以回忆一下它的基于最大团的因子分解(Hammersley–Clifford theorem)。给定概率无向图模型,C_i,i=1,2,\cdots ,k为无向图模型上的最大团,则x的联合概率分布P(x)可以写为:

P(x)=\frac{1}{Z}\prod_{i=1}^{k}\psi (x_{C_{i}})\\ C_{i}:最大团\\ x_{C_{i}}:最大团随机变量集合\\ \psi (x_{C_{i}}):势函数,必须为正\\ Z=\sum _{x}\prod_{i=1}^{k}\psi (x_{C_{i}})=\sum _{x_{1}}\sum _{x_{2}}\cdots \sum _{x_{p}}\prod_{i=1}^{k}\psi (x_{C_{i}})

对于势函数(Potential Function),通常使用\psi (x_{C_{i}})=exp\left \{-E(x_{C_{i}})\right \},这里的E叫做能量函数(Energy Function),当使用这个势函数时,就有:

P(x)=\frac{1}{Z}\prod_{i=1}^{k}\psi (x_{C_{i}})=\frac{1}{Z}exp\left \{-\sum_{i=1}^{k}E(x_{C_{i}})\right \}=\frac{1}{Z}exp\left \{-E(x)\right \}

这个分布就叫做吉布斯分布(Gibbs Distribution),或者玻尔兹曼分布(Boltzmann Distribution)。

对于P(x)=\frac{1}{Z}exp\left \{-\sum_{i=1}^{k}E(x_{C_{i}})\right \}的形式,可以看出这是一个指数族分布。

对于玻尔兹曼分布P(x)=\frac{1}{Z}exp\left \{-E(x)\right \},这个概念最初来自统计物理学,一个物理系统中存在各种各样的粒子,而E代表系统的能量,一个物理系统有多种不同的状态,状态的概率为:

P(state)\propto exp\left \{-\frac{E}{k\cdot T}\right \}

其中k是玻尔兹曼常数(总之就是个常数),T是系统温度,可以看出P(state)和能量函数成反比,也就是说系统的能量越大,对应的状态的概率越小,系统越不容易停留在这个状态而倾向于向低能量的稳定状态转移。

参考链接:概率图模型-表示|机器学习推导系列(十)

二、表示

玻尔兹曼机(Boltzmann Machine,BM)是一种存在隐节点的无向图模型,它的每个节点对应一个随机变量,分为观测变量和隐变量两种。下图中的概率图就表示了一个玻尔兹曼机,其中阴影部分对应观测变量:

玻尔兹曼机

一个玻尔兹曼机的随机变量我们用向量x来表示,x中包含隐变量和观测变量,隐变量用h表示,观测变量用v表示,具体的:

x=\begin{pmatrix} x_{1}\\ x_{2}\\ \vdots \\ x_{p} \end{pmatrix}=\begin{pmatrix} h\\ v \end{pmatrix}\; \; h=\begin{pmatrix} h_{1}\\ h_{2}\\ \vdots \\ h_{m} \end{pmatrix}\; \; v=\begin{pmatrix} v_{1}\\ v_{2}\\ \vdots \\ v_{n} \end{pmatrix}\; \; p=m+n

玻尔兹曼机的问题在于它的推断问题很难解决,其中精确推断的方法是untrackable的,而近似推断的方法计算量太大,因此我们势必需要对模型进行一些简化,也就有了受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)。

在受限玻尔兹曼机中,连接只存在于隐变量与观测变量之间,而隐变量与观测变量内部是无连接的,因此也就得到了一个两层的结构:

受限玻尔兹曼机

受限玻尔兹曼机的概率公式为:

P(x)=\frac{1}{Z}exp\left \{-E(x)\right \}

也就是:

P(v,h)=\frac{1}{Z}exp\left \{-E(v,h)\right \}

对于能量函数,在受限玻尔兹曼机中采用以下形式来表示,其中参数是W,\alpha ,\beta

E(v,h)=-\left (h^{T}Wv+\alpha ^{T}v+\beta ^{T}h\right )

因此概率P(v,h)也就可以写成:

P(v,h)=\frac{1}{Z}exp\left \{-E(v,h)\right \}\\ =\frac{1}{Z}exp\left \{h^{T}Wv+\alpha ^{T}v+\beta ^{T}h\right \}\\ =\frac{1}{Z}exp\left \{h^{T}Wv\right \}exp\left \{\alpha ^{T}v\right \}exp\left \{\beta ^{T}h\right \}\\ =\frac{1}{Z}\underset{edge}{\underbrace{\prod_{i=1}^{m}\prod_{j=1}^{n}exp\left \{h_{i}w_{ij}v_{j}\right \}}}\underset{node\; v}{\underbrace{\prod_{j=1}^{n}exp\left \{\alpha _{j}v_{j}\right \}}}\underset{node\; h}{\underbrace{\prod_{i=1}^{m}exp\left \{\beta _{i}h_{i}\right \}}}

上面这个式子也和受限玻尔兹曼机的因子图一一对应:

因子图

有关因子图的参考链接:概率图模型-推断|机器学习推导系列(十一)

受限玻尔兹曼机的参数估计这一篇就不具体介绍了,会在后面配分函数那一篇介绍,下面只推导一下受限玻尔兹曼机的推断问题。

三、推断

  1. 后验概率

后验概率包括P(h|v)P(v|h),对于一个无向图,满足局部Markov性质,即:

P(h_{l}|h_{-l},v)=P(h_{l}|Neighbour(h_{l}))=P(h_{l}|v)

也就是在给定v的条件下,h的各个分量之间是条件独立的,对于概率P(h|v)也就可以改写成:

P(h|v)=\sum_{l=1}^{m}P(h_{l}|v)

最初的RBM被用来设计解决二值问题,因此这里我们考虑Binary RBM,也就是hv的随机变量都是二值的。推断问题是在模型的参数已经得出的前提下进行的,也就是说联合概率P(v,h)已经得出,对于后验概率P(h|v)的求解,我们希望能够凑出联合概率的形式,考虑概率P(h_{l}=1|v)

P(h_{l}=1|v)=P(h_{l}=1|h_{-l},v)\\ =\frac{P(h_{l}=1,h_{-l},v)}{P(h_{-l},v)}\\ =\frac{P(h_{l}=1,h_{-l},v)}{P(h_{l}=1,h_{-l},v)+P(h_{l}=0,h_{-l},v)}

对于联合概率P(v,h),在给定h_l时,我们可以尝试把P(v,h)拆成与h_l相关和不相关的两个部分:

E(h,v)=-\left (\sum _{i=1}^{m}\sum _{j=1}^{n}h_{i}w_{ij}v_{j}+\sum _{j=1}^{n}\alpha _{j}v_{j}+\sum _{i=1}^{m}\beta _{i}h_{i}\right )\\ =-\left (\underset{\Delta _{1}}{\underbrace{\sum _{i=1,i\neq l}^{m}\sum _{j=1}^{n}h_{i}w_{ij}v_{j}}}+{\color{Red}{\underset{\Delta _{2}}{\underbrace{h_{l}\sum _{j=1}^{n}w_{lj}v_{j}}}}}+\underset{\Delta _{3}}{\underbrace{\sum _{j=1}^{n}\alpha _{j}v_{j}}}+\underset{\Delta _{4}}{\underbrace{\sum _{i=1,i\neq l}^{m}\beta _{i}h_{i}}}+{\color{Red}{\underset{\Delta _{5}}{\underbrace{\beta _{l}h_{l}}}}}\right )

最终得到E(h,v)的以下形式:

\Delta _{2}+\Delta _{5}=h_{l}\left (\sum _{j=1}^{n}w_{lj}v_{j}+\beta _{l}\right )=h_{l}\cdot H_{l}(v)\\ \Delta _{1}+\Delta _{3}+\Delta _{4}=\hat{H}_{l} (h_{-l},v)\\ \therefore E(h,v)=h_{l}\cdot H_{l}(v)+\hat{H}_{l}(h_{-l},v)

因此对于P(h_{l}=1|v)的分子和分母分别有:

分子=\frac{1}{Z}exp\left \{H_{l}(v)+\hat{H}_{l}(h_{-l},v)\right \}\\ 分母=\frac{1}{Z}exp\left \{H_{l}(v)+\hat{H}_{l}(h_{-l},v)\right \}+\frac{1}{Z}exp\left \{\hat{H}_{l}(h_{-l},v)\right \}

最终得到概率P(h_{l}=1|v),发现这个概率其实是关于H_{l}(v)的sigmoid函数:

P(h_{l}=1|v)=\frac{\frac{1}{Z}exp\left \{H_{l}(v)+\hat{H}_{l}(h_{-l},v)\right \}}{\frac{1}{Z}exp\left \{H_{l}(v)+\hat{H}_{l}(h_{-l},v)\right \}+\frac{1}{Z}exp\left \{\hat{H}_{l}(h_{-l},v)\right \}}\\ =\frac{1}{1+exp\left \{\hat{H}_{l}(h_{-l},v)-H_{l}(v)-\hat{H}_{l}(h_{-l},v)\right \}}\\ =\frac{1}{1+exp\left \{-H_{l}(v)\right \}}\\ =\sigma (H_{l}(v))\\ =\sigma (\sum _{j=1}^{n}w_{lj}v_{j}+\beta _{l})

类似地也可以得到P(h_{l}=0|v),求得P(h_{l}|v),也就求得了后验概率P(h|v),求解P(v|h)的过程与求解P(h|v)的过程是完全对称的,这里就不再赘述。

  1. 边缘概率

首先将权重矩阵W写成行向量的形式,注意这里的w_i是行向量:

W=[w_{ij}]_{m\times n}=\begin{pmatrix} w_{1}\\ w_{2}\\ \vdots \\ w_{m} \end{pmatrix}

为了求解边缘概率P(v),我们只需要将h积分掉:

P(v)=\sum _{h}P(h,v)\\ =\sum _{h}\frac{1}{Z}exp\left \{-E(v,h)\right \}\\ =\sum _{h}\frac{1}{Z}exp\left \{h^{T}Wv+\alpha ^{T}v+\beta ^{T}h\right \} \\ =\frac{1}{Z}\sum _{h_{1}}\sum _{h_{2}}\cdots \sum _{h_{m}}exp\left \{\underset{与h有关}{\underbrace{h^{T}Wv}}+\underset{与h无关}{\underbrace{\alpha ^{T}v}}+\underset{与h有关}{\underbrace{\beta ^{T}h}}\right \}\\ =\frac{1}{Z}exp\left \{\alpha ^{T}v\right \}\sum _{h_{1}}\sum _{h_{2}}\cdots \sum _{h_{m}}exp\left \{h^{T}Wv+\beta ^{T}h\right \}\\ =\frac{1}{Z}exp\left \{\alpha ^{T}v\right \}\sum _{h_{1}}\sum _{h_{2}}\cdots \sum _{h_{m}}exp\left \{\sum_{i=1}^{m}\left (h_{i}w_{i}v+\beta _{i}h_{i}\right )\right \}\\ =\frac{1}{Z}exp\left \{\alpha ^{T}v\right \}\sum _{h_{1}}\sum _{h_{2}}\cdots \sum _{h_{m}}exp\left \{h_{1}w_{1}v+\beta _{1}h_{1}\right \}exp\left \{h_{2}w_{2}v+\beta _{2}h_{2}\right \}\cdots exp\left \{h_{m}w_{m}v+\beta _{m}h_{m}\right \}\\ =\frac{1}{Z}exp\left \{\alpha ^{T}v\right \}\sum _{h_{1}}exp\left \{h_{1}w_{1}v+\beta _{1}h_{1}\right \}\sum _{h_{2}}exp\left \{h_{2}w_{2}v+\beta _{2}h_{2}\right \}\cdots \sum _{h_{m}}exp\left \{h_{m}w_{m}v+\beta _{m}h_{m}\right \}\\ =\frac{1}{Z}exp\left \{\alpha ^{T}v\right \}\left (1+exp\left \{w_{1}v+\beta _{1}\right \}\right )\left (1+exp\left \{w_{2}v+\beta _{2}\right \}\right )\cdots \left (1+exp\left \{w_{m}v+\beta _{m}\right \}\right )

至此这个概率也就求出来了,不过我们还可以进行进一步的变换以发现一些其他的结论:

P(v)=\frac{1}{Z}exp\left \{\alpha ^{T}v\right \}\left (1+exp\left \{w_{1}v+\beta _{1}\right \}\right )\left (1+exp\left \{w_{2}v+\beta _{2}\right \}\right )\cdots \left (1+exp\left \{w_{m}v+\beta _{m}\right \}\right )\\ =\frac{1}{Z}exp\left \{\alpha ^{T}v\right \}exp\left \{log\left (1+exp\left \{w_{1}v+\beta _{1}\right \}\right )\right \}exp\left \{log\left (1+exp\left \{w_{2}v+\beta _{2}\right \}\right )\right \}\cdots exp\left \{log\left (1+exp\left \{w_{m}v+\beta _{m}\right \}\right )\right \}\\ =\frac{1}{Z}exp\left \{\alpha ^{T}v+\sum_{i=1}^{m}log\left (1+exp\left \{w_{i}v+\beta _{i}\right \}\right )\right \}

这里的log(1+e^x)就是softplus函数,它的图像与Relu函数对比如下:

softplus

四、概率图模型总结

回顾之前的文章中介绍过的各种概率图模型,我们可以总结一些它们的规律和特点以便于能够整体地理解和把握概率图模型这一大类。

  1. 朴素贝叶斯

朴素贝叶斯(Naive Bayes,NB)是最简单的概率图模型,满足条件独立性假设,也就是在给定y的条件下,x之间是相互独立的。朴素贝叶斯的概率图如下:

Naive Bayes

参考链接:线性分类|机器学习推导系列(四)

  1. 高斯混合模型

高斯混合模型(Gaussian Mixture Model,GMM)中引入了隐变量,这里的隐变量是离散的,并且在隐变量y的条件下观测变量x服从高斯分布。高斯混合模型的概率图如下:

高斯混合模型

参考链接:高斯混合模型|机器学习推导系列(十三)

  1. 状态空间模型

状态空间模型(State Space Model,SSM)可以看做高斯混合模型的拓展,它的隐变量现在是一个序列,并且状态空间模型满足齐次马尔可夫假设和观测独立假设。状态空间模型的概率图如下:

状态空间模型

状态空间模型根据它的随机变量是否连续以及是否是高斯分布分为三种类型:隐马尔可夫模型(Hidden Markov Model,HMM)、卡尔曼滤波(Kalman Filter)和粒子滤波(Particle Filter)。

隐马尔可夫模型参考链接:隐马尔可夫模型|机器学习推导系列(十七)
卡尔曼滤波参考链接:卡尔曼滤波|机器学习推导系列(十八)
粒子滤波参考链接:粒子滤波|机器学习推导系列(十九)

  1. 最大熵马尔可夫模型

最大熵马尔可夫模型(Maximum Entropy Markov Model,MEMM)打破了状态空间模型的观测独立假设吗,从而引入了观测变量之间的关联,不过它受限于标注偏置问题(Label Bias Problem)而没有被广泛使用。另外MEMM可以看做HMM与最大熵模型(Maximum Entropy Model,MEM,逻辑回归就是一个典型的最大熵模型)的结合。MEMM的概率图如下:

最大熵马尔可夫模型
  1. 条件随机场
  • 条件随机场

MEMM中存在标准偏置问题,而条件随机场(Conditional Random Fields,CRF)通过将MEMM改造成无向图模型从而解决了这个问题,条件随机场也就是带条件的马尔可夫随机场,作为一个无向图模型,CRF破坏了齐次马尔可夫假设。

  • 线性链条件随机场

经常用到的CRF是线性链条件随机场(Linear Chain-Conditional Random Fields,LC-CRF),LC-CRF中的隐变量是一个线性链,它的概率图如下:

条件随机场

参考链接:条件随机场|机器学习推导系列(二十一)

  1. 玻尔兹曼机
  • 玻尔兹曼机

在无向图的基础上如果引入隐变量也就得到了玻尔兹曼机(Boltzmann Machine,BM),并且玻尔兹曼机的概率分布满足指数族分布

  • 受限玻尔兹曼机

由于玻尔兹曼机的推断问题难以解决,也就有了受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)。受限玻尔兹曼机相当于满足了条件独立性,也就是在给定隐变量的条件下,观测变量之间是相互独立的,反之亦然。

  1. 总结

通过回顾上面的多种概率图模型,我们发现不同的概率图模型仅仅在以下几个方面存在不同的设定:
①方向(有向图还是无向图)——的性质;
②离散/连续/混合——的性质;
③条件独立性——的性质;
④隐变量——的性质;
⑤指数族分布——结构特点。

概率图模型作为机器学习传统的统计方法,虽然有时候会受到一些限制,效果不及当前的深度学习技术,但是作为机器学习的基础内容仍然值得学习和掌握。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容