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

条件概率链式法则

贝叶斯网络链式法则,如图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. shell 守护进程

    #!/bin/sh #守护进程,接受2个参数 #para CMD 执行的命令 #pare ID 唯一标识改命令 if [ "$1" = "" -o " ...

  2. 在zendstudio上配置SVN

    本文介绍zendstudio结合SVN的使用方法. 一.部署svn服务器 直接安装用svn软件,配置太过麻烦,用户和版本库.权限管理不太方便.推荐使用CollabNetSubversionEdge.以 ...

  3. html+css基础

    完整的HTML结构 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  4. FileInputStream(字节流)与fileReader(字符流) 的区别

    FileInputStream 类 1 ) FileInputStream 类介绍: 以字节为单位的流处理.字节序列:二进制数据.与编码无关,不存在乱码问题. FileInputStream 类的主要 ...

  5. 测试scanf输入含非法控制符

    心得: 学到scanf命令时第一个想到的就是可以利用scanf做一个十进制转16进制.八进制的小程序,很天真的以为也可以转二进制,在搜索字符控制符的时候才知道原来没有二进制的控制字符,需要换算出来得出 ...

  6. OP(Over-provisioning)预留空间

    SSD上的OP指的是用户不可操作的容量,大小为实际容量减去用户可用容量,OP区域一般被用于优化操作如:WL,GC和坏块映射等.       OP一般分三层(见下图).第一层容量固定为SSD标称容量的7 ...

  7. hdoj 2620 Bone Collector(0-1背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 思路分析:该问题为经典的0-1背包问题:假设状态dp[i][v]表示前i件物品恰放入一个容量为v ...

  8. php抽象类和接口

    接口 使用接口,你可以指定某个类必须实现那些方法,但是不需要定义这些方法的具体内容,我们可以通过interface来定义一个接口,就像定义标准类一样,但其中定义所有的方法都是空的,接口中定义的所有的方 ...

  9. Ordering Tasks(拓扑排序+dfs)

    Ordering Tasks John has n tasks to do. Unfortunately, the tasks are not independent and the executio ...

  10. Android杂谈--ListView之BaseAdapter的使用

    话说开发用了各种Adapter之后感觉用的最舒服的还是BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却能实现很多自己喜欢的列表布局,比如ListView.GridView.Gal ...