博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
受限波尔茨曼机(RBM)
阅读量:3731 次
发布时间:2019-05-22

本文共 1959 字,大约阅读时间需要 6 分钟。

1.波尔茨曼机(BM)是一种含有隐变量观测变量无向图模型

2.受限波尔茨曼机(RBM)是加了约束条件的BM:隐变量与观测变量之间有连接,而它们自己内部无连接

3.RBM满足局部马尔科夫性,给定观测变量,隐变量之间条件独立

4.RBM观测变量的边缘分布含有softplus函数形式

波尔茨曼机,英文是Bottzmann Machine,简称BM,它是一种含有隐变量(hidden variable)观测变量(observed variable)的无向图模型(MRF)。简单点说,它就是一种无向图模型,比如下面的无向图就是一个波尔茨曼机

注:我们用灰色节点表示观测变量(用v表示),无上色的节点为隐变量(用h表示)

无向图的联合概率分布

在一文中介绍了马尔科夫随机场的联合概率分布,这里对它的表达式做一个较深的讲解,根据Hammersley Clifford定理有:

上述式子的意思是,无向图的联合概率分布能够因子分解为定义在最大团上的正函数的乘积

最大团的概念,在文章中给出了错误的定义,在做了勘误,这里再给出一次:

设X是节点集的子集,如果X中的任意两个节点均由一条边连接,那么X上的子图是完全子图,集合X称为团;对于节点的任意超集Y⊃X,如果Y不是团,那么称X是最大团

定义来源:《概率图模型原理与技术》

Z称为归一化因子,有时候也称为配分函数,它是等于:

注:我们研究的概率图模型大多都是离散的,所以将它们写成连加符号

对于归一化因子,有些情况它无法求解,我们不久就会重点对它进行讲解(指数族分布章节),这里先按下不表,先知道它的形式即可。

根据定义,势函数要严格大于0,我们取指数形式:

E被称为能量函数(energy function).

最终我们的联合分布可以表示为:

上面形式满足指数族分布形式,满足最大熵原理(马上出文章介绍)。这个也叫波尔茨曼分布(Bottzmann Distribution

拓展:对波尔茨曼分布的感性理解

无向图的概率分布牵涉太多知识,势函数、能量函数、配分函数。有点复杂,我们来做个感性理解。

实际上,波尔茨曼是一个物理学家,波尔茨曼分布原本研究是一个物理系统,这个物理系统由粒子构成(原子或分子)。假设这些粒子有n个系统状态,它们本身有能量,而且会相互碰撞。那么若粒子能量越大,它挣脱当前束缚的能力就越高,从当前状态转移到另一个状态的概率就越大:

k是常数,T是温度,E就是能量。可以看到,E越大,p越小,处于当前状态的概率越低

其实明白力学第二定律的很容易理解,有兴趣的读者可以了解一下,因为这里是讲机器学习的,我们不再拓展了(小编大学修过两年物理学,略懂略懂,皮一下挺开心)

受限波尔茨曼机

在波尔茨曼机里,假设有p个节点,我们用h表示隐变量集合,v表示观测变量集合:

波尔茨曼机的模型推断问题过于复杂,精确推断几乎不可能,近似推断,比如MCMC,计算量也十分的巨大。为了化简问题,我们做一些限制,这就引出了受限波尔茨曼机,英文是Restricted Bottzmann Machine,简称RBM

受限波尔茨曼机做出的限制是:

隐变量与观测变量之间有连接,而它们自己内部无连接

受限波尔茨曼机的概率图如下面类似:

我们这里主要研究RBM,以后在深度学习会进一步介绍波尔茨曼机。

w表示两个节点相连的边,根据因子图,每一个最大团可以分为三部分

符号为了后面简化运算。

于是我们可以把受限波尔茨曼机的联合概率分布表示出来:

w,α,β是需要学习的参数.

展开可得:

这个就是RBM的联合概率分布形式。

它的概率图模型为:

RBM的后验概率

RBM的Learning问题比较复杂,我们这一篇先不讲,而RBM模型推断主要是求后验和边缘概率,我们这节先来介绍后验概率。

我们来看看如何求p(h|v)

很显然,给定v,hi与hj条件独立,因为它们满足局部马尔科夫性给定某变量的邻接变量,则该变量条件独立于其他变量.

考虑h只有0、1两种状态,则

对能量函数做简化,提取与hl有关的项:

红色框记作:

非红色框记为:

所以能量函数可以写作:

则hl取1和0时概率分布为:

于是,我们得到后验

此时后验是一个sigmoid函数。

又根据条件独立性可以得到:

于是可求得后验分布。

p(v|h)是一样的,符号变换一下即可。这里不再赘述!

RBM的边缘概率

这节我们求边缘概率分布p(v),我们依然只考虑隐状态只有1和0两种状态,对联合概率分布:

w是边的参数,我们引入矩阵W存储它们:

wi表示行向量。

边缘概率分布p(v)可以简化:

又因为对任一hi,有:

所以边缘分布p(v)可以化为:

其中,log部分是softplus函数:

它的图像是

最后总结一下得到p(v)

转载地址:http://jolnn.baihongyu.com/

你可能感兴趣的文章
爬虫selenium框架爬取携程酒店数据
查看>>
Exception in thread “main“ java.lang.ArrayIndexOutOfBoundsException: 4
查看>>
逆序输出一个数字Python
查看>>
安装虚拟机及Linux系统常见问题解决 虚拟机黑屏 主机重启
查看>>
批改网不能粘贴使用selenium输入作文正文
查看>>
2021-05-27 爬虫数据输出\uXXXX如何转化中文
查看>>
Linux Ubuntu系统完整安装MySQL步骤及配置远程主机连接
查看>>
java后端学习小组近段时间学习感悟
查看>>
LeedCode刷题感悟
查看>>
LeedCode刷题经验之寻址对称子序列:
查看>>
16周个人总结
查看>>
Android Studio下载
查看>>
埃拉托列尼塞算法(求质数)
查看>>
欧几里得算法(原始形式减法)证明
查看>>
扩展欧几里得算法
查看>>
XML Schema 简易入门教程
查看>>
Java反射机制学习笔记(1)
查看>>
关于浏览器下载文件名乱码问题
查看>>
双子针算法总结
查看>>
二叉树的非递归前序,中序,后序遍历实现(java,全部用栈)
查看>>