限制玻尔兹曼机 Restricted Boltzmann Machine (RBM)

1.基础知识

要理解限制玻尔兹曼机,需要的基础知识为:
1.最大似然估计,这是我的上一篇博客。
2.玻尔兹曼分布(Boltzmann distribution)
Boltzmann分布是一个系统中各种状态时,粒子的概率分布,概率测量或频率分布:

F(state)eEkT

是正比于符号, E 是状态能量, k 是玻尔兹曼常数(Boltzmann constant), T
热力学温度。
pi=eεkTMj=1eεj/kT

pi 表示状态 i 的可能性, ε 为能量。由上式可知,能量越高的出现的概率越小,

2.限制玻尔兹曼机 Restricted Boltzmann Machine (RBM)

限制波尔兹曼机 Restricted Boltzmann Machine (RBM)是深度学习中用于特征学习的,所以他的目标也是Wake-Sleep中先认知再生成,两者的误差最小。
限制玻尔兹曼机 Restricted Boltzmann Machine (RBM)_第1张图片
所以它的目标便是得到一个权重使得,原输入和一次认知再生成后生成的数的误差最小。
在上图的结构中,下层是可视层(像素层),它的偏置用 b 表示,上层是隐藏层(特征描述),它的偏置单元用 c 来表示,中间的 w 代表权重。
RBM是一个层内节点互相独立,层间节点的联合概率分布满足Boltzmann分布的二部图模型。引入能量函数,

E(v,h)=j=1lbjvji=1scihij=1li=1svjhiwij

可视节点(Visible)和隐藏节点(Hidden)的联合概率分布为
p(v,h)=1ZeE(v,h)

式中: Z=v,heE(v,h) 是能量函数的指数函数的和。
然后,我们就可以得到
p(v)=heE(v,h)v,heE(v,h)
p(v|h)=eE(v,h)veE(v,h)

同理,可知 p(h) , p(h|v)
这时,可以定义 vp(v) 的似然函数为
L(θ)=1Nn=1Nlogpθ(v(n))

N 为节点的个数, θ={w,b,c} ,
(因为,我们知道 v 层的值,根据我上个博客的例子一,就相当于抽出的球的序列,而 h 相当于要求的 p ,或者要求拟合这个模型的参数)
这样,我们就可以求出 θ ,即 w,b,c
L(θ)Wij=EPdata[vjhi]Epθ[vjhi]

其中获得模型期望比较困难,有兴趣的同学可以搜下 CDk(contrastive divergence) 方法。
以上就是限制玻尔兹曼机的大概内容了。

你可能感兴趣的:(机器学习,深度学习,统计学)