当前位置: 首页 > article >正文

【机器学习chp2】贝叶斯最优分类器、概率密度函数的参数估计、朴素贝叶斯分类器、高斯判别分析。万字超详细分析总结与思考

前言,请先看。

本文的《一》《二》属于两个单独的知识点:共轭先验和Laplace平滑,主要因为他们在本文的后续部分经常使用,又因为他们是本人的知识盲点,所以先对这两个知识进行了分析,后续内容按照标题中的顺序依次进行,观看时可以先跳过《一》《二》,后文遇到相关共轭先验和Laplace平滑的知识再回头看他们。另一个更重要的点是,本文用到了大量gpt的分析,部分我添加了我的理解并进行重要标注,还有一部分我想优化gpt的回答,但鄙人不才,gpt的分析太好了,条理清晰又通俗易懂,我改不了就直接放上去了。

推荐文章1,最大似然估计和最大后验估计分析

【王木头】最大似然估计、最大后验估计-CSDN博客

推荐文章2,其中有最大似然估计的例子

【王木头·从感知机到神经网络】-CSDN博客

推荐文章3,文章中的第《五》部分介绍了部分矩估计相关的理论知识

【王木头】sigmoid和softmax有什么区别,softmax的本质是最大熵?_softmax softmoid-CSDN博客

目录

一、共轭先验

Beta分布

1、推导

2、Beta分布参数的实际意义

3、Beta分布作为先验时贝叶斯推断中的更新过程

4、Beta分布的性质

Dirichlet分布(狄利克雷分布)

1、多项分布

2、多项分布的例子

3、Dirichlet分布的定义

3、Dirichlet分布作为多项分布的先验时贝叶斯估计中的更新过程

4、直观解释 Dirichlet 分布作为多项分布的先验

二、Laplace平滑

1、动机和定义

2、例子

3、优缺点

4、Laplace平滑的扩展

三、贝叶斯最优分类器

1、最小错误率决策——最大后验概率决策

2、最小化风险决策

 1、从最小错误率决策到最小风险决策     

2、引入拒识

四、概率密度函数的参数估计

1、伯努利分布的极大似然估计

2、伯努利分布的贝叶斯估计

3、多项分布的极大似然估计

4、多项分布的贝叶斯估计

5、单变量高斯分布的极大似然估计

6、单变量高斯分布的贝叶斯估计

7、多元高斯分布的极大似然估计

五、朴素贝叶斯分类器

0、朴素贝叶斯分类器 · 理论介绍

(1)基本原理

(2)“朴素”假设

(3)朴素贝叶斯的不同模型

(4)分类过程

(5)分类过程中类先验概率的估计 

(6)分类过程中类条件概率的估计 

(7)朴素贝叶斯与最大似然估计、最大后验估计的联系

(8)朴素贝叶斯分类器的优缺点

1、多项式朴素贝叶斯分类举例 (PPT上的例子)

问题背景

步骤 1:计算先验概率

步骤 2:计算条件概率(类条件分布)

步骤 3:预测新用户

步骤 4:比较后验概率

2、高斯朴素贝叶斯分类器举例

问题背景

数据集

步骤 1:计算先验概率

步骤 2:计算类条件概率的参数(均值和方差)

步骤 3:预测新样本

六、高斯判别分析

1、高斯判别分析的基本假设

2、类别的先验分布

3、判别函数

4、二次判别分析(QDA)

5、线性判别分析(LDA)

6、特殊情况:协方差矩阵为对角阵

7、高斯判别模型的训练

8、收缩估计(Shrinking Estimation)——正则化

总结

七、⭐全文总结⭐

1、对于贝叶斯分类器

2、对于概率密度函数的参数估计

3、对于朴素贝叶斯分类器

4、对于高斯判别分析


一、共轭先验

最大似然估计和最大后验估计是点估计,贝叶斯估计的参数估计不再是一个点估计,而是一个对一个分布的估计,即它估计的是一系列参数值的一个分布 ,共轭先验(Conjugate Prior)是贝叶斯统计中的一个概念,指的是在贝叶斯更新中选择一种特殊的先验分布,使得在观察数据后得到的后验分布与先验分布属于同一家族,对伯努利分布(二项分布就是伯努利分布)进行贝叶斯估计时,使用Beta分布作为共轭先验可以简化运算。对多项分布进行贝叶斯估计时,选用Dirichlet分布作为共轭先验可以简化运算。

Beta分布

1、推导

Beta分布本质是概率分布P的概率分布,在《推荐文章2》中的抛硬币的例子中,在知道结果前,概率分布为:

P()=C^{x}_{10}q^{x}(1-q)^{10-x},可见先验 q 变化时,P 也会相应发生变化,感觉一下应该是 P 随着 q 先增大后减小;所以就可以把 P 写成一个概率分布的形式,显然P\propto q^{x}(1-q)^{10-x} ,而要写成概率分布,概率密度就要归一化,对 q^{x}(1-q)^{10-x} 积分得 \int_{0}^{1}q^{x}(1-q)^{10-x}dq ,所以 P 的分布可写成:                                       

                                                    f(q)=\frac{1}{\int_{0}^{1}q^{x}(1-q)^{10-x}dq}\cdot q^{x}(1-q)^{10-x} 

更一般的,如果先验的实验次数分别为 \alpha-1 次成功和 \beta-1 次失败,则概率分布 P 的概率分布可写为:

                                                f(q,\alpha ,\beta )=\frac{1}{\int_{0}^{1}q^{\alpha-1 }(1-q)^{ \beta-1 }dq}\cdot q^{ \alpha-1 }(1-q)^{ \beta-1 }

其中归一系数的倒数可表示为B(\alpha ,\beta )=\int_{0}^{1}q^{\alpha-1 }(1-q)^{ \beta-1 }dq,被称为Beta函数。

以上就是Beta分布推导的精髓。

在上面抛硬币的例子中,先验是均匀分布,取\alpha = \beta = 1,即f(q)=1,符合分布Beta(q,1,1),数据信息是3次正面和7次反面,所以后验为分布Beta(q,4,8) 。

2、Beta分布参数的实际意义

在 Beta 分布中,参数 \alpha\beta 可以被解释为**“先验成功和失败的次数加 1”**。这就是说:

  • \alpha - 1 可以看作是我们在先验信念中预期的“成功”次数。
  • \beta - 1 可以看作是我们在先验信念中预期的“失败”次数。

这解释了为什么 Beta 分布的概率密度函数(PDF)是:

                                                \text{Beta}(\theta | \alpha, \beta) = \frac{\theta^{\alpha - 1} (1 - \theta)^{\beta - 1}}{B(\alpha, \beta)}

这里的 \alpha - 1\beta - 1 正是对“成功”和“失败”次数的参数化,体现了我们在先验中已经观测到的“成功”和“失败”的预期数量。

3、Beta分布作为先验时贝叶斯推断中的更新过程

在我们选择了 Beta 分布作为先验后,观测数据可以不断更新这个先验分布。假设我们进行了一些实验,例如进行了一系列伯努利试验(比如多次抛硬币)并观察到 k 次成功和 n - k 次失败。此时,可以根据观测数据对先验分布进行更新,从而得到后验分布。

假设:

  • 初始的先验分布是 \text{Beta}(\alpha, \beta)
  • 观测到 k 次成功(事件发生)和 n - k 次失败(事件未发生)。

则观测数据的似然函数为:

                                                        p(X | \theta) \propto \theta^k (1 - \theta)^{n - k}

根据贝叶斯公式,后验分布 p(\theta | X) 可以通过将似然与先验相乘并标准化得到:

                                                        p(\theta | X) \propto p(X | \theta) \cdot p(\theta)

代入具体的形式得到:

                                        p(\theta | X) \propto \theta^k (1 - \theta)^{n - k} \cdot \theta^{\alpha - 1} (1 - \theta)^{\beta - 1}

可以将其整理为:

                                                p(\theta | X) \propto \theta^{k + \alpha - 1} (1 - \theta)^{n - k + \beta - 1}

这就是一个新的 Beta 分布的形式,后验分布为:

                                ​​​​​​​        ​​​​​​​        \theta | X \sim \text{Beta}(\alpha + k, \beta + n - k)

因此,更新后的后验分布仍然是 Beta 分布,只需更新参数为 \alpha' = \alpha + k\beta' = \beta + n - k。这种共轭性质使得 Beta 分布在处理伯努利分布和二项分布时特别方便。

4、Beta分布的性质

参数 \alpha\beta 控制着 Beta 分布的形状,使得分布可以表示不同的概率模式。

(1)均值

均值(中心位置):

                                                         期望  = \mathbb{E}[\theta] = \frac{\alpha}{\alpha + \beta}

因此,均值由 \alpha\beta 的比率决定。例如,较大的 \alpha 值会使分布更靠近1(更偏向成功),而较大的 \beta 值会使分布更靠近0(更偏向失败)。

(2)方差

方差(集中程度):

                                                方差= \text{Var}(\theta) = \frac{\alpha \beta}{(\alpha + \beta)^2 (\alpha + \beta + 1)}

