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

条件概率链式法则

贝叶斯网络链式法则,如图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. Linux学习之chage命令

    功能:修改帐号和密码的有效期限用法:chage[-l][-m mindays][-M maxdays][-I inactive][-E expiredate][-W warndays][-d last ...

  2. 浅谈 non-blocking I/O Multiplexing + poll/epoll 的正确使用

    在前面的文章中曾经粗略讲过poll,那时是用阻塞IO实现,在发送和接收数据量都较小情况下和网络状况良好的情况下是基本没有问题的,read 不会只接收部分数据,write 也不会一直阻塞.但实际上pol ...

  3. Django Web开发【7】 投票与评论

    为了让用户更好的发现和共享bookmark,可以提供投票与评论功能.现在我们的主页还是一个很简单的欢迎页面,我们可以让用户在主页共享自己的bookmark,此外,用户还可以对主页的bookmark进行 ...

  4. mssql索引使用情况查询

    可通过查询dm_db_index_usage_stats表取得对应表索引被使用次数. 列名 数据类型 说明 database_id smallint 在其中定义表或视图的数据库的 ID. object ...

  5. java核心技术学习笔记之三程序设计结构

    一 基本数据结构 必须包括在类中 必须具备 public static main方法 大小写敏感 二.数据类型 四种整数类型: Int 4字节 short 2字节 long8字节 byte1字节 二种 ...

  6. tomcat链接mysql时超时报错java.io.EOFException: Can not read response from server. Expected to read 4 bytes,

    需要在配置文件里加上下面就ok了 <property name=”minEvictableIdleTimeMillis” value=”1800000″ /> <property n ...

  7. HDU 5768 Lucky7(CRT+容斥原理)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5768 [题目大意] 求出一个区间内7的倍数中,对于每个ai取模不等于bi的数的个数. [题解] 首 ...

  8. dataguard dubugs

    alter database open read only;alter database open read only*ERROR at line 1:ORA-10456: cannot open s ...

  9. 模式匹配-KMP算法

    /***字符串匹配算法***/ #include<cstring> #include<iostream> using namespace std; #define OK 1 # ...

  10. ANDROID对文件的操作介绍

    1. Android遵循MVC设计思想: M(业务层):service V:视图(main.xml). C:Activity 2.使用文件如何对数据进行存储 Activity提供了openFileOu ...