【机器学习西瓜书学习笔记——贝叶斯分类器】

机器学习西瓜书学习笔记【第七章】

第七章 贝叶斯分类器

7.1贝叶斯决策论

贝叶斯判定准则

假设有N种可能的类别标记,y={c1,c2,...,cn},x 为样本。基于后验概率将样本 x x x分到第 i i i类的条件风险为: R ( c i ∣ x ) = ∑ j = 1 N λ i j P ( c j ∣ x ) R(c_i|x)=\sum_{j=1}^{N} \lambda _{ij}P(c_j|x) R(ci∣x)=∑j=1NλijP(cj∣x)

为最小化总体风险,只需在每个样本上选择那个能使条件风险R(c|x)最小的类别标记,即 h ∗ ( x ) = a r g m i n R ( c ∣ x ) h^*(x)=arg min\space R(c|x) h∗(x)=argmin R(c∣x)。

  • h ∗ ( x ) h^*(x) h∗(x)被称为贝叶斯最优分类器,与之对应的总体风险被称为贝叶斯风险。

  • 反映了通过机器学习所能产生的模型精度的理论上限。

两种基本策略

判别式模型

思路:直接建模 P ( c ∣ x ) P(c|x) P(c∣x)

代表:决策树、BP神经网络、SVM

生成式模型

思路:先建模联合概率分别 P ( x , c ) P(x,c) P(x,c),再计算 P ( c ∣ x ) P(c|x) P(c∣x)

P ( c ∣ x ) = P ( x , c ) P ( x ) P(c|x)=\frac{P(x,c)}{P(x)} P(c∣x)=P(x)P(x,c)

代表:贝叶斯分类器

贝叶斯定理

公式: P ( c ∣ x ) = P ( c ) P ( x ∣ c ) P ( x ) P(c|x)=\frac{P(c)P(x|c)}{P(x)} P(c∣x)=P(x)P(c)P(x∣c)

其中, P ( c ∣ x ) P(c|x) P(c∣x)为后验概率,即看到"结果"后修正的概率。
P ( x ∣ c ) P(x|c) P(x∣c)类标记 c c c相对于样本 X X X的"类条件概率",或称为"似然"。
P ( c ) P(c) P(c)为先验概率,样本空间中各类样本所占的比例,可通过各类样本出现的频率估计(大数定律)。
P ( X ) P(X) P(X)为"证据"因子,与类标记无关。

7.2极大似然估计

估计概率的常用策略:先假定其具有某种确定的概率分布形式,再基于训练样本对参数估计。

P ( D c ∣ θ c ) = ∏ x ∈ D c P ( x ∣ θ c ) P(D_c|\theta_c)=\prod_{x\in D_c} P(x|\theta _c) P(Dc∣θc)=∏x∈DcP(x∣θc)

使用对数似然: L L ( θ c ) = l o g P ( D c ∣ θ c ) = ∑ x ∈ D c l o g P ( x ∣ θ c ) LL(\theta_c)=logP(D_c|\theta_c)=\sum_{x\in D_c} logP(x|\theta _c) LL(θc)=logP(Dc∣θc)=∑x∈DclogP(x∣θc)

θ c \theta_c θc的极大似然估计为:$\hat{\theta_c}=arg\space maxLL(\theta_c) $

7.3朴素贝叶斯分类器

估计后验概率的主要困难:所有属性上的联合概率分布难以从有限训练样本估计获得

基本思路:属性条件独立性假设

$P(c|x)=\frac{P(x,c)}{P(x)}=\frac{P©}{P(x)}\prod_{i=1}^{d}P(x_i|c) $

由于对所有类别来说 P ( x ) P(x) P(x)相同,于是 h n b ( x ) = a r g m a x P ( c ) ∏ i = 1 d P ( x i ∣ c ) h_{nb}(x)=arg\space maxP(c)\prod_{i=1}^{d}P(x_i|c) hnb(x)=arg maxP(c)∏i=1dP(xi∣c)

估计先验概率 P ( c ) : P ( c ) = ∣ D c ∣ ∣ D ∣ P(c):P(c)=\frac{\left |D_c \right | }{\left |D \right | } P(c):P(c)=∣D∣∣Dc∣

估计类条件概率 P ( x ∣ c ) P(x|c) P(x∣c):

离散型:令 D c , x i D_{c,xi} Dc,xi表示 D c D_c Dc中第 i i i哥属性上取值为 x i x_i xi的样本组成的集合,则 P ( x i ∣ c ) = ∣ D c , x i ∣ ∣ D c ∣ P(x_i|c)=\frac{\left |D_{c,xi} \right | }{\left |D_c \right | } P(xi∣c)=∣Dc∣∣Dc,xi∣

连续型:假定概率密度函数 p ( x i ∣ c ) ∼ N ( μ c , i , σ c , i 2 ) p(x_i|c)\sim N(\mu_{c,i},{\sigma}^2_{c,i}) p(xi∣c)∼N(μc,i,σc,i2)

