下面就开始讲讲概率图中的Factor Graph。概率图博大精深,非我等鼠辈能够完全掌握,我只是通过研究一些通用的模型,对概率图了解了一点皮毛。其实我只是从概率这头神兽身上盲人摸象地抓掉几根毛,我打算就讲讲我抓掉这几根毛。

Factor Graph 是概率图的一种,概率图有很多种,最常见的就是Bayesian Network (贝叶斯网络)和Markov Random Fields(马尔可夫随机场)。在概率图中,求某个变量的边缘分布是常见的问题。这问题有很多求解方法,其中之一就是可以把Bayesian Network和Markov Random Fields 转换成Facor Graph,然后用sum-product算法求解。

Bayesian Network,Bayesian Network比较容易理解,主要是描述随机变量之间的条件依赖,用圈表示随机变量(random variables),用箭头表示条件依赖(conditional dependencies)

Bayesian Network的联合概率分布可以用贝叶斯链式法则来表示

例如:

p(A,B)=p(A)p(B|A)

p(A,B,C)=p(A)p(B|A)p(C|A,B)

Markov Random Fields是无向的概率图,和Bayesian Network一样,用圈表示变量,但是边于是无向的,只是表示变量之间有关系,不一定是条件概率的关系。但是也可以表示变量之间的条件独立性,但是没有有向图那么直观。

对于Markov Random Fields只是看到一些介绍,没又真正试过,所以不敢多说。

下面重点介绍Factor Graph和sum-product的算法

Factor Graph 是个二部图,有两类节点(圆代表variable,方块代表function)和无向边构成

例如上图的Factor Graph可以写成如下的联合概率分布:

其中fA,fB,fC,fD,fE为各函数,表示变量之间的关系,可以是条件概率也也可以是其他关系(如Markov Random Fields中的势函数)。

基于Factor Graph可以用sum-product算法可以高效的求各个变量的边缘分布。

sum-product算法,也叫belief propagation,有两种消息,一种是变量(Variable)到函数(Function)的消息(就是方块到圆的消息):mx→f,另外一种是函数(Function)到变量(Variable)的消息:mf→x

Factor Graph如果是树形的,也就是无环的,一定会存在叶子节点,一般从以下两种情况开始:

这时变量到函数的消息为: mx→f=1

这时变量到函数的消息为:mf→x=f(x)

如果Factor Graph是无环的,从以上两种叶子节点一定可以准确的求出任意一个变量的边缘分布,但是如果是有环的,是无法用sum-product算法准确求出来边缘分布的,但是我们也可以用sum-product算法来求,一般是选择环中的某个消息,随机赋个初值,然后用sum-product算法,迭代下去,因为有环,一定会到达刚才赋初值的那个消息,然后更新那个消息,继续迭代,这样下去,直到没有消息再改变为止,这种算法叫loopy belief propagation。LBF不能保证收敛,但是很多情况下它是收敛的。

举个例子,如下图,我们要求p(x3)

这不是偶然现象

Factor Graph和sum-product基本概率就到这里,估计没有学过和用过概率图的,到这步已经是云里雾里了,但是没有关系,我觉得一切理论,只用把它运用到实际中,才能算真正懂得。

此条目是由 admin 发表在 BPR 分类目录的。将固定链接加入收藏夹。

