上一章:机器学习06——支持向量机
下一章:机器学习08——集成学习
机器学习实战项目:【从 0 到 1 落地】机器学习实操项目目录:覆盖入门到进阶,大学生就业 / 竞赛必备
文章目录
一、贝叶斯决策论(概率框架下的决策基础)
贝叶斯决策论是在概率框架下实施决策的基本方法,核心是基于后验概率和误判损失选择最优类别标记,以最小化总体风险。
(一)核心概念与准则
- 条件风险:将样本 x x x分类为类别 c i c_i ci的期望损失,计算公式为:
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=1∑NλijP(cj∣x)
其中 λ i j \lambda_{ij} λij是将真实类别 c j c_j cj误判为 c i c_i ci的损失, P ( c j ∣ x ) P(c_j | x) P(cj∣x)是后验概率。 - 贝叶斯判定准则:为最小化总体风险,对每个样本选择条件风险最小的类别标记,即:
h ∗ ( x ) = a r g m i n c ∈ Y R ( c ∣ x ) h^*(x) = \underset{c \in \mathcal{Y}}{argmin} R(c | x) h∗(x)=c∈YargminR(c∣x)
此时的分类器 h ∗ ( x ) h^*(x) h∗(x)称为贝叶斯最优分类器,对应的总体风险 R ( h ∗ ) R(h^*) R(h∗)为贝叶斯风险,是机器学习模型精度的理论上限。 - 最小化分类错误率:若误判损失 λ i j = 0 \lambda_{ij} = 0 λij=0(正确分类)或1(错误分类),则条件风险简化为 R ( c ∣ x ) = 1 − P ( c ∣ x ) R(c | x) = 1 - P(c | x) R(c∣x)=1−P(c∣x),此时最优分类器为选择后验概率最大的类别:
h ∗ ( x ) = a r g m a x c ∈ Y P ( c ∣ x ) h^*(x) = \underset{c \in \mathcal{Y}}{argmax} P(c | x) h∗(x)=c∈YargmaxP(c∣x)
(二)后验概率的获取
后验概率 P ( c ∣ x ) P(c | x) P(c∣x)是贝叶斯决策的关键,主要通过两种策略获取:
- 判别式模型:直接建模 P ( c ∣ x ) P(c | x) P(c∣x),如决策树、神经网络、支持向量机等;
- 生成式模型:先建模联合概率 P ( x , c ) P(x, c) 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 ) P(c) P(c)是先验概率(类别的先验分布), P ( x ∣ c ) P(x | c) P(x∣c)是类条件概率(似然), P ( x ) P(x) P(x)是证据因子(与类别无关)。
二、极大似然估计(类条件概率的参数估计)
极大似然估计是频率主义学派对类条件概率 P ( x ∣ c ) P(x | c) P(x∣c)的参数估计方法,核心是假设概率分布形式,通过训练样本最大化似然函数求解参数。
(一)基本思想
- 假设类条件概率 P ( x ∣ c ) P(x | c) P(x∣c)服从某种确定的分布(如正态分布),其参数为 θ c \theta_c θc;
- 似然函数:给定参数 θ c \theta_c θc时,训练集 D c D_c Dc(第 c c c类样本)出现的概率,即:
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∈Dc∏P(x∣θc) - 极大似然估计:寻找使似然函数最大的参数 θ ^ c \hat{\theta}_c θ^c,即 θ ^ c = a r g m a x θ c P ( D c ∣ θ c ) \hat{\theta}_c = \underset{\theta_c}{argmax} P(D_c | \theta_c) θ^c=θcargmaxP(Dc∣θc)。
(二)对数似然与实例
- 为避免连乘下溢,通常使用对数似然:
L L ( θ c ) = log P ( D c ∣ θ c ) = ∑ x ∈ D c log P ( x ∣ θ c ) LL(\theta_c) = \log P(D_c | \theta_c) = \sum_{x \in D_c} \log P(x | \theta_c) LL(θc)=logP(Dc∣θc)=x∈Dc∑logP(x∣θc) - 实例:若 P ( x ∣ c ) P(x | c) P(x∣c)服从正态分布 N ( μ c , σ c 2 ) N(\mu_c, \sigma_c^2) N(μc,σc2),则参数的极大似然估计为:
μ ^ c = 1 ∣ D c ∣ ∑ x ∈ D c x , σ ^ c 2 = 1 ∣ D c ∣ ∑ x ∈ D c ( x − μ ^ c ) 2 \hat{\mu}_c = \frac{1}{|D_c|} \sum_{x \in D_c} x \quad, \quad \hat{\sigma}_c^2 = \frac{1}{|D_c|} \sum_{x \in D_c} (x - \hat{\mu}_c)^2 μ^c=∣Dc∣1x∈Dc∑x,σ^c2=∣Dc∣1x∈Dc∑(x−μ^c)2
即均值为样本均值,方差为样本方差。
(三)局限性
估计结果依赖于假设的概率分布形式是否符合真实数据分布,若假设错误,估计精度会大幅下降。
三、朴素贝叶斯分类器(简化的生成式模型)
朴素贝叶斯分类器通过“属性条件独立性假设”简化类条件概率的计算,适用于高维数据场景。
(一)核心假设与表达式
- 属性条件独立性假设:每个属性独立影响分类结果,即类条件概率可分解为单个属性条件概率的乘积:
P ( x ∣ c ) = ∏ i = 1 d P ( x i ∣ c ) P(x | c) = \prod_{i=1}^d P(x_i | c) P(x∣c)=i=1∏dP(xi∣c)
其中 d d d为属性数, x i x_i xi是样本 x x x在第 i i i个属性上的取值。 - 分类器表达式:由于 P ( x ) P(x) P(x)对所有类别相同,分类器简化为:
h n b ( x ) = a r g m a x c ∈ Y P ( c ) ∏ i = 1 d P ( x i ∣ c ) h_{nb}(x) = \underset{c \in \mathcal{Y}}{argmax} P(c) \prod_{i=1}^d P(x_i | c) hnb(x)=c∈YargmaxP(c)i=1∏dP(xi∣c)
(二)概率估计方法
先验概率 P ( c ) P(c) P(c):
P ( c ) = ∣ D c ∣ ∣ D ∣ P(c) = \frac{|D_c|}{|D|} P(c)=∣D∣∣Dc∣
其中 D c D_c Dc是训练集 D D D中第 c c c类样本的集合。离散属性的条件概率 P ( x i ∣ c ) P(x_i | c) P(xi∣c):
P ( x i ∣ c ) = ∣ D c , x i ∣ ∣ D c ∣ P(x_i | c) = \frac{|D_{c, x_i}|}{|D_c|} P(xi∣c)=∣Dc∣∣Dc,xi∣
其中 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(xi∣c):
通常假设服从正态分布,概率密度函数为:
p ( x i ∣ c ) = 1 2 π σ c , i exp ( − ( x i − μ c , i ) 2 2 σ c , i 2 ) p(x_i | c) = \frac{1}{\sqrt{2\pi}\sigma_{c,i}} \exp\left(-\frac{(x_i - \mu_{c,i})^2}{2\sigma_{c,i}^2}\right) p(xi∣c)=2πσc,i1exp(−2σc,i2(xi−μc,i)2)
其中 μ c , i \mu_{c,i} μc,i和 σ c , i 2 \sigma_{c,i}^2 σc,i2分别是第 c c c类样本在第 i i i个属性上的均值和方差。
(三)实例:西瓜数据集分类
对测试例“测1”(色泽=青绿,根蒂=蜷缩,…,密度=0.697,含糖率=0.460),通过计算:
- 好瓜的概率: P ( 好瓜 = 是 ) × ∏ P ( x i ∣ 是 ) ≈ 0.052 P(好瓜=是) \times \prod P(x_i | 是) \approx 0.052 P(好瓜=是)×∏P(xi∣是)≈0.052
- 坏瓜的概率: P ( 好瓜 = 否 ) × ∏ P ( x i ∣ 否 ) ≈ 6.80 × 1 0 − 5 P(好瓜=否) \times \prod P(x_i | 否) \approx 6.80 \times 10^{-5} P(好瓜=否)×∏P(xi∣否)≈6.80×10−5
最终分类为“好瓜”。
四、拉普拉斯修正(解决零概率问题)
当训练集中某个属性值与类别未同时出现时,直接计算会导致条件概率为0,掩盖其他属性的信息,拉普拉斯修正可解决这一问题。
(一)修正公式
- 先验概率修正:
P ^ ( c ) = ∣ D c ∣ + 1 ∣ D ∣ + N \hat{P}(c) = \frac{|D_c| + 1}{|D| + N} P^(c)=∣D∣+N∣Dc∣+1
其中 N N N是类别数。 - 条件概率修正:
P ^ ( x i ∣ c ) = ∣ D c , x i ∣ + 1 ∣ D c ∣ + N i \hat{P}(x_i | c) = \frac{|D_{c, x_i}| + 1}{|D_c| + N_i} P^(xi∣c)=∣Dc∣+Ni∣Dc,xi∣+1
其中 N i N_i Ni是第 i i i个属性的可能取值数。
(二)作用
通过添加1个虚拟样本,避免概率为0的极端情况,同时保证概率之和为1,使分类更合理(如“敲声=清脆”在好瓜中未出现时,修正后不会直接导致好瓜概率为0)。
五、朴素贝叶斯的应用场景
- 速度要求高:模型简单,预测时仅需查表计算概率乘积;
- 数据更替频繁:支持“懒惰学习”(无需预先训练,实时计算概率);
- 增量学习:可通过不断添加新样本更新概率估计,适应动态数据。
上一章:机器学习06——支持向量机
下一章:机器学习08——集成学习
机器学习实战项目:【从 0 到 1 落地】机器学习实操项目目录:覆盖入门到进阶,大学生就业 / 竞赛必备