\alpha\beta 较小时,方差较大,表示对 \theta 的不确定性更大,先验的次数很少导致分布比较离散;当 \alpha\beta 较大时,方差较小,表示对 \theta 的不确定性较小。也就是说,\alpha + \beta 越大,分布越集中,对事件的发生概率 \theta 越有信心。

(3)α和β不同组合下的解释

  • 均匀分布:当 \alpha = 1\beta = 1 时,Beta 分布是均匀分布,即对区间 [0, 1] 上的所有值都持等可能的信念。这表示对事件的概率没有任何偏好或先验知识。

  • 向 1 倾斜的分布:当 \alpha > 1\beta = 1 时,Beta 分布倾向于靠近 1。这表示我们在先验上认为事件的发生概率较大,即对事件发生抱有较强的信心。

  • 向 0 倾斜的分布:当 \alpha = 1\beta > 1 时,Beta 分布倾向于靠近 0。这表示我们在先验上认为事件的发生概率较小,即认为事件不太可能发生。

  • 钟形分布:当 \alpha > 1\beta > 1 时,Beta 分布呈钟形,集中在 0 和 1 之间的某个位置。这表示对事件发生概率有一定的偏好,但并不极端。

  • U形分布:当 \alpha < 1\beta < 1 时,Beta 分布在 0 和 1 处有较高的密度,中间位置概率较低。它表示对事件的概率有强烈的二分倾向,即要么很可能发生,要么不太可能发生,但不倾向于中间值。

(4)α和β取值相等但取较大的值和较小的值的区别

(i)参数相等的意义:对称的先验信念

\alpha = \beta 时,Beta 分布是对称的,即 p(\theta | \alpha, \beta) 关于 \theta = 0.5 对称。这表明我们对事件发生和不发生的概率没有任何偏好或倾向,反映了先验信念的平衡 。

(ii)较小的α=β,对事件概率缺乏确定性

\alpha = \beta = 1 时,Beta 分布就是一个均匀分布,即在 [0, 1] 区间上所有的概率值都是等可能的。这表明我们对事件的概率没有任何先验知识或偏好,每个概率值都同等可能。

\alpha\beta 更小(比如 \alpha = \beta = 0.5),Beta 分布在 0 和 1 处出现较高的概率密度,而中间的概率值较小。这表示我们认为事件要么几乎一定会发生(概率接近 1),要么几乎不会发生(概率接近 0)。这是一种对概率的“二分倾向”,体现了极端的、不确定的先验信念。

(iii)较大的α=β,对事件概率的确定性增加

\alpha\beta较大的数(例如,\alpha = \beta = 10\alpha = \beta = 50),Beta 分布在物理上表现出一种高度确定性强烈的先验信念。具体来说:

  • 较大的 \alpha\beta 值使得 Beta 分布更加集中在 0.5 附近,呈现出一个钟形曲线,表明我们认为事件发生的概率接近 0.5
  • 参数值越大,Beta 分布越集中,表示我们对事件发生概率接近 0.5 的信念越强烈。因此,当我们观测到新的数据时,这些观测数据对后验分布的影响较小,因为我们对事件的概率已有较强的先验信念。

物理意义上,较大的 \alpha\beta 表示我们对事件发生概率的估计非常有信心,认为它很接近 0.5,因此观测数据的影响会被削弱。这种情况下,先验分布的权重较大,不容易被新数据改变。

Dirichlet分布(狄利克雷分布)

多项分布的先验符合 Dirichlet分布,多项分布是伯努利分布向高维的一个扩展,Dirichlet分布也是Beta分布向高维的一个扩展,因此Beta分布和Dirichlet分布有许多相似的地方。
1、多项分布

(1)定义

它是二项分布的推广,用于描述一个实验中可能有多个结果的情况。多项分布可以理解为一次重复试验中,每个试验有多个互斥的结果(类别),每个结果发生的概率是已知的,且总和为1。
例如抛掷多面骰子、文本分类等
设我们进行 n 次独立试验,每次试验有 k 个可能的互斥结果(类别),且每个结果 i 发生的概率为 p_i,其中 \sum_{i=1}^k p_i = 1。多项分布描述了在 n 次试验中,每个类别发生的次数。

如果随机变量 X = (X_1, X_2, \dots, X_k) 表示每个类别的出现次数,则 X 服从一个多项分布,记为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         X \sim \text{Multinomial}(n, p_1, p_2, \dots, p_k)

其中:

  • X_i 表示第 i 类在 n 次试验中出现的次数。
  • p_i 表示第 i 类在每次试验中发生的概率。
  • n 表示试验的总次数。

(2)质量分布函数

多项分布的概率质量函数(PMF)表示在 n 次试验中,每个类别 iii 恰好出现 X_i 次的概率:

        ​​​​​​​         P(X_1 = x_1, X_2 = x_2, \dots, X_k = x_k) = \frac{n!}{x_1! x_2! \dots x_k!} \prod_{i=1}^k p_i^{x_i}

其中:

  • x_i​ 是第 类出现的次数,且满足 x_1 + x_2 + \dots + x_k = n 。
  • \frac{n!}{x_1! x_2! \dots x_k!}​ 是组合数,表示在 n 次试验中获得具体观测次数 (x_1, x_2, \dots, x_k) 的排列数。
  • p_i^{x_i}​​ 表示第 i 类出现 x_i 次的概率。

(3)期望和方差

对于多项分布中的每个类别 iii:

  • 期望\mathbb{E}[X_i] = n \cdot p_i​,即第 i 类的期望次数是总次数 n 乘以该类的概率 p_i
  • 方差\text{Var}(X_i) = n \cdot p_i \cdot (1 - p_i),表示在 n 次试验中,第 i 类的出现次数的方差。
  • 协方差:对于 i\neq j\text{Cov}(X_i, X_j) = -n \cdot p_i \cdot p_j,即不同类别的出现次数是负相关的,因为它们在 n 次试验中共享总数。

(4) 独立性

多项分布中的每个随机变量 X_i​ 并不是相互独立的,因为它们的和必须满足 X_1 + X_2 + \dots + X_k = n 。换句话说,多项分布中的事件数是总数为 n 的分配问题,各类别的出现次数之间存在一定的关联。

2、多项分布的例子

假设我们有一个4面骰子,每个面出现的概率分别为 p_1 = 0.2p_2 = 0.3p_3 = 0.1p_4 = 0.4 。我们掷这个骰子 10 次,记录每个面出现的次数。

在这种情况下:

  • n = 10
  • 类别数 k = 4
  • 每个类别的出现概率分别为 p_1 = 0.2p_2 = 0.3p_3 = 0.1 、p_4 = 0.4

如果结果是 X = (2, 3, 1, 4),表示:

  • 第一面出现了 2 次
  • 第二面出现了 3 次
  • 第三面出现了 1 次
  • 第四面出现了 4 次

根据多项分布的概率质量函数,可以计算出这个结果的概率:

         P(X_1 = 2, X_2 = 3, X_3 = 1, X_4 = 4) = \frac{10!}{2! \cdot 3! \cdot 1! \cdot 4!} \cdot 0.2^2 \cdot 0.3^3 \cdot 0.1^1 \cdot 0.4^4

这个概率表示在 10 次试验中得到特定观测结果 (2, 3, 1, 4) 的可能性。

3、Dirichlet分布的定义

Dirichlet 分布是定义在 k-维概率简单形(即所有分量之和为 1 的非负向量)上的分布。假设随机变量 P = (p_1, p_2, \dots, p_k) 服从 Dirichlet 分布,其概率密度函数为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        p(P | \alpha) = \frac{1}{B(\alpha)} \prod_{i=1}^k p_i^{\alpha_i - 1}

其中:

  • \alpha = (\alpha_1, \alpha_2, \dots, \alpha_k) 是 Dirichlet 分布的参数向量,称为浓度参数,每个 \alpha_i > 0
  • B(\alpha) 是归一化常数,称为 Beta 函数,定义为 B(\alpha) = \frac{\prod_{i=1}^k \Gamma(\alpha_i)}{\Gamma(\sum_{i=1}^k \alpha_i)}​。
  • p_i​ 满足 0 \leq p_i \leq 1\sum_{i=1}^k p_i = 1,因此 Dirichlet 分布定义在一个 (k-1)-维的概率简单形上。

3、Dirichlet分布作为多项分布的先验时贝叶斯估计中的更新过程

在贝叶斯推断中,如果我们有一个多项分布的概率参数 P = (p_1, p_2, \dots, p_k),假设我们对 P 的先验分布为 Dirichlet 分布:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         P \sim \text{Dirichlet}(\alpha_1, \alpha_2, \dots, \alpha_k)

然后,我们进行 n 次试验,观测到每个类别出现的次数为 X = (x_1, x_2, \dots, x_k),其中 x_i 表示第 i 类的出现次数。

根据贝叶斯公式,后验分布为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         p(P | X) \propto p(X | P) \cdot p(P)

其中:

  • p(X | P) 是似然函数,服从多项分布:p(X | P) \propto \prod_{i=1}^k p_i^{x_i} 。
  • p(P) 是先验分布,服从 Dirichlet 分布:p(P) \propto \prod_{i=1}^k p_i^{\alpha_i - 1}​。