Online Bayesian Probit Regression介绍之Factor Graph的更多相关文章

  1. Factor Graph因子图

    参考链接1: 参考链接2: 参考ppt3: Factor Graph 是概率图的一种,概率图有很多种,最常见的就是Bayesian Network (贝叶斯网络)和Markov Random Fiel ...

  2. 贝叶斯线性回归(Bayesian Linear Regression)

    贝叶斯线性回归(Bayesian Linear Regression) 2016年06月21日 09:50:40 Duanxx 阅读数 54254更多 分类专栏: 监督学习   版权声明:本文为博主原 ...

  3. [ML] Bayesian Linear Regression

    热身预览 1.1.10. Bayesian Regression 1.1.10.1. Bayesian Ridge Regression 1.1.10.2. Automatic Relevance D ...

  4. [Scikit-learn] 1.1 Generalized Linear Models - Bayesian Ridge Regression

    1.1.10. Bayesian Ridge Regression 首先了解一些背景知识:from: https://www.r-bloggers.com/the-bayesian-approach- ...

  5. factor graph model

    主实验 文慧:用户,商品,评分,review,ranking. 数据集:数据规模,论文源代码

  6. 机器学习理论基础学习17---贝叶斯线性回归(Bayesian Linear Regression)

    本文顺序 一.回忆线性回归 线性回归用最小二乘法,转换为极大似然估计求解参数W,但这很容易导致过拟合,由此引入了带正则化的最小二乘法(可证明等价于最大后验概率) 二.什么是贝叶斯回归? 基于上面的讨论 ...

  7. [ML] Bayesian Logistic Regression

    简单概率分类 Ref: 逻辑回归与朴素贝叶斯有什么区别? Ref: 机器学习笔记——逻辑回归(对数几率回归)和朴素贝叶斯分类器的对比 首先,搞清楚一个问题. naive bayes 能分类:逻辑回归也 ...

  8. 微软的一篇ctr预估的论文:Web-Scale Bayesian Click-Through Rate Prediction for Sponsored Search Advertising in Microsoft’s Bing Search Engine。

    周末看了一下这篇论文,觉得挺难的,后来想想是ICML的论文,也就明白为什么了. 先简单记录下来,以后会继续添加内容. 主要参考了论文Web-Scale Bayesian Click-Through R ...

  9. GMIS 2017 大会陈雨强演讲:机器学习模型,宽与深的大战

    https://blog.csdn.net/starzhou/article/details/72819374 2017-05-27 19:15:36     GMIS 2017    10 0 5 ...

随机推荐

  1. 延迟实例化 Lazy<T>

    之前写的设计模式 单例模式中,推荐了使用Lazy<T>来达到线程安全和减少系统资源消耗的作用. 作用及优点: 创建某一个对象需要很大的消耗,而这个对象在运行过程中又不一定用到,为了避免每次 ...

  2. JDK和Tomcat部署

    author:JevonWei 版权声明:原创作品 JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境.SDK是Soft ...

  3. WebServices 之 WSDL

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt234 一,WSDL概述 WebServices Description La ...

  4. AppiumDesktop用法介绍

    转自:http://www.jianshu.com/p/bf1ca3d4ac76 写这篇文章的心情 真的很开心,我看着官网介绍竟然对AppiumDesktop略懂皮毛了.今天特意写出来,希望可以帮助一 ...

  5. 图论中DFS与BFS的区别、用法、详解…

    DFS与BFS的区别.用法.详解? 写在最前的三点: 1.所谓图的遍历就是按照某种次序访问图的每一顶点一次仅且一次. 2.实现bfs和dfs都需要解决的一个问题就是如何存储图.一般有两种方法:邻接矩阵 ...

  6. 软件工程(GZSD2015)学生博客列表

    2015年贵州师范大学软件工程课程学生博客列表 陈小丽 郑倩 唐洁 周娟 李利思 肖俊 罗文豪 周静 徐明艳 毛涛 邓洪虹 岳庆 李盼 安坤 何亚 涂江凤 张义平 杨明颢 杨家堂 胡贵玲 寿克霞 吴明 ...

  7. JAVA基础第六组(5道题)

    26.[程序26] 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母.         1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句 ...

  8. 201521123121 《JAVA程序设计》第7周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 参考资料: XMind 2. 书面作业 ArrayList代码分析 1.1 解释ArrayList的contains源代码 ...

  9. PTA中提交Java程序的一些套路

    201708新版改版说明 PTA与2017年8月已升级成新版,域名改为https://pintia.cn/,官方建议使用Firefox与Chrome浏览器. 旧版 PTA 用户首次在新版系统登录时,请 ...

  10. 201521123088《Java程序设计》第13周学习总结

    1.本周学习总结 2.书面作业 1. 网络基础1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? ping cec. ...