IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 概率图模型--贝叶斯网络 -> 正文阅读

[人工智能]概率图模型--贝叶斯网络

概率图模型–贝叶斯网络 – 潘登同学的Machine Learning笔记

概率图模型

什么是概率图

概率图只是一个框架, 是一种方法论, 跟计算机中的万物皆可动规的思路一样;

概率图是概率论与图论的结合产物, 为统计推理和学习提供了一个统一灵活的框架;

概率图模型提供了一个描述框架, 使我们能够将不同领域的知识抽象为概率模型, 将各种应用中的问题都归结为计算概率模型里某些变量的概率分布, 从而将知识表示和推理分开来

其实图论也不是必要的, 只是借用了图的一些特点来描述概率模型, 如果你对图论感兴趣, 那么你可以去康康潘登同学的图论笔记

概率图模型的三要素–表示、推理、学习

概率图模型的表示

图中节点: 表示变量

图中边: 表示局部变量间的概率依赖关系

  • 概率图模型的表示刻画了模型的随机变量在变量层面的依赖关系, 反应出问题的概率结构, 为推理算法提供了数据结构, 概率图模型的表示方法主要有贝叶斯网络, 马尔科夫随机场, 因子图等;

    • 贝叶斯网络

    在这里插入图片描述

    • 马尔科夫随机场

    马尔科夫随机场

    • 因子图

    在这里插入图片描述

  • 概率图模型表示主要研究的问题是, 为什么联合概率分布可以表示为局部势函数的联乘积形式, 如何在图模型建模中引入先验知识;

概率图模型的推理

  • 求解边缘概率
    p ( x a ) = ∑ x ╲ x α p(\bf{x_a}) = \sum_{\bf{x \diagdown x_{\alpha}}} p(xa?)=xxα??

  • 求最大后验概率状态
    X ? = arg?max ? x ∈ χ p ( x ) X^{*} = \argmax_{\bf{x}\in \chi} p(\bf{x}) X?=xχargmax?p(x)

  • 求归一化因子
    Z = ∑ x ∏ c ? c ( x c ) Z = \sum_{\bf{x}} \prod_{c} \phi_c(\bf{x}_c) Z=x?c??c?(xc?)

概率图模型的学习

  • 参数学习: 已知图模型的结构, 学习模型的参数;

  • 结构学习: 从数据中推断变量之间的依赖关系;

三者的联系

概率图模型的表示
概率图模型的推理
概率图模型的学习

贝叶斯网络

但在此之前要引入一些预备知识;

朴素贝叶斯

  • 贝叶斯公式
    P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B) = \frac{P(B|A)P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)?

  • 机器学习下的贝叶斯公式

把B理解为具有某种特征X, 把A理解为具有某种标签Y;改写贝叶斯:
P ( Y ∣ X ) = P ( X ∣ Y ) P ( Y ) P ( X ) P(Y|X) = \frac{P(X|Y)P(Y)}{P(X)} P(YX)=P(X)P(XY)P(Y)?

深刻理解 上面的公式左边是要求解的先验概率!!! 右边是从历史数据中获取的, 历史数据即知道X和Y也能计算P(X|Y), 而我们要求的是, 在已知X的条件下Y出现的概率(也就是由因索果);

注意 上面公式成立的条件: 特征间相互独立

其实跟我们的PCA的结果一样, 其实也跟多元线性回归的假设一样(多元线性回归不允许出现多重共线性, 因为系数不能解释, 而机器学习没有这个假设, 但是存在相关关系会让机器学习的数据质量下降, 这里不做详细讨论)

  • 由特征独立再改写贝叶斯