p ( x i ∣ c ) = 1 2 π σ c , i e x p ( − ( x i − μ c , i ) 2 2 σ c , i 2 ) p(x_i|c)=\frac{1}{\sqrt{2\pi} \sigma _{c,i}}exp(-\frac{(x_i-\mu {c,i})^2}{2\sigma ^2{c,i}}) p(xi∣c)=2π σc,i1exp(−2σc,i2(xi−μc,i)2)

拉普拉斯修正

本质:给频率表中的每个计数加上一个较小的数,保证每一类中每个特征发生概率非零。

7.4半朴素贝叶斯分类器

为什么需要半朴素贝叶斯分类器

  • 后验概率P(c∣x)𝑃(𝑐∣𝑥)计算起来比较困难。
  • 属性条件独立性假设在现实任务中往往很难成立。

基本思想

适当考虑一部分属性之间的相互依赖信息,从而既不需要进行联合概率计算,又不至于彻底忽略比较强的属性依赖关系。

常用策略------独依赖估计

方法:假设每个属性在类别之外最多仅依赖于一个其他属性
P ( c ∣ x ) ∝ P ( c ) Π d i = 1 P ( x i ∣ c , p a i ) P(c∣x)∝P(c)Πdi=1P(xi∣c,pai) P(c∣x)∝P(c)Πdi=1P(xi∣c,pai)

其中 p a i pai pai为属性 x i xi xi所依赖的属性,称为 x i xi xi的父属性。此时,对每个属性 x i xi xi,若其夫属性 p a i pai pai已知,则可以采用类似
P ( x i ∣ c ) = ∣ D c , x i ∣ + 1 ∣ D c ∣ + N i P^(xi∣c)=\frac{|Dc,xi|+1}{|Dc|+Ni} P(xi∣c)=∣Dc∣+Ni∣Dc,xi∣+1

的办法来估计概率值𝑃(𝑥𝑖∣𝑐,𝑝𝑎𝑖)

于是问题就转换为如何确定每个属性的父属性,不同的做法将产生不同的独依赖分类器。

不同的独依赖分类器

NB

SPODE

TAN

AODE

7.5 贝叶斯网

定义

  • 贝叶斯网络,又称信念网络 ,或有向无环图模型,是一种系统地描述随机变量之间关系的语言。

  • DAG中节点表示随机变量,边表示变量之间的依赖关系。

  • 条件概率表中的每一个元素对应DAG中唯一的节点,存储此节点对于其所有直接前驱节点的联合条件概率。

目的

旨在解决不确定性推理问题

贝叶斯网络推理

推理过程的实现方法:

  • 采样推理------随机抽样
  • 变量消除推理
  • 精准推理------小规模的贝叶斯网络(枚举法或动态规划)
  • 近似推理------大规模的贝叶斯网络(变分推断或马尔可夫链蒙特卡洛法)

贝叶斯网络学习

参数学习

定义:在已知贝叶斯网络结构的情况下,从数据中学习网络中节点的条件概率分布参数的过程。

实现方式:最大似然估计、贝叶斯估计等方法来实现。

结构学习

定义:从数据中学习贝叶斯网络的结构的过程。

目标:发现最优的网络结构,使得网络能够最好地表示数据之间的依赖关系。

实现方法:搜索算法(如贪婪搜索、爬山算法)、约束优化方法(如评分函数、信息准则)。

7.6 EM算法

定义

从不完全数据或有数据丢失的数据集(存在隐含变量)中求解概率模型参数的最大似然估计方法。

步骤

①期望(E)步,利用当 前估计的参数值来计算对数似然的期望值;

②最大化(M)步,寻找能使 EM 算法的收敛性分析 E步产生的似然期望最大化的参数值.

③新得到的参数值重新被用于E步,直至收敛到局部最优解.

相关推荐
qq_529025294 分钟前
Torch.gather
python·深度学习·机器学习
IT古董37 分钟前
【漫话机器学习系列】017.大O算法(Big-O Notation)
人工智能·机器学习
Code哈哈笑39 分钟前
【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活
java·开发语言·学习
海棠AI实验室1 小时前
AI的进阶之路:从机器学习到深度学习的演变(三)
人工智能·深度学习·机器学习
QQ同步助手2 小时前
如何正确使用人工智能:开启智慧学习与创新之旅
人工智能·学习·百度
流浪的小新2 小时前
【AI】人工智能、LLM学习资源汇总
人工智能·学习
A懿轩A3 小时前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
古希腊掌管学习的神3 小时前
[搜广推]王树森推荐系统——矩阵补充&最近邻查找
python·算法·机器学习·矩阵
云边有个稻草人3 小时前
【优选算法】—复写零(双指针算法)
笔记·算法·双指针算法