RBM学习算法——Gibbs采样、变分方法、对比散度、模拟退火
在学习Hinton的stack autoencoder算法(论文 Reducing the Dimensionality of Data with Neural Networks)之前需要了解什么是RBM,现在就我学习的情况,查找的资料(大部分来自博客、论文),简单介绍一下RBM。(当然,这里面还有同组实验的同学提供的资料,借用一下。。。)
目录
RBM学习算法——Gibbs采样、变分方法、对比散度、模拟退火
RBM评估
当前在对RBM 的研究中,典型的学习方法有Gibbs 采样(Gibbs sampling)算法,变分近似方法(variational approach),对比散度(contrastive divergence,CD)算法,模拟退火(simulate annealing) 算法等。下面对这些方法进行对比。
1、Gibbs采样算法
(1)简介
Gibbs 采样(Gibbs sampling)算法是一种基于马尔可夫链蒙特卡罗(Markov Chain Monte Carlo, MCMC)策略的采样方法。wikipedia称gibbs抽样为
In statistics and in statistical physics, Gibbs sampling or a Gibbs sampler is a Markov chain Monte Carlo (MCMC) algorithm for obtaining a sequence of observations which are approximately from a specified multivariate probability distribution (i.e. from the joint probability distribution of two or more random variables), when direct sampling is difficult.
意思是,在统计学和统计物理学中,gibbs抽样是马尔可夫链蒙特卡尔理论(MCMC)中用来获取一系列近似等于指定多维概率分布(比如2个或者多个随即变量的联合概率分布)观察样本的算法。
MCMC是用于构建 Markov chain随机概率分布的抽样的一类算法。MCMC有很多算法,其中比较流行的是Metropolis-Hastings Algorithm,Gibbs Sampling是Metropolis-Hastings Algorithm的一种特殊情况。
Markov chain 是一组事件的集合,在这个集合中,事件是一个接一个发生的,并且下一个事件的发生,只由当前发生的事件决定。用数学符号表示就是:
A={ a1,a2 … ai, ai+1,… at }
P(ai+1| a1,a2,…ai) = P(ai+1| ai)
这里的ai