从马尔科夫链到吉布斯采样与PageRank

原创 2017年04月14日 15:02:58

马尔科夫链表示state的链式关系,下一个state只跟上一个state有关。
吉布斯采样通过采样条件概率分布得到的样本点,近似估计概率分布P(z)。PageRank通过节点间的连接,估计节点的重要程度r。吉布斯采样中,state代表不同的样本点,state的分布就是P(z)。PageRank中,state代表不同节点的分数,state的分布就是要求的r。不论吉布斯采样还是PageRank,state的分布本质上都是马尔科夫链,而最后都希望state的分布是独一并且稳定的。

这里写图片描述

Markov Chain

介绍

这里写图片描述

上图表示了一个典型的马尔科夫链,每个城市A、B、C代表不同的state。该图描述了不同state间的转移变化关系。并且下一个时间的state只和上一个时间的state有关。

稳定态

想象上述的马尔科夫链,state不停的变化,我们可以求出不同state的概率,也就是state的概率分布。

最简单的办法是列出不同state的概率公式,然后解线性方程组求解,如下:

这里写图片描述

可是,单一稳定的state不一定存在,例如下面两种情况:

  • Spider trapab,相当于状态被困在某区域(多个状态)。
  • Dead Endab,相当于状态被困在单个状态中。

那么,什么情况下才有单一稳定的state的存在呢?

单一稳定的state分布的存在的充分条件是:对于任意两个states1,s2,它们之间的状态转移概率不为0。也就是p(s1|s2)>0。也就是说,state间(包含自身)都有连接,这样的话便存在单一稳定的state分布。

Gibbs Sampling

介绍

Gibbs Sampling遇到的问题是:在已知P(zi|z1,...,zi1,zi+1,...zN)分布的情况下,求变量P(z)(z=z1,...,zN)的分布。

Gibbs Sampling的解决办法是:设置外循环t,遍历采样点数;设置内循环k,遍历特征数,对于每一个特征值ztk,根据分布ztkP(zk=ztk|z1=zt1,z2=zt2,...)采样ztk。最后,根据z1,z2,z3,...得到P(z)(z=z1,...,zN)的分布。

这里写图片描述

Gibbs Sampling与Markov

吉布斯采样的数据z1,z2,z3,...相当于马尔科夫链中不同的state(因为zt只和zt1有关)。如果马尔科夫链存在单一且稳定的状态分布,那么就可以通过采样求出P(z)(z=z1,...,zN)

下面,分两个步骤证明:

  1. Gibbs Sampling存在单一且稳定的状态分布。
  2. Gibbs Sampling单一且稳定的状态分布就是P(z)

Gibbs Sampling中条件概率没有0值确保了Gibbs Sampling存在单一且稳定的状态分布。
这里写图片描述

根据概率公式,可推导Gibbs Sampling单一且稳定的状态分布就是P(z)
这里写图片描述

Page Rank

介绍

Page Rank的哲学是:一个点的重要性跟这个点的in-link有关,不同的in-link权重不一样,score越大的节点对应的in-link也就越重要。
令节点的score向量为r,节点的邻接矩阵为M。那么,rM的关系可写作:

r=Mr

示例如下:
这里写图片描述

这个例子中,可以把矩阵M和向量r相乘当做M的列以向量r为权重进行线性组合,矩阵M同一列的不同行代表该节点向其他节点的分发连接。这样理解起来就比较清晰了。

r的求解可以使用特征值-特征向量分解,最大特征值对应的特征向量即是r

稳定性

r的值在满足特定情况下才是单一且稳定的。

实际计算Page Rank中,需要增加一个条件:每个节点都有1N的概率变换到任何其他节点状态。

原来的式子是:

r=Mr

考虑稳定性后的式子是:

Ar=βM+(1β)1N11T=Ar

示例如下:

这里写图片描述

稀疏计算

在上面的计算公式中,矩阵A是稠密的,空间复杂度是O(N2),占得空间很大。