将似然函数和先验分布相乘得到后验分布:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         p(P | X) \propto \prod_{i=1}^k p_i^{x_i + \alpha_i - 1}

可以看出,这仍然是一个 Dirichlet 分布,参数为 (\alpha_1 + x_1, \alpha_2 + x_2, \dots, \alpha_k + x_k)。因此,后验分布为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​         P | X \sim \text{Dirichlet}(\alpha_1 + x_1, \alpha_2 + x_2, \dots, \alpha_k + x_k)

这种性质说明了 Dirichlet 分布是多项分布的共轭先验。

4、直观解释 Dirichlet 分布作为多项分布的先验
由于Dirichlet 分布作为多项分布的先验 与 Beta分布作为伯努利分布共轭先验类似,此处简要解释。
  • 参数 \alpha_i​ 表示我们对第 i 类的“先验观测次数”或“信念强度”。例如,较大的 \alpha_i​ 值表示我们在先验上认为第 i 类的概率较大。
  • \alpha_i = 1 时,对应的先验是均匀分布,表示在先验上对每个类别没有特别的偏好。
  • 当观察到新的数据后,Dirichlet 分布的参数更新为 \alpha_i + x_i​,即在先验的基础上增加了每个类别的实际观测次数。

二、Laplace平滑

1、动机和定义
Laplace 平滑,也称为加一平滑,是一种在处理离散概率分布问题中常用的平滑技术。它主要用于估计在数据中未出现的事件的概率,防止概率为零的情况。 Laplace 平滑给每个可能的事件都加上一个小的非零计数,通常是加 1。这确保了所有事件的概率都不为零,并使得模型在面对新数据时更具鲁棒性。

Laplace 平滑的公式为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         P(x_i) = \frac{N_i + 1}{N + k}

其中:

  • N_i​ 是事件 x_i​ 的原始计数。
  • N 是样本的总计数。
  • k 是事件的可能类别总数。
  • 分母 N + k 通过加上 k,保证了所有事件的概率之和仍为 1。
2、例子

假设我们正在统计单词在文档中的出现概率,词汇表中有 k = 5 个单词:{“apple”, “banana”, “orange”, “grape”, “melon”}。假设在一篇文档中,我们观察到以下出现次数:

  • "apple": 3 次
  • "banana": 2 次
  • "orange": 0 次
  • "grape": 1 次
  • "melon": 0 次

文档的总单词数(计数总和)为 N = 3 + 2 + 0 + 1 + 0 = 6

如果我们直接计算频率,不做平滑,得到的概率为:

P(\text{"apple"}) = \frac{3}{6} = 0.5, \quad P(\text{"orange"}) = \frac{0}{6} = 0

由于“orange”和“melon”从未出现,它们的概率为零。如果我们希望在后续处理中能够处理这些词(避免概率为零),可以使用 Laplace 平滑:

对于每个单词,我们将出现次数加 1,再重新计算概率:

P(\text{"apple"}) = \frac{3 + 1}{6 + 5} = \frac{4}{11} \approx 0.36

P(\text{"banana"}) = \frac{2 + 1}{6 + 5} = \frac{3}{11} \approx 0.27

P(\text{"orange"}) = \frac{0 + 1}{6 + 5} = \frac{1}{11} \approx 0.09

        通过这种方式,即使“orange”和“melon”在数据中没有出现,我们也为它们分配了一个非零的概率,确保模型不会因为这些未观测到的事件而出错。

3、优缺点

优点:防止零概率问题,实现简单,计算效率高,是处理数据稀疏问题的基础方法。

缺点:对所有事件统一加 1,可能会对小概率事件的影响较大,导致低频事件的概率被高估,高频事件的概率被低估。在数据量大时,Laplace 平滑的影响较小,而在数据量小时,平滑效果明显且可能带来一定偏倚

4、Laplace平滑的扩展
        在 Laplace 平滑中,我们默认对每个事件的计数加 1,称为加一平滑。我们也可以使用一个更一般的参数 \alpha,称为 \alpha 平滑。其公式为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        P(x_i) = \frac{N_i + \alpha}{N + \alpha \cdot k}

其中 \alpha > 0 是一个超参数。常见的选择包括 \alpha = 0.5 或更小的值,以减弱平滑的效果。

三、贝叶斯最优分类器

1、最小错误率决策——最大后验概率决策

最小错误率决策是一种通过最大化后验概率来实现最小化分类错误概率的方法。

(1)最小化错误率
最小化错误率决策的核心是选择一个类 c 使得后验概率 P(Y = c | x) 最大。即,对于一个给定的观测值 x,选择使 P(Y = c | x) 最大的类 c 作为决策结果,这就是最大后验概率(MAP)决策。

