之前忘记强调了一个重要差别:条件概率链式法则和贝叶斯网络链式法则的差别

条件概率链式法则

贝叶斯网络链式法则,如图1

图1

乍一看非常easy认为贝叶斯网络链式法则不就是大家曾经学的链式法则么,事实上不然,后面详述。

上一讲谈到了概率分布的因式分解

\begin{array}{l}P\left({X,Y\left| Z \right.} \right) = P\left( {X\left| Z \right.} \right)P\left({Y\left| Z \right.} \right)\\P\left({X\left| {Y,Z} \right.} \right) = P\left( {X\left| Z \right.} \right)\\P\left({Y\left| {X,Z} \right.} \right) = P\left( {Y\left| Z \right.} \right)\\P\left({X,Y,Z} \right) \propto {\phi _1}\left( {X,Z} \right)\phi \left( {Y,Z} \right)\end{array}" alt="">

能够看到条件概率的独立性能够直接从概率分布表达式看出来。

我们已经用概率图模型把概率关系用图形化G表示了,独立性能从图上直接看出来吗?

当然。上一讲已经详解过了概率图中概率的流动关系.

当G已知时。S和D之间的概率才干相互影响。

以下定义一个依赖隔离的概念。

依赖隔离(D-separation)

在Z已知的情况下,X与Y之间没有通路。

则称之为X与Y依赖隔离。记作

介绍个定理:“图不通就独立定理”(当然是为了好理解)

这个定理是说,若概率图满足依赖隔离

则有X与Y条件独立

来证明一下。如今用的是贝叶斯网络链式法则。如图2

图2

利用的还是之前那个把求和拆分的Trick。这里要注意一開始求和的脚标是G、I、L

如今分给了3部分L和G部分求和后当然就等于了1,可是I部分则不然,被求和的部分是S。而求和脚标是I,这样就没法继续合并了。只是我们回忆之前的独立等价条件最后一条是说:

P\left({X,Y,Z} \right) \propto {\phi _1}\left( {X,Z} \right)\phi \left( {Y,Z} \right)" alt="">

这样就搞定了,发现D与S还是独立的。

这样就证明了“图不通就独立定理”。

那么不禁要问,图什么情况下不通呢?

先说结论:在已知父节点时,该节点与后代节点以外的节点不通。

姑且叫做“不通原则”

说的好啰嗦,直接看图,如图3

图3

我们以Letter节点作为样例。他的父节点时Grade,他的子孙是Job和Happy,所以他和剩下来的SAT、Intelligence、Difficulty、Coherence不通了。粗略分析下。这个环上面走不通是由于Grade已知了;以下走不通是由于Job不知道。分析原理上一讲已经详述了。

定义一个Imap

既然图不通就独立,假设这个不通的图G相应的概率分布是P,我们就称G是P的I-map(independencymap)。

假设独立的概率分布P能够依照某个图G分解,那么G就是P的Imap。

反过来。假设G是概率分布P的Imap,那么P能够依照G来进行分解。

因此概率图的就有了2种等价的观点

1.概率图G是用来表示概率分布P的。

2.P是用来表达概率图G所展示的独立关系的。

证明一下概率图和概率分布为啥是一回事

先写出图1中的条件,如图4所看到的,用条件概率的链式法则写出P,由G中连接关系能够化简成为贝叶斯网络的链式法则。

图4

尤其注意为什么有

这里要用到之前说明的“不通原则”,L在已知D、G、I、S的前提下。他的非后代节点(他也没有后代节点)是D、I、S。所以直接去掉。

这就说明了概率独立关系与概率图的连接关系事实上是一回事。

以下介绍朴素贝叶斯模型

这个朴素贝叶斯叫做(Naïve Bayes)又叫(IdiotBayes…)

主要的朴素贝叶斯模型如图5。

图5

全部的X都是条件独立的,即

由贝叶斯网络的链式法则easy得到

P\left( {C,{X_1}, \ldots ,{X_n}}\right) = P\left( C \right)\prod\limits_{i = 1}^n {P\left( {{X_i}\left| C\right.} \right)}" alt="">

有2类经常使用的朴素贝叶斯模型

举个样例说明两种贝叶斯模型各自是怎么起作用的。

如今有一篇文档,由非常多单词组成。如今有2个类别可供选择各自是“有关財务”和“有关宠物”。如今要把这篇文章归档。

其一:伯努利朴素贝叶斯(Bernoulli Naive Bayes)

伯努利朴素贝叶斯如图6。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWNoZW5nX3NqdHU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

图6

这样的方式实质上是“查字典”,它把cat、dog、buy这些当做字典里的词目。

之所以伯努利是由于,这样的方式仅仅管分析文章里面有没有出现词典里的词目,而无论出现了多少次。

词典的条目都是仅仅有0-1的二项分布随机变量。

文档属于这两类的概率分别为

\frac{{P\left( {C = {c^1}\left| {{x_1}, \ldots ,{x_n}} \right.} \right)}}{{P\left( {C = {c^2}\left| {{x_1}, \ldots ,{x_n}} \right.} \right)}} = \frac{{P\left( {C = {c^1}} \right)}}{{P\left( {C = {c^2}} \right)}}\prod\limits_{i = 1}^n {\frac{{P\left( {{x_i}\left| {C = {c^1}} \right.} \right)}}{{P\left( {{x_i}\left| {C = {c^2}} \right.} \right)}}} " alt="">

每个小乘积项代表了“假设这是一篇財务文档。能出现cat字眼的概率是0.001”这种意义。