因此,改进计算如下:

Arr=βM+(1β)1N11T=Ar=βMr+1βN

随机采样和随机模拟:吉布斯采样Gibbs Sampling

http://blog.csdn.net/pipisorry/article/details/51373090 马氏链收敛定理 马氏链定理: 如果一个非周期马氏链具有转移概率矩阵P,且它的任何两个...
  • pipisorry
  • pipisorry
  • 2016年05月12日 00:24
  • 31952

吉布斯采样——原理及matlab实现

原文来自:https://victorfang.wordpress.com/2014/04/29/mcmc-the-gibbs-sampler-simple-example-w-matlab-code...
  • zb1165048017
  • zb1165048017
  • 2016年06月28日 20:52
  • 9639

Gibbs Sampling(吉布斯采样)

为什么要写关于Gibbs Sampling的文章呢?首先Gibbs Sampling是有用滴,Gibbs Sampling在机器学习中主要用于学习阶段的推理,比如求期望(平均值)和积分;再者网上的关于...
  • x_yz_
  • x_yz_
  • 2013年12月19日 18:04
  • 13827

马尔科夫过程与吉布斯采样

随机模拟(或者统计模拟)方法有一个很酷的别名是蒙特卡罗方法(Monte Carlo Simulation)。这个方法的发展始于20世纪40年代,和原子弹制造的曼哈顿计划密切相关,当时的几个大牛,包括乌...
  • mountzf
  • mountzf
  • 2016年11月12日 20:36
  • 1113

随机采样和随机模拟:吉布斯采样Gibbs Sampling实现文档分类

http://blog.csdn.net/pipisorry/article/details/51525308 吉布斯采样的实现问题 本文主要说明如何通过吉布斯采样进行文档分类(聚类),当然更复杂...
  • pipisorry
  • pipisorry
  • 2016年05月29日 21:23
  • 12376

(转载)机器学习知识点(十三)吉布斯采样法(Gibbs Sampling)

3.1 随机模拟 随机模拟(或者统计模拟)方法有一个很酷的别名是蒙特卡罗方法(Monte Carlo Simulation)。这个方法的发展始于20世纪40年代,和原子弹制造的曼哈顿计划密切相关...
  • fjssharpsword
  • fjssharpsword
  • 2017年03月03日 10:17
  • 2404

MCMC:Gibbs 采样(matlab 实现)

MCMC: The Gibbs Sampler 多元高斯分布的边缘概率和条件概率 Marginal and conditional distributions of multivariate no...
  • lanchunhui
  • lanchunhui
  • 2017年04月03日 22:12
  • 1265

简单易学的机器学习算法——Gibbs采样

一、Gibbs采样概述前面介绍的Metropolis-Hastings采样为从指定分布中进行采样提供了一个统一的框架,但是采样的效率依赖于指定的分布的选择,若是选择的不好,会使得接受率比较低,大量的采...
  • google19890102
  • google19890102
  • 2016年07月04日 11:29
  • 8678

受限玻尔兹曼机准备知识——MCMC方法和Gibbs采样

MCMC方法:马尔可夫链-蒙特卡洛方法  (千万别叫成梅特罗波利斯蒙特卡罗方法了) Metropolis-Hastings采样:梅特罗波利斯-哈斯廷斯采样 Gibbs采样:吉布斯采样...
  • zb1165048017
  • zb1165048017
  • 2016年03月10日 18:49
  • 2546

深度网络 Fine-tuning方法简介

迁移学习有两种方式,一是卷积网络作为固定的特征提取器.拿到一个预训练好的卷积网络,去掉全连接层,吧其余的部分作为一个特征提取器.alex网络会计算一个4096D的特征向量,称之为cnn codes.有...
  • wendox
  • wendox
  • 2016年10月17日 17:36
  • 3096
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:从马尔科夫链到吉布斯采样与PageRank
举报原因:
原因补充:

(最多只允许输入30个字)