(2)贝叶斯公式
根据贝叶斯定理,后验概率可以表示为:

                                 P(Y = c | x) = \frac{P(x | Y = c) P(Y = c)}{\sum_{c'} P(x | Y = c') P(Y = c')}​​​​​​​

其中,P(Y = c) 是类的先验概率,P(x | Y = c) 是类条件概率。

(3)判别函数
为了简化计算,通常使用对数形式的判别函数来进行比较,即:

                              d_c = \ln(P(x | Y = c)) + \ln(P(Y = c))

在判别过程中,只需比较各类的判别函数值,选择最大的那个类作为预测类别。

(4)地震预测的例子(PPT中的例子)

​​​
  • 定义事件与先验概率

    • Y 为事件变量,Y = 1 表示发生地震,Y = 0 表示正常。
    • 通过对高发区的统计得出每周发生地震的概率为 20%,即 P(Y = 1) = 0.2P(Y = 0) = 0.8 。
    • 如果没有其他信息,可以直接认为当前正常,因为 P(Y = 0) > P(Y = 1)  。
  • 特征变量与条件概率

    • 假设在地震高发区,观察到生物的异常反应可能与地震有关。
    • 引入二值特征 X 表示生物的反应:X = 1 表示异常反应,X = 0 表示正常。
    • 根据历史数据统计,给出以下条件概率:
      • 地震发生时,出现生物异常反应的概率 P(X = 1|Y = 1) = 0.6,正常反应的概率 P(X = 0|Y = 1) = 0.4 。
      • 没有地震时,出现异常反应的概率 P(X = 1|Y = 0) = 0.1,正常反应的概率 P(X = 0|Y = 0) = 0.9 。
  • 应用贝叶斯定理计算后验概率

    • 假设观察到生物的异常反应(即 X = 1),求地震发生的后验概率 P(Y = 1|X = 1)
    • 根据贝叶斯公式: P(Y = 1|X = 1) = \frac{P(X = 1|Y = 1)P(Y = 1)}{P(X = 1|Y = 1)P(Y = 1) + P(X = 1|Y = 0)P(Y = 0)}
    • 代入数值计算得: P(Y = 1|X = 1) = \frac{0.6 \times 0.2}{0.6 \times 0.2 + 0.1 \times 0.8} = 0.6
    • 因为 0.6 > 0.5,所以可以认为地震更可能发生(即 Y = 1)。
  • 决策结果

    • 通过以上计算,确定当观察到生物的异常反应时,可以判断地震发生的可能性更大,作出 Y = 1 的预测。
    • 此例展示了如何在已知先验和条件概率的情况下,通过最大后验概率决策来进行预测。

(5)决策准则
该准则通过最大化后验概率来最小化错误率,因为后验概率最高的类是最有可能的类别。这种方法确保了在给定的观测值 x 下,错误率 P(\text{error} | x) = 1 - P(Y = c | x) 最小。

综上所述,最小错误率决策通过最大后验概率准则选择类别,使得分类器在不确定性情况下也能以较高的准确率进行预测。

2、最小化风险决策

(1)、从最小错误率决策到最小风险决策     
        最小化错误率决策没有考虑不同方式错误带来的损失可能不同。最小风险决策是在最小错误率决策的基础上再给决策一个代价。例如上面的地震预测例子中假设计算得到不发生地震的概率为60\%,发生地震的概率为40\%,对于最小错误率决策,认为不发生地震。判定错误的情况有两种,分别为:(1)实际发生地震但判定为不发生地震,(2)实际不发生地震但判定为地震了。很显然前者的代价是远远大于后者的。所以对于最小化风险决策,要给每个判定一个代价。假设给第一种错误的情况的代价为(损失100W),给第二种错误情况代价为(损失10W),判定正确的两种情况代价为0(发生地震判定也为地震和判定不地震实际也不地震)。
那么判定为不发生地震的平均损失为:100\times 0.4+0\times 0.6=40
判定为发生地震的平均损失为:10\times 0.6+0\times 0.4=6
显然判断为地震的风险更小,因此在最小风险决策中上述地震预测的例子应判定为发生地震。
(2)、引入拒识
        在最小风险决策中引入拒识机制是一种 应对高不确定性情况下避免错误分类的策略。通过拒识机制,分类器可以在某些输入样本上选择“不做判断”或“转交人工处理”,以此来减少潜在的错误分类损失。
(1)为什么要引入拒识
        在一些分类问题中,可能出现分类器对某些样本的后验概率接近,导致分类不确定性较高。这时,分类器可以选择拒识,避免作出错误分类,以减少总损失。拒识的损失代价 L_r 需要满足 L_r < L_s​,其中 L_s​ 是错误分类的损失代价。如果 L_r \geq L_s,分类器将不会拒识,因为拒识反而带来更大的代价。
(2)损失函数的定义

引入拒识后,我们的损失函数可以定义为:

L(\hat{y}, y) = \begin{cases} 0, & \text{if } y = \hat{y} \\ L_s, & \text{if } y \neq \hat{y} \\ L_r, & \text{reject} \end{cases}

其中:

  • 当分类正确时,损失为 0;
  • 当分类错误时,损失为 L_s
  • 当选择拒识时,损失为 L_r​。
(3)条件风险的计算

在引入拒识后,条件风险可以表示为:

R(c|\mathbf{x}) = \begin{cases} L_s \left(1 - P(Y = c|\mathbf{x})\right), & \text{for } c = 1, 2, \dots, C \\ L_r, & \text{reject} \end{cases}

这里,P(Y = c|\mathbf{x}) 是给定输入样本 \mathbf{x} 属于类别 c 的后验概率。

  • 当分类器选择某个类别 c 时,其风险为 L_s \left(1 - P(Y = c|\mathbf{x})\right)
  • 当分类器选择拒识时,其风险为 L_r
(4)拒识的决策准则

为了实现最小风险决策,引入拒识后的准则为:

\hat{y} = \arg\min_{c} R(c|\mathbf{x}) = \begin{cases} \arg\max_{c} P(Y = c|\mathbf{x}), & \text{if } \max_{c} P(Y = c|\mathbf{x}) > 1 - \frac{L_r}{L_s} \\ \text{reject}, & \text{else} \end{cases}

这意味着:

  • 如果最大后验概率 \max_{c} P(Y = c|\mathbf{x}) 超过阈值 1 - \frac{L_r}{L_s},则选择该类别;
  • 否则,选择拒识。

、概率密度函数的参数估计

给定随机变量 X 或随机向量 \boldsymbol{X} 的概率密度函数  p(x)  的形式,但其参数未知,
例如,在两类分类任务中,类先验分布 Y\sim Berloulli(\theta )  ,但参数 \theta 的值未知.
有多种方法可用来估计模型的参数
矩方法
极大似然估计:频率学派
贝叶斯方法:贝叶斯学派
最大似然估计、最大后验估计的理论,在本文开头《推荐文章1》和《推荐文章2》中也有详细的解答和示例。在《推荐文章3》中,有关于矩方法的简要理论介绍。

1、伯努利分布的极大似然估计

假设:随机变量 X 只有 0 和 1 两种取值,即 X \sim \text{Bernoulli}(\theta),其中 \theta 表示随机变量取值为 1 的概率。

似然函数

                                                    p(X | \theta) = \theta^x (1 - \theta)^{1 - x}​​​​​​​

对数似然函数

l(\theta) = \ln p(\mathcal{D} | \theta) = \sum_{i=1}^N \ln p(x_i |\theta)\\=\sum_{i=1}^N \left( x_i \ln \theta + (1 - x_i) \ln (1 - \theta) \right)

最大似然估计: 求对数似然函数关于 \theta 的导数并令其为 0:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​           \frac{\partial l(\theta)}{\partial \theta} = \frac{N_1}{\theta} - \frac{N_0}{1 - \theta} = 0

解得:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​          ​​​​​​​        \hat{\theta} = \frac{N_1}{N}

其中 N_1x_i = 1 的样本数,N 是样本总数。

2、伯努利分布的贝叶斯估计

贝叶斯估计是对参数分布的估计,最大后验估计和最大似然估计是对参数的最大点估计。

  • 先验分布:假设 \theta 服从 Beta 分布,即 \theta \sim \text{Beta}(\alpha, \beta),其概率密度函数为:

            ​​​​​​​        ​​​​​​​        ​​​​​​​             p(\theta | \alpha, \beta) = \frac{1}{B(\alpha, \beta)} \theta^{\alpha - 1} (1 - \theta)^{\beta - 1}
  • 似然函数(基于伯努利分布):

    ​​​​​​​                                          p(\mathcal{D} | \theta) = \theta^{N_1} (1 - \theta)^{N_0}​​​​​​​

    其中 N_1 和 N_0​ 分别是取值为 1 和 0 的样本数量。

  • 后验分布:根据贝叶斯公式,后验分布为:

                            p(\theta | \mathcal{D}) \propto p(\mathcal{D} | \theta) p(\theta) = \theta^{N_1 + \alpha - 1} (1 - \theta)^{N_0 + \beta - 1}

    因此,后验分布仍然是 Beta 分布:

                                   \theta | \mathcal{D} \sim \text{Beta}(N_1 + \alpha, N_0 + \beta)​​​​​​​
  • 最大后验估计MAP(贝叶斯估计出来的后验分布的最大点)

                                               \hat{\theta}_{\text{MAP}} = \frac{\alpha + N_1 - 1}{\alpha + \beta + N - 2}​​​​​​

        当 \alpha = \beta = 1 时,即使用均匀先验分布(等于1特指没有先验),MAP退化为MLE:

                                                           \hat{\theta} = \frac{N_1 }{N }

  • 后验均值估计(后验Beta 分布的期望值):

                                                 \hat{\theta}_{\text{Bayes}} = \frac{\alpha + N_1}{\alpha + \beta + N}

    ​​​​​​​

3、多项分布的极大似然估计

  • 背景:若随机变量 XK 个可能的取值(例如 X \in \{1, 2, \dots, K\}),则 X 服从多项分布 \text{Multinoulli}(\theta),其中 \theta = (\theta_1, \theta_2, \dots, \theta_K) 表示每个类别的概率。

  • 似然函数:给定观测数据 \mathcal{D} = \{x_1, x_2, \dots, x_N\},其中 x_i​ 的取值属于 \{1, 2, \dots, K\},似然函数为

                                     p(\mathcal{D} | \theta) = \prod_{i=1}^N \prod_{k=1}^K \theta_k^{\mathbb{I}(X_i = k)} = \prod_{k=1}^K \theta_k^{N_k}

    其中 N_k​ 是类别 k 的样本数量。

  • 对数似然函数

                                                   \ln p(\mathcal{D} | \theta) = \sum_{k=1}^K N_k \ln \theta_k
  • 最大似然估计由于 \sum_{k=1}^K \theta_k = 1 作为约束条件,使用拉格朗日乘数法优化,得到

                                                                \hat{\theta}_k = \frac{N_k}{N}

    其中 N 是样本总数。

4、多项分布的贝叶斯估计

  • 先验分布:多项分布的共轭先验是 Dirichlet 分布。假设 \theta \sim \text{Dirichlet}(\alpha),其中 \alpha = (\alpha_1, \alpha_2, \dots, \alpha_K) 是超参数,表示先验观测次数。

  • 似然函数:多项分布的似然函数为

                                                    ​​​​​​​p(\mathcal{D} | \theta) = \prod_{k=1}^K \theta_k^{N_k}​​​​​​​
  • 后验分布:结合先验分布和似然函数,后验分布为

                                   p(\theta | \mathcal{D}) \propto p(\mathcal{D} | \theta) p(\theta) = \prod_{k=1}^K \theta_k^{N_k + \alpha_k - 1}

    因此,后验分布是一个 Dirichlet 分布:

                        \theta | \mathcal{D} \sim \text{Dirichlet}(\alpha_1 + N_1, \alpha_2 + N_2, \dots, \alpha_K + N_K)
  • 最大后验估计MAP(贝叶斯估计出来的后验分布的最大点)

    \hat{\theta}_k = \frac{\alpha_k + N_k - 1}{\alpha_0 + N - K}         

    其中 \alpha_0 = \sum_{k=1}^K \alpha_k

        当所有的 \alpha_k = 1 时,即使用均匀先验分布,MAP退化为MLE:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        \hat{\theta}_k = \frac{N_k }{N }

  • 后验均值估计(后验Dirichlet 分布的期望值):

                                                          \hat{\theta}_k = \frac{\alpha_k + N_k}{\alpha_0 + N}

5、单变量高斯分布的极大似然估计

  • 假设:随机变量 X \sim N(\mu, \sigma^2),即服从均值为 \mu,方差为 \sigma^2 的正态分布。

  • 概率密度函数

                                       p(x | \mu, \sigma) = \frac{1}{\sqrt{2\pi\sigma}} \exp\left(-\frac{(x - \mu)^2}{2\sigma^2}\right)
  • 对数似然函数: 给定样本数据 \mathcal{D} = \{x_1, x_2, \dots, x_N\},对数似然函数为:

                \ln p(\mathcal{D} | \mu, \sigma) = -\frac{N}{2} \ln(2\pi) - N \ln(\sigma) - \frac{\sum_{i=1}^N (x_i - \mu)^2}{2\sigma^2}
  • 最大似然估计: 对参数 \mu\sigma 求偏导并令其为零,可得到:

             \hat{\mu} = \bar{x} = \frac{1}{N} \sum_{i=1}^N x_i              \hat{\sigma}^2 = \frac{1}{N} \sum_{i=1}^N (x_i - \hat{\mu})^2                                             其中 \bar{x} 是样本均值,\hat{\sigma}^2 是样本的经验方差。​​​​​​​​​​​​​​

这里其实并没有单变量,其实对两个变量都使用了极大似然估计。

6、单变量高斯分布的贝叶斯估计

  • 假设:已知方差 \sigma^2,对均值 \mu 进行贝叶斯估计。选择 \mu 的共轭先验分布为正态分布,即 \mu \sim N(\mu_0, \sigma_0^2)

  • 似然函数:与最大似然估计相同,样本的似然函数为

                                p(\mathcal{D} | \mu) = \left(\frac{1}{\sqrt{2\pi\sigma}}\right)^N \exp\left(-\frac{\sum_{i=1}^N (x_i - \mu)^2}{2\sigma^2}\right)
  • 后验分布:将先验分布与似然函数结合得到后验分布:

    p(\mu | \mathcal{D}) = N(\mu_N, \sigma_N^2)

    其中

                          \mu_N = \sigma_N^2 \left(\frac{N}{\sigma^2} \bar{x} + \frac{\mu_0}{\sigma_0^2}\right) = \frac{\sigma^2}{N\sigma_0^2 + \sigma^2} \bar{x} + \frac{N\sigma_0^2}{N\sigma_0^2 + \sigma^2} \mu_0                                                                                                 \sigma_N^2 = \frac{\sigma_0^2}{N\sigma_0^2 + \sigma^2}​​
  • 解释\mu_N​ 是先验信息 (\mu_0, \sigma_0^2) 与训练样本信息 (N, \bar{x}) 的加权组合,其中 \sigma_N^2​ 随着样本数 N 增大而减小。

性质:

后验分布:后验分布 p(\mu | \mathcal{D}) = N(\mu_N, \sigma_N^2) 表示观测到数据后,对均值 \mu 的不确定性逐渐减小。

渐进性:随着 N 增大,\sigma_N^2 \to 0,后验均值 \mu_N​ 趋近于样本均值 \bar{x},体现了贝叶斯估计的渐进性,即样本信息逐渐压倒先验信息。

7、多元高斯分布的极大似然估计

(1)多元高斯分布的概率密度函数

  • 定义x \sim N(\mu, \Sigma),其中 \mu 是均值向量,\Sigma 是协方差矩阵。

  • 概率密度函数

                       p(x) = \frac{1}{(2\pi)^{D/2} |\Sigma|^{1/2}} \exp\left(-\frac{1}{2} (x - \mu)^T \Sigma^{-1} (x - \mu)\right)
  • 参数解释

    • 均值向量 \mu = \mathbb{E}(x):表示数据分布的中心位置。
    • 协方差矩阵 \Sigma = \mathbb{E}((x - \mu)(x - \mu)^T):表示数据分布的形状和方向。
      • 对角线元素 \sigma_{kk} 表示第 k 个特征的方差。
      • 非对角线元素 \sigma_{ij}​ 表示第 i 个和第 j 个特征之间的协方差。

(2)似然函数

对数似然函数: 给定 N 个独立样本 \{x_i\}_{i=1}^N​,对数似然函数为:  

                                           \ln p(\mathcal{D}|\mu, \Sigma) = \sum_{i=1}^N \ln p(x_i)

经过化简得到:

         \ln p(\mathcal{D}|\mu, \Sigma) = -\frac{N \times D}{2} \ln(2\pi) - \frac{N}{2} \ln(|\Sigma|) - \frac{1}{2} \sum_{i=1}^N (x_i - \mu)^T \Sigma^{-1} (x_i - \mu)

(3)求均值 μ 的最大似然估计

  • 去掉与参数无关的常数项后,对数似然函数变为:

                 \ln p(\mathcal{D}|\mu, \Sigma) = -\frac{N}{2} \ln(|\Sigma|) - \frac{1}{2} \sum_{i=1}^N (x_i - \mu)^T \Sigma^{-1} (x_i - \mu)
  • \mu 求导并设为 0

                                        \frac{\partial \ln p(\mathcal{D}|\mu, \Sigma)}{\partial \mu} = \sum_{i=1}^N \Sigma^{-1} (x_i - \mu) = 0​​​​​​​
  • 得到均值的最大似然估计:

                                                     \hat{\mu} = \frac{1}{N} \sum_{i=1}^N x_i = \bar{x}

(4)求协方差矩阵 Σ 的最大似然估计

  • 以精度矩阵 \Lambda = \Sigma^{-1} 表示协方差矩阵,化简后得到对数似然函数:

                       \ln p(\mathcal{D}|\mu, \Lambda) = \frac{N}{2} \ln(|\Lambda|) - \frac{1}{2} \sum_{i=1}^N (x_i - \mu)^T \Lambda (x_i - \mu)
  • 利用矩阵求导法则,得到协方差矩阵的估计:

                              \Lambda^{-T} = \Lambda^{-1} = \Sigma = \frac{1}{N} \sum_{i=1}^N (x_i - \mu)(x_i - \mu)^T
  • 最终的协方差矩阵估计为:

                                            \hat{\Sigma} = \frac{1}{N} \sum_{i=1}^N (x_i - \hat{\mu})(x_i - \hat{\mu})^T

五、朴素贝叶斯分类器

0、朴素贝叶斯分类器 · 理论介绍

(1)基本原理

        朴素贝叶斯分类器(Naive Bayes Classifier)是一种基于贝叶斯定理的简单而有效的概率分类算法。它特别适用于文本分类垃圾邮件过滤情感分析等任务。尽管它被称为“朴素”,它在很多应用中表现出了出色的效果。

        朴素贝叶斯分类器利用贝叶斯定理来计算一个样本属于某个类别的概率。贝叶斯定理的基本形式为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​      P(C | X) = \frac{P(X | C) \cdot P(C)}{P(X)}

其中:

  • P(C | X) 是给定特征 X 的情况下,样本属于类别 C后验概率
  • P(X | C) 是类别 C 下特征 X 出现的条件概率
  • P(C) 是类别 C先验概率
  • P(X) 是特征 X边际概率

        在朴素贝叶斯分类器中,我们的目标是通过计算后验概率 P(C | X),来决定给定特征 X 的样本属于哪个类别 C。其中X是特征组成的向量。

(2)“朴素”假设

        朴素贝叶斯之所以“朴素”,是因为它假设特征之间是条件独立的,即在给定类别的情况下,每个特征是相互独立的。换句话说,对于特征向量 X = (x_1, x_2, \dots, x_n),我们假设:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        P(X | C) = P(x_1 | C) \cdot P(x_2 | C) \cdot \dots \cdot P(x_n | C)

这一假设显然是“朴素”的,因为在实际应用中特征之间往往并非独立。然而,这种假设大大简化了计算,并且在许多应用场景中,即使独立性假设不完全成立,朴素贝叶斯分类器依然能够取得不错的效果。

(3)朴素贝叶斯的不同模型

根据特征的类型(如是否为离散型或连续型),朴素贝叶斯分类器可以使用不同的概率模型:

  • 高斯朴素贝叶斯(Gaussian Naive Bayes):用于连续特征,假设特征在每个类别条件下服从正态分布
  • 多项式朴素贝叶斯(Multinomial Naive Bayes):用于离散特征,常用于文本分类和词袋模型,假设特征(如词频)在每个类别下服从多项分布
  • 伯努利朴素贝叶斯(Bernoulli Naive Bayes):也用于离散特征,但假设每个特征都是一个二元变量(0或1),适合在文本分类中用来表示单词的出现与否。

(4)分类过程

        给定一个待分类的样本 X = (x_1, x_2, \dots, x_n),朴素贝叶斯分类器计算样本属于每个类别 C 的后验概率 P(C | X)。根据贝叶斯定理和朴素假设,有:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        P(C | X) \propto P(C) \cdot \prod_{i=1}^n P(x_i | C)

其中:

  • P(C) ,类先验概率,是类别的先验概率,可以根据训练集中该类别样本占总样本的比例来估计。
  • P(x_i | C) ,类条件概率,是给定类别 C 时特征 x_i 的条件概率,可以从训练数据中统计得到。

朴素贝叶斯模型的参数就是 P(C) 和 很多个 P(x_i | C) 。模型训练过程就是计算 P(C) 和 很多个P(x_i | C)的过程。

最后,朴素贝叶斯分类器将样本 X 分配到后验概率最大的类别:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        \hat{C} = \arg\max_C P(C) \cdot \prod_{i=1}^n P(x_i | C)

(5)分类过程中类先验概率的估计 

        朴素贝叶斯模型训练过程就是计算 P(C) 和 P(x_i | C)的过程,如何计算先验概率P(C) 呢?我们要清楚这里的先验概率是从样本中获得的,即求每个类别在所有样本中的概率,所以符合最大似然估计和最大后验估计已知结果求先验的思想,故使用最大后验估计(最大后验估计比最大似然估计更正确)求先验概率P(C) 。 

对于二分类,P(C)为伯努利分布,选用Beta分布作为共轭先验。

对于多分类,P(C)为多项分布,选用Dirichlet分布作为共轭先验。

(6)分类过程中类条件概率的估计 

        如何计算类条件概率 \prod_{i=1}^n P(x_i | C)  呢?我们要清楚这里的类条件概率的实际物理意义,即属于某类的样本中每个特征所占的比例再乘积,显然符合最大似然估计和最大后验估计的思想,故使用最大似然估计(此处对条件概率的计算一般只取决于数据集,当然,如果有先验的话可以用最大后验估计)求条件概率P(x_i | C) 。

i、特征取值离散情况下,可以用频率来估计:


        这实际上是通过最大化似然值得到的,因为我们在假设每个观测值来自同一个分布并根据观测数据的频率来估计参数。似然值表示在给定参数下观测到当前数据的概率。

使用 Laplace 平滑后的公式如下:

其中:k 是特征 X_i​ 的可能取值的总数。

ii、特征取值连续情况下,且在类边缘分布为高斯分布时,估计方式如下:

对于特征 x_{i,j} 在类别 Y_i = c 下的条件概率,假设其服从高斯分布 N(\mu_{c,j}, \sigma_{c,j})

        ​​​​​​​        p(x_{i,j} | Y_i = c, \mu_{c,j}, \sigma_{c,j}) = N(\mu_{c,j}, \sigma_{c,j}) = \frac{1}{\sqrt{2\pi\sigma_{c,j}}} \exp\left(-\frac{(x_{i,j} - \mu_{c,j})^2}{2(\sigma_{c,j})^2}\right)

可从样本中用最大似然估计来估计高斯分布的参数,估计高斯分布的参数如下:

在类别 c 的样本中,第 j  维特征的均值和方差的最大似然估计为:

  1. 均值估计

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​                ​​​​​​​        \hat{\mu}_{c,j} = \frac{\sum_{i=1}^N \mathbb{I}(Y_i = c) x_{i,j}}{\sum_{i=1}^N \mathbb{I}(Y_i = c)}

其中 \mathbb{I}(Y_i = c) 是指示函数,当 Y_i = c 时取值为 1,否则为 0。实际意义是c类样本中,第j维特征值的均值。

  1. 方差估计

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        (\sigma_{c,j})^2 = \frac{\sum_{i=1}^N \mathbb{I}(Y_i = c) (x_{i,j} - \mu_{c,j})^2}{\sum_{i=1}^N \mathbb{I}(Y_i = c)}

实际意义是 c类样本中,第j维特征值的经验方差。

注意:并不是所有连续的特征都服从高斯分布。

(7)朴素贝叶斯与最大似然估计、最大后验估计的联系

i、最大似然估计中,目的是求已知实验结果 C ,求参数 \theta 的最大可能值,即求arg\ \underset{\theta }{max}P(\theta |C)。但这个值不易求,用似然函数P(C|\theta )代替 P(\theta |C) 并求最大值,即求arg\ \underset{\theta }{max}P(C| \theta )

ii、最大后验估计中,目的仍然是求P(\theta |C),但这里不直接使用似然函数代替P(\theta |C),而是使用贝叶斯公式展开P(\theta |C),即使用\frac{P(C|\theta )P(\theta )}{P(C)} 来表示P(\theta |C),再求最大值,即求arg\ \underset{\theta }{max}\frac{P(C|\theta )P(\theta )}{P(C)} 。

iii、朴素贝叶斯分类器中,目的是根据样本信息求结果,前面两者都是有了实验结果,反推模型参数。而朴素贝叶斯求的是P(C | X),目的是求结果 C ,样本信息是给了P(x_{i}|C) ,先验P(C)也可以由样本得到,所以就可以由贝叶斯公式推出的P(X | C) = P(x_1 | C) \cdot P(x_2 | C) \cdot \dots \cdot P(x_n | C)  来 求  P(C | X)  了,某种角度来看朴素贝叶斯与恰好与最大后验估计反了。最大后验估计是已知结果根据贝叶斯展开求前提,而朴素贝叶斯是已知过程(这里的过程是从数据集中估计出来的)来求结果。

(8)朴素贝叶斯分类器的优缺点

优点

  • 简单高效:朴素贝叶斯分类器的实现和计算都非常简单,训练和预测速度都很快,适合大规模数据。
  • 低数据需求:对于每个类别,只需计算每个特征的条件概率,因此在数据较少时也能有效工作。
  • 表现良好:在特征之间相关性较低的应用中,朴素贝叶斯表现往往非常优异,即使特征间存在一定的依赖性,也通常可以取得较好的效果。

缺点

  • 朴素假设:假设特征之间条件独立在很多场景下并不成立,会影响分类准确性。
  • 数据稀疏性:如果某个类别中的特征在训练集中从未出现,其条件概率 P(x_i | C)0,可能导致某些类别的概率被归零。因此需要使用平滑技术(如Laplace平滑)来处理这种情况。
  • 连续特征的处理:在多项式和伯努利朴素贝叶斯模型中,处理连续特征较为复杂,通常需要先进行离散化或使用其他模型(如高斯朴素贝叶斯)。

1、多项式朴素贝叶斯分类举例 (PPT上的例子)

多项式朴素贝叶斯和伯努利朴素贝叶斯几乎是一样的,只是伯努利朴素贝叶斯的特征都是二值的,计算类条件概率时只有两项,比多项式朴素贝叶斯的还要少。

下面这个例子展示了如何使用 多项伯努利朴素贝叶斯分类器来判断一个账户是否为真实账户。

问题背景

  • 目标:预测给定账户是否为真实账户。
  • 标签Y = \text{yes}(真实账户)或 Y = \text{no}(不真实账户)。
  • 特征
    • X_1​:日志密度,取值为 {s, m, l}(小、中、大)。
    • X_2​:好友密度,取值为 {s, m, l}(小、中、大)。
    • X_ 3​:是否使用真实头像,取值为 {yes, no}。

步骤 1:计算先验概率

根据数据表格,统计真实账户和不真实账户的样本数量:

  • 总样本数 N = 10 。
  • 真实账户 Y = \text{yes} 的样本数 N_{\text{yes}} = 7 。
  • 不真实账户 Y = \text{no} 的样本数 N_{\text{no}} = 3 。

计算先验概率:

\hat{\theta}_{\text{yes}} = P(Y = \text{yes}) = \frac{N_{\text{yes}}}{N} = \frac{7}{10} = 0.7

\hat{\theta}_{\text{no}} = P(Y = \text{no}) = \frac{N_{\text{no}}}{N} = \frac{3}{10} = 0.3

步骤 2:计算条件概率(类条件分布)

Y = \text{yes}

  1. 特征 X_1​ 的条件概率(日志密度):

    • X_1 = s 的条件概率: \hat{\phi}_{\text{yes},1,s} = \frac{1 + 1}{7 + 3} = \frac{2}{10} = 0.2
    • X_1 = l 的条件概率: hat{\phi}_{\text{yes},1,l} = \frac{3 + 1}{7 + 3} = \frac{4}{10} = 0.4
    • X_1 = m 的条件概率: \hat{\phi}_{\text{yes},1,m} = \frac{3 + 1}{7 + 3} = \frac{4}{10} = 0.4
  2. 特征 X_2​ 的条件概率(好友密度):

    • X_2 = s 的条件概率: \hat{\phi}_{\text{yes},2,s} = \frac{1 + 1}{7 + 3} = \frac{2}{10} = 0.2
    • X_2 = l 的条件概率: \hat{\phi}_{\text{yes},2,l} = \frac{3 + 1}{7 + 3} = \frac{4}{10} = 0.4
    • X_2 = m 的条件概率: \hat{\phi}_{\text{yes},2,m} = \frac{3 + 1}{7 + 3} = \frac{4}{10} = 0.4
  3. 特征 X_3 的条件概率(是否使用真实头像):

    • X_3 = \text{yes} 的条件概率: \hat{\phi}_{\text{yes},3,\text{yes}} = \frac{5 + 1}{7 + 2} = \frac{6}{9} = 0.6667
    • X_3 = \text{no} 的条件概率: \hat{\phi}_{\text{yes},3,\text{no}} = \frac{2 + 1}{7 + 2} = \frac{3}{9} = 0.3333

Y = \text{no}

  1. 特征 X_1​ 的条件概率(日志密度):

    • X_1 = s 的条件概率: \hat{\phi}_{\text{no},1,s} = \frac{2 + 1}{3 + 3} = \frac{3}{6} = 0.5
    • X_1 = l 的条件概率: \hat{\phi}_{\text{no},1,l} = \frac{1 + 1}{3 + 3} = \frac{2}{6} = 0.3333
    • X_1 = m 的条件概率: \hat{\phi}_{\text{no},1,m} = \frac{0 + 1}{3 + 3} = \frac{1}{6} = 0.1667
  2. 特征 X_2​ 的条件概率(好友密度):

    • X_2 = s 的条件概率: \hat{\phi}_{\text{no},2,s} = \frac{2 + 1}{3 + 3} = \frac{3}{6} = 0.5
    • X_2 = l 的条件概率: \hat{\phi}_{\text{no},2,l} = \frac{1 + 1}{3 + 3} = \frac{2}{6} = 0.3333
    • X_2 = m 的条件概率: \hat{\phi}_{\text{no},2,m} = \frac{0 + 1}{3 + 3} = \frac{1}{6} = 0.1667
  3. 特征 X_3​ 的条件概率(是否使用真实头像):

    • X_3 = \text{yes} 的条件概率: \hat{\phi}_{\text{no},3,\text{yes}} = \frac{1 + 1}{3 + 2} = \frac{2}{5} = 0.4
    • X_3 = \text{no} 的条件概率: \hat{\phi}_{\text{no},3,\text{no}} = \frac{2 + 1}{3 + 2} = \frac{3}{5} = 0.6

步骤 3:预测新用户

假设我们有一个新用户,其特征为:

  • 日志密度 X_1 = m
  • 好友密度 X_2 = m
  • 使用真实头像 X_3 = \text{yes}

计算该用户属于 Y = \text{yes}Y = \text{no} 的概率:

  1. 计算 P(Y = \text{yes}|X_1 = m, X_2 = m, X_3 = \text{yes}) 

    P(Y = \text{yes}|X_1 = m, X_2 = m, X_3 = \text{yes}) \propto \\\hat{\phi}_{\text{yes},1,m} \cdot \hat{\phi}_{\text{yes},2,m} \cdot \hat{\phi}_{\text{yes},3,\text{yes}} \cdot \hat{\theta}_{\text{yes}}= \frac{4}{10} \times \frac{4}{10} \times \frac{6}{9} \times 0.7 = 0.07467
  2. 计算 P(Y = \text{no}|X_1 = m, X_2 = m, X_3 = \text{yes}) 

    P(Y = \text{no}|X_1 = m, X_2 = m, X_3 = \text{yes}) \propto \hat{\phi}_{\text{no},1,m} \cdot \hat{\phi}_{\text{no},2,m} \cdot \hat{\phi}_{\text{no},3,\text{yes}} \cdot \hat{\theta}_{\text{no}}\\= \frac{1}{6} \times \frac{1}{6} \times \frac{2}{5} \times 0.3 = 0.00167 

步骤 4:比较后验概率

P(Y = \text{yes}|X_1 = m, X_2 = m, X_3 = \text{yes}) >

                                                                      P(Y = \text{no}|X_1 = m, X_2 = m, X_3 = \text{yes})

因此,我们可以将该用户的账户分类为真实账户

2、高斯朴素贝叶斯分类器举

问题背景

  • 目标:预测给定特征的用户是否会购买产品。
  • 标签Y = \text{yes}(会购买)或 Y = \text{no}(不会购买)。
  • 特征
    • X_1​:年龄(连续变量)
    • X_2:收入(连续变量)

数据集

假设我们有以下训练数据:

年龄 (X1)收入 (X2)是否购买 (Y)
2550000yes
3054000yes
4590000yes
50100000yes
2348000no
3565000no
52120000no
4060000no

步骤 1:计算先验概率

根据训练数据,我们可以计算是否会购买产品的先验概率

  • 总样本数 N = 8
  • 会购买样本 N_{\text{yes}} = 4
  • 不会购买样本 N_{\text{no}} = 4

因此,先验概率为:

                                         P(Y = \text{yes}) = \frac{N_{\text{yes}}}{N} = \frac{4}{8} = 0.5

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         P(Y = \text{no}) = \frac{N_{\text{no}}}{N} = \frac{4}{8} = 0.5

        此处使用Laplace平滑也可以,计算出来的结果也是那样。

步骤 2:计算类条件概率的参数(均值和方差)

        这里其实就是计算类条件概率服从的分布,即计算每个类条件概率的值。

假设年龄 X_1​ 和收入 X_2​ 在给定类别 Y 的条件下服从高斯分布。我们可以计算每个类别下特征的均值和方差。

Y = \text{yes}

  • 特征 X_1​(年龄)的均值和方差

    • 均值  \mu_{\text{yes}, X_1} = \frac{25 + 30 + 45 + 50}{4} = 37.5
    • 方差  \sigma_{\text{yes}, X_1}^2 = \frac{(25 - 37.5)^2 + (30 - 37.5)^2 + (45 - 37.5)^2 + (50 - 37.5)^2}{4} = 106.25
  • 特征 X_2​(收入)的均值和方差

    • 均值   \mu_{\text{yes}, X_2} = \frac{50000 + 54000 + 90000 + 100000}{4} = 73500
    • 方差  \sigma_{\text{yes}, X_2}^2 = \frac{(50000 - 73500)^2 + (54000 - 73500)^2 + (90000 - 73500)^2 + (100000 - 73500)^2}{4}        
      •                                                                                                = 502750000

Y = \text{no}

  • 特征 X_1(年龄)的均值和方差

    • 均值  \mu_{\text{no}, X_1} = \frac{23 + 35 + 52 + 40}{4} = 37.5
    • 方差  \sigma_{\text{no}, X_1}^2 = \frac{(23 - 37.5)^2 + (35 - 37.5)^2 + (52 - 37.5)^2 + (40 - 37.5)^2}{4} = 130.25
  • 特征 X_2​(收入)的均值和方差

    • 均值 \mu_{\text{no}, X_2} = \frac{48000 + 65000 + 120000 + 60000}{4} = 73250
    • 方差 \sigma_{\text{no}, X_2}^2 = \frac{(48000 - 73250)^2 + (65000 - 73250)^2 + (120000 - 73250)^2 + (60000 - 73250)^2}{4}
      •                                                                                              = 685812500

步骤 3:预测新样本

假设我们有一个新用户,其特征为:

  • 年龄 X_1 = 31
  • 收入 X_2 = 58000

我们想计算该用户属于 Y = \text{yes}Y = \text{no} 的后验概率。

计算 P(X = (31, 58000) | Y = \text{yes})

根据高斯分布的类条件概率公式:

        ​​​​​​​        ​​​​​​​        ​​​​​​​ P(X_1 = 31 | Y = \text{yes}) = \frac{1}{\sqrt{2 \pi \cdot 106.25}} \exp\left(-\frac{(31 - 37.5)^2}{2 \cdot 106.25}\right)

计算得到:

        ​​​​​​​        ​​​​​​​        ​​​​​​​​​​​​​​        ​​​​​​​ P(X_1 = 31 | Y = \text{yes}) \approx 0.030        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​

同样地,对于 X_2 = 58000

        ​​​​​​​        ​​​​​​​        ​​​​​​​ P(X_2 = 58000 | Y = \text{yes}) = \frac{1}{\sqrt{2 \pi \cdot 502750000}} \exp\left(-\frac{(58000 - 73500)^2}{2 \cdot 502750000}\right)        ​​​​​​​        

计算得到:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​ P(X_2 = 58000 | Y = \text{yes}) \approx 0.0011        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​

因此:

        ​​​​​​​         P(X = (31, 58000) | Y = \text{yes}) \approx 0.030 \times 0.0011 = 0.000033        ​​​​​​​        ​​​​​​​        

计算 P(X = (31, 58000) | Y = \text{no})

同样地,计算 P(X_1 = 31 | Y = \text{no})P(X_2 = 58000 | Y = \text{no})

        ​​​​​​​        P(X_1 = 31 | Y = \text{no}) = \frac{1}{\sqrt{2 \pi \cdot 130.25}} \exp\left(-\frac{(31 - 37.5)^2}{2 \cdot 130.25}\right) \approx 0.034        ​​​​​​​        ​​​​​​​        ​​​​​​​        P(X_2 = 58000 | Y = \text{no}) = \frac{1}{\sqrt{2 \pi \cdot 685812500}} \exp\left(-\frac{(58000 - 73250)^2}{2 \cdot 685812500}\right)

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        \approx 0.0013

因此:

P(X = (31, 58000) | Y = \text{no}) \approx 0.034 \times 0.0013 = 0.000044

计算后验概率并进行分类

使用贝叶斯公式来计算后验概率:

P(Y = \text{yes} | X = (31, 58000)) \propto P(X = (31, 58000) | Y = \text{yes}) \cdot P(Y = \text{yes}) = 0.000033 \times 0.5 = 0.0000165

P(Y = \text{no} | X = (31, 58000)) \propto P(X = (31, 58000) | Y = \text{no}) \cdot P(Y = \text{no}) = 0.000044 \times 0.5 = 0.000022

因为 P(Y = \text{no} | X = (31, 58000)) > P(Y = \text{yes} | X = (31, 58000)),所以我们预测该用户不会购买产品

六、高斯判别分析

1、高斯判别分析的基本假设

高斯判别分析假设每一类数据服从多元高斯分布,即:

p(x | Y = c) = \mathcal{N}(\mu_c, \Sigma_c)

其中,\mu_c ​是第 c 类的均值向量,\Sigma_c 是第 c 类的协方差矩阵。

2、类别的先验分布

和前面一样,对于类别变量Y,它的先验分布可以为伯努利分布(适用于二分类)或多项式分布(适用于多分类)。在分类过程中,我们使用贝叶斯公式来计算后验概率 P(Y = c | x) :

P(Y = c | x) = \frac{p(x | Y = c) P(Y = c)}{\sum_{c'} p(x | Y = c') P(Y = c')}

其中,P(Y = c) 是类别的先验概率,p(x | Y = c) 是条件概率密度函数。

3、判别函数

和前面一样,判别函数还是类条件概率与类先验的乘积。

使用判别函数来进行类别判别。对于类别c的判别函数定义为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​ f_c(x) = \ln(P(x | Y = c)) + \ln(P(Y = c))

展开得到:

                ​​​​​​​ f_c(x) = -\frac{D}{2} \ln(2\pi) - \frac{1}{2} \ln |\Sigma_c| - \frac{1}{2} (x - \mu_c)^T \Sigma_c^{-1} (x - \mu_c) + \ln(P(Y = c))

其中,与参数无关的项可以省略,简化为:

        ​​​​​​​        ​​​​​​​ f_c(x) = -\frac{1}{2} \ln |\Sigma_c| - \frac{1}{2} (x - \mu_c)^T \Sigma_c^{-1} (x - \mu_c) + \ln(P(Y = c))

4、二次判别分析(QDA)

在二分类的情况下,可以对判别函数的简化,可用让两个判别函数 f_1(x) 和f_2(x)求差来进行分类判断:

         f_1(x) - f_2(x) = \\-\frac{1}{2} \ln \frac{|\Sigma_1|}{|\Sigma_2|} - \frac{1}{2} (x - \mu_1)^T \Sigma_1^{-1} (x - \mu_1) + \frac{1}{2} (x - \mu_2)^T \Sigma_2^{-1} (x - \mu_2) + \ln \frac{P(Y = 1)}{P(Y = 2)}

进一步简化,可以得出一个二次函数形式的判别条件,因此称为二次判别分析(QDA)

5、线性判别分析(LDA)

当两类的协方差矩阵相同时,即 \Sigma_1 = \Sigma_2 = \Sigma ,判别函数差值可进一步简化为线性形式:

        ​​​​​​​        ​​​​​​​        ​​​​​​​         f_1(x) - f_2(x) = (\mu_1 - \mu_2)^T \Sigma^{-1} x + b

其中,b为与x无关的常数项。此时,分类器被称为线性判别分析(LDA)

6、特殊情况:协方差矩阵为对角阵

在进一步简化的情况下,如果协方差矩阵是各向同性的,即  \Sigma_1 = \Sigma_2 = \sigma^2 I,判别函数可以更加简化。这样,决策边界是两个类别中心的垂直平分线。

7、高斯判别模型的训练

模型训练的过程就是估计类先验概率和类条件概率的过程,每个类的每个特征都符合高斯分布,所以需要对每个类别的每个特征的分布进行估计,就要计算相应的均值和方差。

在训练过程中,我们根据每一类的样本数据估计均值向量 \mu_c 和协方差矩阵 \Sigma_c​,其公式为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        \mu_c = \frac{\sum_{i=1}^N \sum_{c=1}^C \mathbf{1}(Y_i = c) x_i}{\sum_{i=1}^N \sum_{c=1}^C \mathbf{1}(Y_i = c)}

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​      \Sigma_c = \frac{\sum_{i=1}^N \sum_{c=1}^C \mathbf{1}(Y_i = c) (x_i - \mu_c)(x_i - \mu_c)^T}{\sum_{i=1}^N \sum_{c=1}^C \mathbf{1}(Y_i = c)}

8、收缩估计(Shrinking Estimation)——正则化

当样本数较小或特征维度较高时,协方差矩阵的估计可能不稳定,会发生过拟合,也就是说,协方差会非常相信数据集,但数据集又非常小,因此需要加入正则化项,也就是需要加入一些先验,这里的先验就是高斯结构化矩阵。此时可以采用收缩估计,通过引入收缩因子 \delta 来调整协方差矩阵,提升其预测准确性:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         \Sigma_c = (1 - \delta) S_c + \delta F

其中,F是高斯结构化矩阵,例如单位矩阵I

总结

高斯判别分析是一种强大的分类工具,通过假设数据分布符合高斯分布,计算后验概率实现分类。LDA和QDA是GDA的两种常见形式,分别适用于线性和非线性决策边界的情况。在高维小样本条件下,收缩估计可以提高协方差矩阵的估计稳定性。

七、⭐全文总结⭐

本文详细介绍了贝叶斯最优分类器、概率密度函数的参数估计、朴素贝叶斯分类器、高斯判别分析的内容。

1、对于贝叶斯分类器

        首先介绍了最小错误率决策,要让决策 P(c|x)的错误率最小,就要选择让 P(c|x)最大的类别,即 arg\ \underset{c}{max}P(c|x) 。使用了贝叶斯公式将 P(c|x)转化为了与类条件概率 P(x|c)和类先验概率 P(c)正比的一项,即 P(c|x)=\frac{P(x|c)\cdot P(c)}{P(x)},这里用不到 P(x),只需要让判别函数  P(x|c)\cdot P(c) 最大的类别。根据数据集计算样本属于各个类别的判别函数并选择判别函数最大的类别即是最终的决策类别。
        随后在最小错误率决策的基础上,为各个决策结果赋一个代价,不同的错误代价不同,在最小错误率决策中算出的各类的概率  P(c|x) 再乘以代价(或者选择各个类别判别函数值乘以代价),最终比较决策为各个类别的总代价,比较并选择代价最小的类别即为最小风险决策的类别。
        更进一步,当决策过程中,某个样本选择不同的两个类别的代价相近时,可以拒识(拒识代价是小于错判代价的)。

2、对于概率密度函数的参数估计

这部分内容主要就是最大似然估计、最大后验估计和贝叶斯估计了。其中最大似然估计是不考虑先验的估计,当样本量大或者先验均匀时选用,最大后验估计和贝叶斯估计是使用先验的,后验主要是根据样本对先验的更新。更重要的是,最大似然估计和最大后验估计是点估计,贝叶斯估计是对概率分布的估计,而且最大后验估计的值是贝叶斯估计后验分布的最大值。
本文中,对此部分的介绍主要是举例子,分别为对伯努利分布、多项分布、高斯分布、多元高斯分布进行三种参数估计。

3、对于朴素贝叶斯分类器

        朴素贝叶斯分类器的核心是贝叶斯公式,目的是求  arg\ \underset{c}{max}P(c|x) ,局限是假设了特征之间相互独立。训练过程是根据数据集利用最大似然估计(需要考虑先验的情况下可以是最大后验估计)来估计类先验概率 P(C)(是个向量),和类条件概率 P(X|C)(是个矩阵),连续高斯型特征的类条件概率的估计主要是寻找每个类下特征所属的高斯分布的参数,而这些参数仍然是从数据集中估计的。
最后再根据训练中估计的结果对新的样本属于各个类的概率进行计算,计算过程为
        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         P(c|X)=P(c)\cdot \prod P(x_{i}|c)
最后再比较大小选定样本所属类别。
        本文中,对此部分内容先进行理论介绍,后举了两个例子,分别是多项式朴素贝叶斯估计和高斯朴素贝叶斯估计,文中对这两个例子进行了详细的分析和推导。

4、对于高斯判别分析

它属于二分类连续型多特征朴素贝叶斯分类,主要思想还是朴素贝叶斯分类器,文中给出了特殊情况下高斯判别分析的变化。最后又介绍了对高斯判别分析进行正则化的方式。

5、两个辨析

(1)本文《五》朴素贝叶斯分类器和《三》贝叶斯最优分类器的区别:

他们几乎是一样的,只不过对于贝叶斯最优分类器,类先验概率和类条件概率是已知信息,而朴素贝叶斯分类器的类先验概率和类条件概率需要从数据集中估计。

(2)高斯判别分析和朴素贝叶斯分类器的联系:

高斯判别分析属于两分类的朴素贝叶斯分类,且特征都是连续的,都符合高斯分布。即高斯判别分析属于朴素贝叶斯分类的一种。


http://www.kler.cn/a/397387.html

相关文章:

  • WebChromeClient 方法分类及其功能
  • GPIO相关的寄存器(重要)
  • 数据研发基础 | 什么是流批一体
  • [Linux]多线程详解
  • 五、函数封装及调用、参数及返回值、作用域、匿名函数、立即执行函数
  • QT QLineEdit失去焦点事件问题与解决
  • Typora右键打开文件夹/设置右键打开方式/Windows右键管理器
  • 源码解析-Spring Eureka(更新ing)
  • HTML面试题(2)
  • 前端性能优化之R树的使用
  • IDEA自定义文件打开格式
  • 【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-套娃
  • 读书笔记:《Redis设计与实现》之发布订阅
  • Restful API接⼝简介及为什么要进⾏接⼝压测
  • 【python】掌握 Flask:轻量级 Web 开发框架解析
  • 理论力学基础:讲义与笔记(1)
  • llamaindex实战-Agent-在Agent中和数据库对话(本地部署)
  • 新人如何做好项目管理?|京东零售技术人成长
  • web H5网页中嵌入优量汇的插屏广告
  • 爬虫——Requests库的使用
  • YOLOv8改进,YOLOv8通过RFAConv卷积创新空间注意力和标准卷积,包括RFCAConv, RFCBAMConv,二次创新C2f结构,助力涨点
  • day-83 最少翻转次数使二进制矩阵回文 II
  • 循环神经网络(RNN)全面解析
  • java学习记录05
  • 3271.哈希分割字符串
  • 第9章综合案例————众成远程教育