《机器学习》周志华-CH7(贝叶斯分类)

news2024/9/19 17:22:00

7.1贝叶斯决策论

  对分类任务而言,在所有相关概率已知的理想情形下,贝叶斯决策论考虑如何基于这些概率核误判损失来选择最优的类别标记。

  假设有种可能,即
R ( x i ∣ x ) = ∑ j = 1 N λ i j P ( c j ∣ x ) \begin{equation} R(x_{i}|x)=\sum_{j=1}^{N}\lambda_{ij}P(c_{j}|x) \tag{7.1} \end{equation} R(xix)=j=1NλijP(cjx)(7.1)

  寻找一个判定准则,

   h ∗ h^{*} h称为贝叶斯最优分类器

  总体风险 R ( h ∗ ) R(h^{*}) R(h)称为贝叶斯风险。

   1 − R ( h ∗ ) 1-R(h^{*}) 1R(h)反映了分类器所能达到的最佳性能,即模型精度上限。

  具体而言,若目标是最小化分类错误率,则误判损失 λ i j \lambda_{ij} λij可写为:

λ i j = { 0 i f i = j 1 o t h e r \lambda_{ij}= \begin{cases} 0 & if \quad i=j \\ 1 & other \\ \end{cases} λij={01ifi=jother

  条件风险 R ( c ∣ x ) = 1 − P ( c ∣ x ) R(c|x)=1-P(c|x) R(cx)=1P(cx)

  最小化分类错误率的贝叶斯最优分类器为

在这里插入图片描述

  对每个样本 x x x,选后验概率 P ( c ∣ x ) P(c|x) P(cx)最大的类别标记

  机器学习所要实现的是基于有限训练样本集尽可能准确地估计出后验概率 P ( c ∣ x ) P(c|x) P(cx),主要有两种策略
在这里插入图片描述

  类的先验概率 P ( c ) P(c) P(c):表达了各类样本所占比例,根据大数定律,训练集包含充分独立样本, P ( c ) P(c) P(c)可通过各类样本出现频率估计。

  类的条件概率 P ( x ∣ c ) P(x|c) P(xc):由于涉及关于 x x x所有属性的联合概率。直接根据样本估计可能遇到困难,使用频率来估计不可行,因为“未被观测到”与“出现概率为零”通常是不同的。

7.2极大似然估计

  估计类条件概率记关于类别 c c c的类条件概率为 P ( x ∣ c ) P(x|c) P(xc),假设 P ( x ∣ c ) P(x|c) P(xc)具有确定的形式并且被参数向量 θ c \theta_c θc唯一确定,则我们的任务就是利用训练集 D D D估计参数 θ c \theta_c θc,将 P ( x ∣ c ) P(x|c) P(xc)记为 P ( x ∣ θ c ) P(x|\theta_c) P(xθc)

  概率模型的训练过程就是参数估计的过程

  参数估计两种不同方案:

  • 频率主义学派,认为参数虽然未知,但客观存在,可通过优化似然函数等准则确定参数值。
  • 贝叶斯派认为参数是未观察到的随机变量,其本身可有分布,因此可假设服从一个先验分布,然后基于观测到的数据来计算参数的后验分布。

  极大似然估计MLE,根据数据采样来估计概率分布

  令 D c D_c Dc表示训练集 D D D的第 c c c类样本集合,假设样本独立同分布。

  参数 θ c \theta_c θc对数据集 D c D_c Dc的似然说
P ( D c ∣ θ c ) = ∏ x ∈ D c P ( x ∣ θ c ) \begin{equation} P(D_c|\theta_c)=\prod_{x\in{D_{c}}}P(x|\theta_c) \tag{7.9} \end{equation} P(Dcθc)=xDcP(xθc)(7.9)
   θ c \theta_c θc进行极大似然估计,就是去寻找最大化似然 P ( D c ∣ θ c ) P(D_c|\theta_c) P(Dcθc)的参数值 θ c ^ \hat{\theta_c} θc^

  (7.9)连乘造成下溢,通常为对数似然(log-likehood)
L L ( θ c ) = l o g P ( D c ∣ θ c ) = ∑ x ∈ D c l o g P ( x ∣ θ c ) \begin{equation} LL(\theta_c)=logP(D_{c}|\theta_c) \\ =\sum_{x\in{D_c}}logP(x|\theta_c) \tag{7.10} \end{equation} LL(θc)=logP(Dcθc)=xDclogP(xθc)(7.10)
  此时参数 θ c \theta_c θc的极大似然估计 θ c ^ \hat{\theta_c} θc^

θ c ^ = a r g m a x θ c L L ( θ c ) \begin{equation} \hat{\theta_c}=\underset{\theta_c}{argmax}LL(\theta_c) \tag{7.11} \end{equation} θc^=θcargmaxLL(θc)(7.11)

  在连续属性下,假设概率密度函数

  估计结果的准确性严重依赖所假设的概率分布形式是否符合潜在的真实数据分布。

7.3朴素贝叶斯分类器

  贝叶斯公式来估计后验概率 P ( c ∣ x ) P(c|x) P(cx)困难在于 P ( x ∣ c ) P(x|c) P(xc)是所有属性的联合概率,难以从有限训练样本直接估计。

  朴素贝叶斯分类器采用“属性条件独立性假设”对已知类别,假设所有属性相互独立,假设每个属性独立地对分类结果发生影响
在这里插入图片描述

  朴素贝叶斯分类器的训练过程就是基于训练集 D D D来估计类先验概率 P ( c ) P(c) P(c),并为每个属性来估计条件概率 P ( x i ∣ c ) P(x_i|c) P(xic)

   D c D_c Dc表示训练集 D D D中第 c c c类集合,样本充足,则类先验概率:
P ( c ) = ∣ D c ∣ ∣ D ∣ \begin{equation} P(c)=\frac{|D_c|}{|D|} \tag{7.16} \end{equation} P(c)=DDc(7.16)

  离散属性而言, D c , x i D_{c,x_i} Dc,xi表示 D c D_c Dc中在第 i i i个属性上取值为 x i x_i xi的样本组成的集合,则条件概率 P ( x i ∣ c ) P(x_i|c) P(xic):
P ( x i ∣ c ) = ∣ D c , x i ∣ ∣ D c ∣ \begin{equation} P(x_i|c)=\frac{|D_{c,x_i}|}{|D_c|} \tag{7.17} \end{equation} P(xic)=DcDc,xi(7.17)

在这里插入图片描述
  下面用西瓜数据集3.0训练一个朴素贝叶斯分类器,对测试例“测1”进行分类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  需注意,若某个属性值在训练中没有与某个类同时出现过,如

   P 清脆 ∣ 是 = P ( 敲声 = 清脆 ∣ 好瓜 = 是 ) = 0 8 = 0 P_{清脆|是}=P(敲声=清脆|好瓜=是)=\frac{0}{8}=0 P清脆=P(敲声=清脆好瓜=)=80=0

  此时乘积永远是 0 0 0,避免这种情况,在估计概率值时通常进行“平滑”,查用“拉普拉斯修正”

  令 N N N表示训练集 D D D中可能的类别数, N i N_i Ni表示第 i i i个属性可能取值
在这里插入图片描述

7.4半朴素贝叶斯分类器

  人们尝试对属性条件独立性假设进行一定程度的放松。

  半朴素贝叶斯分类器基本想法:适当考虑一部分属性间的相互依赖信息,从而既不需要进行完全联合概率计算,又不至于彻底忽略了比较强的属性依赖关系。

  “独依赖估计(One-Dependent Estimator,ODE)” 是半朴素贝叶斯分类器最常用的一种策略。顾名思义,所谓“独依赖”就是假设每个属性在类别之外最多仅依赖一个其他属性,即:
在这里插入图片描述

  如何确定每个属性的父属性?不同策略的独依赖分类器又不同

  所有属性都依赖于同一个属性,称为“超父”, x 1 x_1 x1必是超父属性
在这里插入图片描述
在这里插入图片描述

  AODE(Averaged One-Dependent Estimator) 尝试将每个属性作为超父构建SPODE,然后将那些具有足够训练数据支持的SPODE集成为最终结果,即:
在这里插入图片描述

  其中 D x i D_{xi} Dxi是第 i i i个属性取值为 x i x_i xi样本集合, m ′ m^{'} m为阈值常数
在这里插入图片描述
在这里插入图片描述

  AODE无需模型选择,既能通过预计算节省预测时间,也能采取懒惰学习方法在预测时在再进行计数,易于实现增量学习。

7.5贝叶斯网

  贝叶斯网(Bayesian network) 亦称“信念网”(belief network),借助有向五环图(Directed Acyclic Graph,简称DAG) 刻画属性依赖关系,并使用条件概率表(Conditional Probability Table,简称CPT)来描述属性联合概率分布。

  一个贝叶斯网 B B B 由结构 G G G和参数 θ \theta θ两部分组成, B = < G , θ > B=<G,\theta> B=<G,θ>

  网络结构 G G G是一个有向无环图,其中每个结点对应一个属性,两属性有直接依赖关系则由一条边连接

  参数 θ \theta θ定量描述这种依赖关系,假设属性 x i x_i xi G G G中的父结点集为 π i \pi_{i} πi,则 θ \theta θ包含了每个属性的条件概率表是 θ x i ∣ π i = P B ( x i ∣ π i ) \theta_{x_i|\pi_i}=P_{B}(x_i|\pi_i) θxiπi=PB(xiπi)
在这里插入图片描述

7.5.1结构

  贝叶斯网结构有效地表达了属性间的条件独立性,给定父结点集,贝叶斯网假设每个属性与它的非后裔属性独立。

   B = < G , θ > B=<G,\theta> B=<G,θ>将属性 x 1 , x 2 , . . . , x d x_1,x_2,...,x_d x1,x2,...,xd的联合概率分布定义为
P B ( x 1 , x 2 , . . . , x d ) = ∏ i = 1 d P B ( x i ∣ π i ) = ∏ i = 1 d θ x i ∣ π i \begin{equation} P_{B}(x_1,x_2,...,x_d)=\prod_{i=1}^{d}P_{B}(x_i|\pi_i)=\prod_{i=1}^{d}\theta_{x_i|\pi_i} \tag{7.26} \end{equation} PB(x1,x2,...,xd)=i=1dPB(xiπi)=i=1dθxiπi(7.26)
  以图7.2为例,联合概率分布定义为
P ( x 1 , x 2 , x 3 , x 4 , x 5 ) = P ( x 1 ) P ( x 2 ) P ( x 3 ∣ x 1 ) P ( x 4 ∣ x 1 , x 2 ) P ( x 5 ∣ x 2 ) P(x_1,x_2,x_3,x_4,x_5)=P(x_1)P(x_2)P(x_3|x_1)P(x_4|x_1,x_2)P(x_5|x_2) P(x1,x2,x3,x4,x5)=P(x1)P(x2)P(x3x1)P(x4x1,x2)P(x5x2)
  显然, x 3 x_3 x3 x 4 x_4 x4在给定 x 1 x_1 x1的取值时独立, x 4 x_4 x4 x 5 x_5 x5在给定 x 2 x_2 x2的取值时独立,

在这里插入图片描述

  为了分析有向图中变量间的条件独立性,可使用“有向分离”

  先把有向图转变为一个无向图

  • 找出有向图中所有 V V V型结构,在 V V V型结构两个父结点之间加一条无向边
  • 将所有有向边设为无向边

  由此产生的无向图称为“道德图”,令父结点相连的过程称为“道德化”
在这里插入图片描述

7.5.2学习

  贝叶斯网学习的首要任务就是根据训练数据集来找出结构最“恰当”的贝叶斯网

  “评分搜索” 先定义一个评分函数,以此来评估贝叶斯网与训练数据的契合程度,基于评分函数在寻找结构最优的贝叶斯网

  “最小描述长度” MDL准则

  每个贝叶斯网描述了一个在训练数据上的概率分布,自有一套编码机制能使那些经常出现的样本有更短的编码。选择综合长度最短的网。

  给定训练集 D = { x 1 , x 2 , . . . , x m } D=\{x_1,x_2,...,x_m\} D={x1,x2,...,xm},贝叶斯网 B = < G , θ > B=<G,\theta> B=<G,θ> D D D上的评分函数:

s ( B ∣ D ) = f ( θ ) ∣ B ∣ − L L ( B ∣ D ) \begin{equation} s(B|D)=f(\theta)|B|-LL(B|D) \tag{7.28} \end{equation} s(BD)=f(θ)BLL(BD)(7.28)
  其中 ∣ B ∣ |B| B是贝叶斯网的参数个数; f ( θ ) f(\theta) f(θ)表示描述每个参数 θ \theta θ所需的字节数;
L L ( B ∣ D ) = ∑ i = 1 m l o g P B ( x i ) \begin{equation} LL(B|D)=\sum_{i=1}^{m}logP_B(x_i) \tag{7.29} \end{equation} LL(BD)=i=1mlogPB(xi)(7.29)
   S ( B ∣ D ) S(B|D) S(BD)第1项是描述网 B B B字节数,第2项是 B B B对应概率分布 P B P_B PB的字节数

  • f ( θ ) = 1 f(\theta)=1 f(θ)=1得AIC评分函数
    A I C ( B ∣ D ) = ∣ B ∣ − L L ( B ∣ D ) \begin{equation} AIC(B|D)=|B|-LL(B|D) \tag{7.30} \end{equation} AIC(BD)=BLL(BD)(7.30)
  • f ( θ ) = 1 2 l o g m f(\theta)=\frac{1}{2}log^m f(θ)=21logm得BIC评分函数
    B I C ( B ∣ D ) = 1 2 l o g m ∣ B ∣ − L L ( B ∣ D ) \begin{equation} BIC(B|D)=\frac{1}{2}log^m|B|-LL(B|D) \tag{7.31} \end{equation} BIC(BD)=21logmBLL(BD)(7.31)
  • f ( θ ) = 0 f(\theta)=0 f(θ)=0评分函数退化为负对数似然
      若网 B = < G , θ > B=<G,\theta> B=<G,θ> G G G固定,则 S ( B ∣ D ) S(B|D) S(BD)第1项为常数,参数 θ x i ∣ π i \theta_{x_i|\pi_i} θxiπi可直接由数据集 D D D得到:

θ x i ∣ π i = P ^ D ( x i ∣ π i ) \begin{equation} \theta_{x_i|\pi_i}=\hat{P}_D(x_i|\pi_i) \tag{7.32} \end{equation} θxiπi=P^D(xiπi)(7.32)

7.6EM算法

  前面训练样本都是"完整"的,实际上并不一定都是“完整”。

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2143732.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】vector详解,模拟实现

目录 1. vector的介绍 2. vector的使用 2.1 构造函数 2.2 遍历方式 2.3 reserve与resize 2.4 shrink_to_fit 2.5 insert&#xff0c;erase&#xff0c;find 3. vector模拟实现 3.1 初始结构 3.2 析构函数 3.3 获取容量和元素个数 3.4 扩容reserve 3.5 resize改变…

最新简洁大方的自动发卡网站源码/鲸发卡v11.61系统源码/修复版

源码简介&#xff1a; 最新简洁大方的自动发卡网站源码&#xff0c;它就是鲸发卡v11.61系统源码&#xff0c;它是修复版。 说到鲸发卡系统&#xff0c;鲸发卡系统在发卡圈很多人都知道的&#xff0c;它是市面最好发卡系统之一&#xff0c;操作起来简单得很&#xff0c;界面也…

【数据结构】排序算法---快速排序

文章目录 1. 定义2. 算法步骤3. 动图演示4. 性质5. 递归版本代码实现5.1 hoare版本5.2 挖坑法5.3 lomuto前后指针 6. 优化7. 非递归版本代码实现结语 1. 定义 快速排序是由东尼霍尔所发展的一种排序算法。在平均状况下&#xff0c;排序 n 个项目要 O ( n l o g n ) Ο(nlogn) …

在 Windows 上恢复已删除的 PDF 文件的最佳方法

如果您不小心删除了 PDF 文件或由于系统突然崩溃而无法再找到它们&#xff0c;本指南介绍了恢复已删除文件的最佳方法。 帖子中列出的方法简单、有效且可行。我们在列出它们之前对其进行了测试。 什么是 PDF&#xff0c;Adobe 将未保存的 PDF 存储在哪里&#xff1f; 自从 Ad…

数据清洗-缺失值填充-K-NN算法(K-Nearest Neighbors, K-NN算法)

目录 一、安装所需的python包二、采用K-NN算法进行缺失值填充2.1可直接运行代码2.2以某个缺失值数据进行实战2.2.1代码运行过程截屏&#xff1a;2.2.2填充后的数据截屏&#xff1a; 三、K 近邻算法 (K-Nearest Neighbors, KNN) 介绍3.1 K 近邻算法定义3.2 K 近邻算法的基本思想…

Linux 文件与目录操作命令详解

文章目录 前言创建文件1. touch2. vim 文件内容显示3. cat4. more5. less6. head7. tail 文件&#xff08;目录&#xff09;复制、删除和移动8. cp9. rm10. mv 压缩文件与解压缩11. gzip12. zip 和 unzip 创建目录13. mkdir 删除目录14. rmdir 改变工作目录15. cd16. pwd 显示目…

六、二分搜索-算法总结

文章目录 六、二分搜索6.1 简介6.2 典型实例 -- 二分查找6.2 模板6.3 常见题目6.3.1 搜索插入位置6.3.2 搜索二维矩阵6.3.3 寻找旋转排序中数组中的最小值6.3.4 寻找旋转排序数组中的最小值 II6.3.5 搜索旋转排序数组6.3.6 搜索旋转排序数组 II 总结 六、二分搜索 6.1 简介 给…

Java或者前端 实现中文排序(调API的Demo)

目录 前言1. 前端2. Java 前言 前端 Vue 中的中文排序通常使用 JavaScript 提供的 localeCompare 方法来比较中文字符串 Java 后端可以使用 Collator 类来实现中文排序 1. 前端 在 Vue 中&#xff0c;使用 localeCompare 来实现中文字符串的排序&#xff1a; <template&…

Skyeye 云智能制造 v3.14.5 发布,ERP 商城

Skyeye 云智能制造&#xff0c;采用 Springboot winUI 的低代码平台、移动端采用 UNI-APP。包含 30 多个应用模块、50 多种电子流程&#xff0c;CRM、PM、ERP、MES、ADM、EHR、笔记、知识库、项目、门店、商城、财务、多班次考勤、薪资、招聘、云售后、论坛、公告、问卷、报表…

SAM 2: Segment Anything in Images and Videos

SAM2: 在图像和视频中分割任何内容 作者 Nikhila Ravi, Valentin Gabeur, Yuan-Ting Hu, Ronghang Hu 等 (Meta FAIR) 论文&#xff1a;SAM2: Segment Anything in Images and Videos项目代码&#xff1a;GitHub Repository互动演示&#xff1a;Demo 摘要 SAM2 是一个用于处…

基于51单片机的锅炉温度控制系统PID调节proteus仿真

地址&#xff1a; https://pan.baidu.com/s/17oMgAnUBUKKEVnv5hNRQmQ 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C52/AT89C51是一款经典的8位单片机&#xff0c;是意法半导体&#xff08;STMicroelectro…

招聘数据分析师,HR会考察候选人哪些方面?

数据分析是必须具备深厚的专业技能底蕴&#xff0c;这是最基本的要求&#xff0c;其中包括对数据分析工具和编程语言的精通&#xff0c;以及对数据库管理的实验操作。 在数据分析师的招聘过程中&#xff0c;必须要注重对方掌握的知识&#xff0c;比如数据挖掘数据可视化等先进…

Qt构建JSON及解析JSON

目录 一.JSON简介 JSON对象 JSON数组 二.Qt中JSON介绍 QJsonvalue Qt中JSON对象 Qt中JSON数组 QJsonDocument 三.Qt构建JSON数组 四.解析JSON数组 一.JSON简介 一般来讲C类和对象在java中是无法直接直接使用的&#xff0c;因为压根就不是一个规则。但是他们在内存中…

详解:Tensorflow、Pytorch、Keras(搭建自己的深度学习网络)

这是一个专门对Tensorflow、Pytorch、Keras三个主流DL框架的一个详解和对比分析 一、何为深度学习框架&#xff1f; 你可以理解为一个工具帮你构建一个深度学习网络&#xff0c;调用里面的各种方法就能自行构建任意层&#xff0c;diy你想要的DNN&#xff0c;而且任意指定学习…

揭秘!当业务方需求模糊,产品经理如何施展‘化雾为金’的神奇策略!

引言 在产品管理的实践中&#xff0c;产品经理经常会遇到业务方无法清晰表达需求的情况。这可能是由于业务方对问题的理解不够深入&#xff0c;或者缺乏将业务需求转化为产品需求的经验。作为资深产品经理&#xff0c;我们需要采取一系列策略来应对这一挑战&#xff0c;确保产…

Solid Converter PDF9.1安装教程

软件介绍 Solid Converter PDF是一套专门将PDF文件转换成word的软件&#xff0c;除了转换成word文件外&#xff0c;还可以转换成RTF以及Word XML文件。除此之外&#xff0c;它还有一个图片撷取功能&#xff0c;可以让我们]将PDF档里的图片撷取出来&#xff0c;以及将PDF档里的…

word文档的读入(8)

如何读取答题卡中的选择题答案&#xff0c;并把所有的信息导入到Excel表格中&#xff5e; 在初始化了字典中的字段并获取了标准答案和学生答案后&#xff0c;现在只需使用if语句将学生答案studentAnswerOne和标准答案value进行比较。选择题一道题2分&#xff0c;答案正确时&…

C++11 右值引用完美转发

前言 上一期介绍了C11的基础新特性&#xff0c;这一期开始我们继续来介绍C11的新特性&#xff01; 目录 前言 一、右值引用和移动语义 1.1左值和左值引用 1.2右值和右值引用 1.3左值引用vs右值引用 1.4右值引用的使用场景和意义 左值引用的使用场景 左值引用的缺陷 …

应用案例|开源 PolarDB-X 在互联网安全场景的应用实践

背景介绍 中盾数科集团始创于2012年&#xff0c;是由网络安全服务而发展起来的科技型、多元化的企业集团。旗下包括网络安全服务、信创一体化服务、箱式液冷、区块链、位置服务、视觉服务等六大板块&#xff0c;业务覆盖湖南、甘肃、贵州等多个省份。 业务挑战 中盾集团基于A…

LabVIEW提高开发效率技巧----模块化设计与代码复用

模块化设计是现代软件开发中不可或缺的理念&#xff0c;在LabVIEW开发中尤为重要。通过将系统功能划分为独立的、可复用的模块&#xff0c;开发者可以显著提升代码的可读性、维护性以及效率。下面将介绍模块化设计的核心概念、如何利用子VI实现代码复用、以及使用模板&#xff…