则有:
P ( X ) = P ( x 1 ) P ( x 2 ) ? P ( x n ) ( x i ∈ X ( i = 1 , 2 , … , n ) P(X) = P(x_1)P(x_2)\cdots P(x_n) (x_i\in X(i=1,2,\ldots, n) P(X)=P(x1?)P(x2?)?P(xn?)(xi?X(i=1,2,,n)

所以:
P ( X ∣ Y ) = P ( x 1 ∣ Y ) P ( x 2 ∣ Y ) ? P ( x n ∣ Y ) P(X|Y) = P(x_1|Y)P(x_2|Y)\cdots P(x_n|Y) P(XY)=P(x1?Y)P(x2?Y)?P(xn?Y)

贝叶斯公式:
P ( Y ∣ X ) = ∏ i = 1 n P ( x i ∣ Y ) P ( Y ) ∏ i = 1 n P ( x i ) P(Y|X) = \frac{\prod_{i=1}^{n}P(x_i|Y)P(Y)}{\prod_{i=1}^{n}P(x_i)} P(YX)=i=1n?P(xi?)i=1n?P(xi?Y)P(Y)?

上式也被称为朴素贝叶斯

贝叶斯网络

有向无环图模型, 是一种模拟人类推理过程中因果关系的不确定处理模型, 其网络拓扑构造是一个有向无环图;

本质还是贝叶斯那套

历史数据
P(因|果)
P(果|因)
  • 示意图
    贝叶斯网络

贝叶斯网络有向无环图中的节点表示随机变量 { x 1 , x 1 , … , x n } \{x_1, x_1, \ldots, x_n\} {x1?,x1?,,xn?}(可以是可观测到的变量、隐变量、未知参数等); 认为有因果关系(非条件独立)就可以相连;

如上图中的Smoking会导致lung Cancer, 就可以相连, 边权值就是条件概率;

提到了非条件独立, 我们先说条件独立

条件独立

上图可以表示为
P ( S , C , X , B , D ) = P ( S ) P ( L ∣ X ) P ( B ∣ X ) P ( X ∣ C , S ) P ( D ∣ C , B ) P(S,C,X,B,D) = P(S)P(L|X)P(B|X)P(X|C,S)P(D|C,B) P(S,C,X,B,D)=P(S)P(LX)P(BX)P(XC,S)P(DC,B)

  • 问题 联合概率的乘积为什么能表示局部条件概率表的乘积?

因为条件独立;

3个重要的链接模型


a
c
b
  • head-to-tail(最重要)

    • c未知
      P ( a , b , c ) = p ( a ) p ( c ∣ a ) p ( b ∣ c ) ? p ( a , b ) = p ( a ) p ( b ) P(a,b,c) = p(a)p(c|a)p(b|c) \nRightarrow p(a,b) = p(a)p(b) P(a,b,c)=p(a)p(ca)p(bc)?p(a,b)=p(a)p(b)

    所以a,b不独立;

    • c已知
      P ( a , b ∣ c ) = P ( a , b , c ) P ( c ) = P ( a ) P ( c ∣ a ) P ( b ∣ c ) P ( c ) = P ( a c ) P ( b ∣ c ) P ( c ) = P ( a ∣ c ) P ( b ∣ c ) \begin{aligned} P(a,b|c) &= \frac{P(a,b,c)}{P(c)} \\ &= \frac{P(a)P(c|a)P(b|c)}{P(c)} \\ &= \frac{P(ac)P(b|c)}{P(c)} \\ &= P(a|c)P(b|c) \\ \end{aligned} P(a,bc)?=P(c)P(a,b,c)?=P(c)P(a)P(ca)P(bc)?=P(c)P(ac)P(bc)?=P(ac)P(bc)?
      所以a,b(条件)独立;

c
a
b
  • tail-to-tail

    • c未知
      P ( a , b , c ) = p ( a ) p ( c ∣ a ) p ( b ∣ c ) ? p ( a , b ) = p ( a ) p ( b ) P(a,b,c) = p(a)p(c|a)p(b|c) \nRightarrow p(a,b) = p(a)p(b) P(a,b,c)=p(a)p(ca)p(bc)?p(a,b)=p(a)p(b)

    所以a,b不独立;

    • c已知
      { P ( a , b ∣ c ) = P ( a , b , c ) P ( c ) P ( a , b , c ) = P ( c ) P ( a ∣ c ) P ( b ∣ c ) ? P ( a ∣ c ) P ( b ∣ c ) \begin{cases} P(a,b|c) = \frac{P(a,b,c)}{P(c)} \\ P(a,b,c) = P(c)P(a|c)P(b|c) \\ \end{cases} \Rightarrow P(a|c)P(b|c) {P(a,bc)=P(c)P(a,b,c)?P(a,b,c)=P(c)P(ac)P(bc)??P(ac)P(bc)

    所以a,b(条件)独立;


a
b
c
  • head-to-head

    • 无论c知不知道
      P ( a , b , c ) = P ( a ) P ( b ) P ( c ∣ a , b ) P(a,b,c) = P(a)P(b)P(c|a,b) P(a,b,c)=P(a)P(b)P(ca,b)

    所以a,b独立;


深刻理解独立与条件独立

独立与条件独立没啥关系, 只是字面上很相近;

  • 独立与条件独立不能互推, 看如下反例:

    • 第一个反例是独立推不出条件独立:有两枚正反概率均为 50% 的硬币,设事件 A 为第一枚硬币为正面,事件 B 为第二枚硬币为正面,事件 C 为两枚硬币同面。A 和 B 显然独立,但如果 C 已经发生,即已知两枚硬币同面,那么 A 和 B 就不(条件)独立了。

    • 第二个反例是条件独立推不出独立:有一枚硬币正面的概率为 99%,另一枚反面的概率为 99%,随机拿出一枚投掷两次,事件 A 为第一次为正面,事件 B 为第二次为正面,事件 C 为拿出的是第一枚硬币。可以算出来 P(B) = 0.5 但 P(B|A) = 0.9802,说明 A 和 B 不独立,但如果 C 已经发生,即已知了拿出的是第一枚硬币,那么 A 和 B 就(条件)独立了。

回到 联合概率的乘积表示为局部条件概率表的乘积

P ( S , C , X , B , D ) = P ( S ) P ( L ∣ X ) P ( B ∣ X ) P ( X ∣ C , S ) P ( D ∣ C , B ) P(S,C,X,B,D) = P(S)P(L|X)P(B|X)P(X|C,S)P(D|C,B) P(S,C,X,B,D)=P(S)P(LX)P(BX)P(XC,S)P(DC,B)

贝叶斯网络

  • 观察这一条
Somking
Bronchitis
Dyspnoea

当已知Bronchitis时, Somking就与Dyspnoea相互独立了, 所以他俩就没啥关系, Dyspnoea就只取决于Bronchitis了,
所以就可以将 P ( D y s p n o e a ∣ B r o n c h i t i s , S o m k i n g ) 写 成 P ( D y s p n o e a ∣ B r o n c h i t i s ) P(Dyspnoea|Bronchitis, Somking)写成P(Dyspnoea|Bronchitis) P(DyspnoeaBronchitis,Somking)P(DyspnoeaBronchitis)

看到了吧, 概率图的优势就来了, 就把原本两组的参数, 化简为一组了;

详解边权值

上面说的参数就是边权值, 边权值才是我们模型要训练的模型!!!

上图蓝色框的就是参数, 如第一个参数0.9表示: 已知C=0,B=0时, D=0的概率;

如果不用图结构来表示的话, 就还需要一组’S’的参数(因为S也间接指向D), 那么左边的要 2 × 2 × 2 = 8 2\times 2\times 2=8 2×2×2=8, 那么参数的个数就要 8 × 2 = 16 8\times 2=16 8×2=16个;

所以图模型的条件独立给我们极大的减少了模型的参数;

再说说朴素贝叶斯为啥叫朴素?

因为朴素贝叶斯假设所有自变量都是独立的, 如果表示在图中就是没有边的图, 全是散点, 很简单, 很朴素,所以也叫朴素贝叶斯;

贝叶斯网络就是这样了, 继续下一章吧!pd的Machine Learning

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-26 12:13:20  更:2021-10-26 12:13:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 8:28:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码