为啥这个朴素了。由于它如果了每一个词的条目出现是相互不影响的。

其二:多项式朴素贝叶斯(Multinomial Naïve Bayes)

这样的方式与伯努利有本质不同。如图7

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWNoZW5nX3NqdHU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

图7

W这些单元再也不是词典的条目了,而是待分类文章中的真实单词。

假如这篇文章写了1991个词,那么就有1991个W

文档属于这两类的概率依旧分别为

每个小乘积项代表了“假设这是一篇財务文档。在文章里随意一个位置出现cat的概率是0.001”这种意思。你看表还是那张表,可是如今全然不一样了!

由于如今要求cat+dog+buy+sell这些概率加起来要等于1。而伯努利没这个限制,随意等于多少。这个差别非常重要。

为什么这个贝叶斯也是朴素的呢?由于它假定了在文章全部位置出现cat的概率是满足相同的分布的,实际明显不可能好不好。就像“敬爱的”必定一般都会出如今开头。谁会在文章写到一半来句这个。。。

总之朴素贝叶斯确实朴素,它仅仅能用于随机变量相关性较弱的情况,但非常多情况实际确实挺弱的。。

。所以朴素贝叶斯的效果Surprisingly effective

朴素贝叶斯被广泛使用于各种领域。

这里就不展开了。

长处还蛮多的。

欢迎參与讨论并关注本博客微博以及知乎个人主页兴许内容继续更新哦~

转载请您尊重作者的劳动,完整保留上述文字以及文章链接,谢谢您的支持。

概率图模型(PGM)学习笔记(四)-贝叶斯网络-伯努利贝叶斯-多项式贝叶斯的更多相关文章

  1. 概率图形模型(PGM)学习笔记(四)-贝叶斯网络-伯努利贝叶斯-贝叶斯多项式

    之前忘记强调重要的差异:链式法则的条件概率和贝叶斯网络的链式法则之间的差异 条件概率链式法则 P\left({D,I,G,S,L} \right) = P\left( D \right)P\left( ...

  2. 官网实例详解-目录和实例简介-keras学习笔记四

    官网实例详解-目录和实例简介-keras学习笔记四 2018-06-11 10:36:18 wyx100 阅读数 4193更多 分类专栏: 人工智能 python 深度学习 keras   版权声明: ...

  3. ensorflow学习笔记四:mnist实例--用简单的神经网络来训练和测试

    http://www.cnblogs.com/denny402/p/5852983.html ensorflow学习笔记四:mnist实例--用简单的神经网络来训练和测试   刚开始学习tf时,我们从 ...

  4. Java IO学习笔记四:Socket基础

    作者:Grey 原文地址:Java IO学习笔记四:Socket基础 准备两个Linux实例(安装好jdk1.8),我准备的两个实例的ip地址分别为: io1实例:192.168.205.138 io ...

  5. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  6. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  7. java之jvm学习笔记四(安全管理器)

    java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...

  8. Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  9. Typescript 学习笔记四:回忆ES5 中的类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

随机推荐

  1. Hadoop学习之Hadoop集群搭建

    1.检查网络状况 Dos命令:ping ip地址,同时,在Linux下通过命令:ifconfig可以查看ip信息2.修改虚拟机的ip地址    打开linux网络连接,在桌面右上角,然后编辑ip地址, ...

  2. Java中的流程控制(一)

    程序的流程控制(一) 关于Java程序的流程控制(一) 从结构化程序设计角度出发,程序有三种结构: 顺序结构 选择结构 循环结构 1.顺序结构 就是程序从上到下一行行执行,中间没有判断和跳转. 2.i ...

  3. 一周学会Mootools 1.4中文教程:(3)事件

    今天我們講解一下mt的事件部分,对于事件的讲解主要包含三部分,分别是:绑定,移除,和触发,我们首先来看一个例子 //jquery的事件绑定方式$('a').click(function){ alert ...

  4. 基于linux c的mysql操作——幼儿园数据管理系统

    上周对于mysql进行了简单的学习,利用c对mysql进行操作,主要用到了以下几个函数: mysql_init(); mysql_real_connect(数据库变量指针,网络地址,用户名,登录密码, ...

  5. Javascript实现DIV的隐藏和出现

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  6. Codeforces 700B Connecting Universities(树形DP)

    [题目链接] http://codeforces.com/problemset/problem/700/B [题目大意] 给出 一棵n个节点的树, 现在在这棵树上选取2*k个点,两两配对,使得其配对的 ...

  7. java类的封装、继承、多态

    一.封装(encapsulation) 封装性就是把类(对象)的属性和行为结合成一个独立的相同单位,并尽可能隐蔽类(对象)的内部细节,对外形成一个边界,只保留有限的对外接口使之与外部发生联系.封装的特 ...

  8. SRM 585 DIV 1 总结

    题意:给你一棵高度为H的完全二叉树的路,问最少需要多少辆车把这路走完,车子不能返回. 那么最优的方案就是从小到上一层层的走完,就很容易地可以得到一种递推,需要注意的就是dp[0]  = 1 #incl ...

  9. Android导航栏ActionBar的具体分析

    尊重原创:http://blog.csdn.net/yuanzeyao/article/details/39378825 关于ActionBar,相信大家并不陌生,可是真正能够熟练使用的也不是许多,这 ...

  10. js字面量

    以前一直对js字面量模棱两可. '字面量是一种表示值的记法.' js字面量(literal) 分为以下几个 number literal        8   就是数字字面量 string liter ...