首页 > 其他分享 >[NLP复习笔记] 朴素贝叶斯分类器

[NLP复习笔记] 朴素贝叶斯分类器

时间:2024-01-05 21:23:41浏览次数:27  
标签:NLP frac text TP 贝叶斯 分类器 mathbf

1. 贝叶斯决策论

假设有 \(N\) 中类别标记 \(\gamma = \{c_1, c_2, \dots, c_N\}\),\(\lambda_{ij}\) 是将一个真实标记为 \(c_{j}\) 分类为 \(c_i\) 所产生的损失。基于后验概率 \(P(c | \mathbf{x})\) 可以得到样本 \(\mathbf{x}\) 分类为 \(c_i\) 的期望损失(\(\text{expected loss}\)),也即样本 \(\mathbf{x}\) 上的条件风险(\(\text{conditional risk}\)):

\[R(c_i | \mathbf{x}) = \sum_{j=1}^N \lambda_{ij}P(c_j | \mathbf{x}) \]

我们的目标是使得总体风险最小化,只需要在每个样本上选择使得条件风险最小的类别标记,即:

\[h^*(\mathbf{x}) = \text{arg} \min_{c \in \gamma} R(c | \mathbf{x}) \]

\(h^*\) 被称为 贝叶斯最优分类器(\(\text{Bayes optimal classifier}\))。与之对应的总体风险 \(R(h^*)\) 称为 贝叶斯风险(\(\text{Bayes risk}\))。

由此,误判损失 \(\lambda_{ij}\) 可写为:

\[\lambda_{ij} = \begin{cases} 0, & \text{if} \; i=j \\ 1, & \text{else} \end{cases} \]

此时的条件风险有:

\[R(c | \mathbf{x}) = 1 - P(c | \mathbf{x}) \]

故最小化损失的贝叶斯最优分类器可以转换为如下形式:

\[h^*(\mathbf{x}) = \text{arg} \max_{c \in \gamma} P(c | \mathbf{x}) \]

也就是对于每个样本 \(\mathbf{x}\),选择一个使得后验概率 \(P(c | \mathbf{x})\) 最大的类别标记。

对于后验概率 \(P(c | \mathbf{x}) = \frac{P(\mathbf{x}, c)}{P(\mathbf{x})}\),由 贝叶斯定理 得:

\[P(c | \mathbf{x}) = \frac{P(c)P(\mathbf{x} | c)}{P(\mathbf{x})} \]

其中,\(P(c)\) 为类先验概率,\(P(\mathbf{x}|c)\) 为样本 \(\mathbf{x}\) 相对于类标记 \(c\) 的类条件概率(\(\text{class-conditional probability}\)),或称为 似然(\(\text{likelihood}\));\(P(\mathbf{x})\) 为用于归一化的证据因子。

所以最优贝叶斯分类器可以改写为:

\[h^*(\mathbf{x}) = \text{arg}\max_{c \in \gamma}\frac{P(c)P(\mathbf{x}|c)}{P(\mathbf{x})} \]

显然,对于给定的样本 \(\mathbf{x}\) ,\(P(\mathbf{x})\) 与类别标记是无关的,所以问题就转换为:

\[h^*(\mathbf{x}) = \text{arg}\max_{c \in \gamma}P(c)P(\mathbf{x} | c) \]




2. 朴素贝叶斯分类器

2.1 独立性假设

朴素贝叶斯分类器(\(\text{naive Bayes classifier}\))采用了“属性条件独立性假设”(\(\text{attribute conditional independence assumption}\)),对已知类别,假设所有属性相互独立。

在 NLP 文本分类问题中,基于属性独立性假设,可以得到朴素贝叶斯分类器表达式:

\[h_{\text{nb}} = \text{arg}\max_{c_j \in \gamma}P(c_j)\prod_{i=1}^n P(w_i | c_j) \]

显然,朴素贝叶斯分类器的训练过程就是基于训练集 \(D\) 来估计类先验概率 \(P(c_j)\),并且为每个单词估计条件概率 \(P(w_i | c_j)\)。

对于先验概率有:

\[P(c_j) = \frac{|D_{c_{j}}|}{|D|} \]

即标记为 \(c_j\) 类别的样本组成的集合占整个样本集合的比重。

对于条件概率有:

\[P(w_i | c_j) = \frac{C(w_i, c_j)}{\sum_{w\in V} C(w, c_j)} \]

简单地说,就是在 \(c_j\) 类文本中,单词 \(w_i\) 出现地次数占所有单词的比例。


2.2 朴素贝叶斯 + 加一平滑

朴素贝叶斯分类器采用了连乘的方式计算概率,为了防止计算出的概率为0,在估计概率值时通常需要进行平滑处理,一般情况下采用 加一平滑(拉普拉斯平滑)。

通常情况下,最好对 先验概率 \(P(c_j)\) 和 条件概率 \(P(w_i | c_j)\) 都进行 加一平滑

对于先验概率,有可能训练集中不存在某个类别的数据(当然这种可能性比较小),此时会导致先验概率为0,那么分类的时候可能会导致出现错误。

对于条件概率,有可能训练集中一个类别中某个单词从俩没有出现过,此时也会导致概率为0,从而导致结果错误。

所以,对先验概率经过 加一平滑 后有:

\[P(c_j) = \frac{|D_{c_{j}} + 1|}{|D| + N} \]

其中 \(N\) 为类别个数。

对后验概率经过 加一平滑 后有:

\[P(w_i | c_j) = \frac{C(w_i, c_j) + 1}{\sum_{w\in V} C(w, c_j) + |V|} \]

其中 \(|V|\) 为词汇量大小。

PS:之前在做作业的过程中,只是对条件概率进行了加一平滑,包括课件中的示例也是如此,我猜测这是基于训练集中各个类别的都保证有数据的情况下才这么做。但即便如此,对先验概率也进行加一平滑也是好的,毕竟有可能存在训练集中各类别数据数量不平衡之类的、训练出现过拟合等情况,此时加一平滑从一定程度上可以避免这些情况的发生。这些只是我自己的见解,有问题尽管指出。


2.3 未知词

朴素贝叶斯分类器在大部分情况下,不会给未知单词分配概率,也就是说,直接将未知单词当作不存在。


2.4 典型示例

示例来源于课件,只对条件概率进行了加一平滑。




3. 二分类评估

3.1 混淆矩阵

混淆矩阵 (\(\text{confusion matrix}\))也称误差矩阵,是表示精度评价的一种标准格式,用 \(n \times n\) 的矩阵形式来表示。具体评价指标有总体精度、制图精度、用户精度等,这些精度指标从不同的侧面反映了图像分类的精度。

在机器学习中,混淆矩阵特别用于监督学习,在无监督学习一般叫做匹配矩阵。

对于一个二分类系统,将实例分为 正类(\(\text{Positive}\))、负类(\(\text{Negative}\))

模式分类器有四种分类结果:

  • \(\text{TP}\) (\(\text{True Positive}\)):将正类预测为正类

  • \(\text{FN}\) (\(\text{False Negative}\)):将 正类判定为负类

  • \(\text{FP}\) (\(\text{False Positive}\)):将 负类判定为正类

  • \(\text{TN}\) (\(\text{True Negative}\)):将负类判定为负类


3.2 准确率

所有的预测正确(正类负类)的占总的比重。

\[\text{Accuracy} = \frac{\text{TP + TN}}{\text{TP + TN + FP + FN}} \]

虽然准确率能够判断总的正确率,但是在样本不均衡的情况下,并不能作为很好的指标来衡量结果。


3.3 精确率

也称为 查准率,即 正类预测为正 的占 全部预测为正(正类预测为正 + 负类预测为正)的比例。

\[\text{Precision} = \frac{\text{TP}}{\text{TP + FP}} \]

精确率代表对正样本结果中的预测准确程度。


3.4 召回率

正确预测为正 的占 全部实际为正(正类预测为正 + 正类预测为负)的比例。

\[\text{Recall} = \frac{\text{TP}}{\text{TP + FN}} \]


3.5 \(F_1\) 值

精确率和召回率互相影响,理想状态下肯定追求两个都高,但是实际情况是两者相互“制约”:追求精确率高,则召回率就低;追求召回率高,则通常会影响精确率。

因此有了 \(F_1\) 值:

\[\begin{split} & \frac{2}{F_1} = \frac{1}{\text{Precision}} + \frac{1}{\text{Recall}} \\\\ & F_1 = \frac{2 \text{TP}}{2 \text{TP + FP + FN}} \end{split} \]




4. 多分类评估

在多分类问题中,评估一个模型的性能需要检查模型在所有类别上的表现。

4.1 宏平均、微平均

为了方便表示,将 \(\text{Precision、Recall、F1值}\) 简写为 \(P, R, F\)。

  • 宏平均(\(\text{Macro-average}\))是对每个类别评估指标计算平均值,给每个类别同等的重要性。

    \[P_{\text{macro}} = \frac{1}{n}\sum_{i=1}^nP_i \]

    \[R_{\text{macro}} = \frac{1}{n}\sum_{i=1}^nR_i \]

    \[F_{\text{macro}} = \frac{2 \times P_{\text{macro}} \times R_{\text{macro}}}{P_{\text{macro}} + R_{\text{macro}}} \]

  • 微平均(\(\text{ Micro-average}\))是将所有类别的贡献累加后计算指标,对数据集中的每一个实例不分类进行统计建立全局混淆矩阵,会放大高频类别的影响。

    \[P_{\text{micro}} = \frac{\sum_{i=1}^n \text{TP}_i}{\sum_{i=1}^n \text{TP}_i + \sum_{i=1}^n \text{FP}_i} \]

    \[R_{\text{micro}} = \frac{\sum_{i=1}^n \text{TP}_i}{\sum_{i=1}^n \text{TP}_i + \sum_{i=1}^n \text{FN}_i} \]

    \[F_{\text{micro}} = \frac{2 \times P_{\text{micro}} \times R_{\text{micro}}}{P_{\text{micro}} + R_{\text{micro}}} \]




参考

《机器学习》 周志华

为什么朴素贝叶斯在做拉普帕斯平滑的时候,对先验概率也做了拉普拉斯平滑?

评价指标中的宏平均和微平均

标签:NLP,frac,text,TP,贝叶斯,分类器,mathbf
From: https://www.cnblogs.com/MAKISE004/p/17948124

相关文章

  • [NLP复习笔记] N-gram 及基本平滑方法
    1.N-gram模型1.1N-gram模型介绍\(\text{N-gram}\)是一种基于统计语言模型的算法,用于预测文本中的单词,其中\(\text{N}\)一般指的是序列中的单词数量。其基本思想是将文本内容进行大小为\(\text{N}\)的滑动窗口操作来计算概率。例如:当\(\text{N}=1\)时,模型被称为"u......
  • 常见推断方法一览:极大似然估计、最大后验估计、期望最大化、贝叶斯推断、马尔科夫链蒙
    常见推断方法一览推断方法区别频率派极大似然估计MLE最大后验估计MAP期望最大化EM贝叶斯推断Bayesian马尔科夫链蒙特卡洛方法MCMC变分推断VI 推断方法区别极大似然估计(MaximumLikelihoodEstimation,MLE):解释:假设你有一堆骰子,你投掷它们很多次,然后记录下每次的结果......
  • 贝叶斯球快速检验条件独立
    贝叶斯球定义几个术语,描述贝叶斯球在一个结点上的动作:通过(passthrough):从当前结点的父结点方向过来的球,可以访问当前结点的任意子结点(父->子)。从当前节点的子结点方向过来的球,可以访问当前结点的任意父结点。(子->父)反弹(bounceback):从当前结点的父结点方向过来的球,可以访问当前结......
  • 上升到人生法则的贝叶斯理论
    贝叶斯定理在数据分析、机器学习和人工智能等领域有广泛的应用。贝叶斯定理(Bayes'theorem)是一种用于计算条件概率的重要定理,它基于条件概率的定义,描述了在已知某一条件下,另一个条件发生的概率。需要注意的是,贝叶斯定理的有效性依赖于对概率的准确估计和假设的合理性。在实际应用中......
  • OpenCV的人形识别级联分类器使用方法
    OpenCV的人形识别级联分类器使用方法如下:首先,确保已经安装了OpenCV库。如果没有安装,可以使用以下命令进行安装:pipinstallopencv-python下载一个预训练的人形识别级联分类器文件,例如haarcascade_fullbody.xml。这个文件可以在OpenCV的GitHub仓库中找到:https://github.com/......
  • NLP复习之向量语义
    向量语义词汇语义语义概念(senseorconcept)是单词含义(wordsense)的组成部分,词原型可以是多义的。同义词是指:在某些或者全部的上下文中,单词之间有相同或近似含义可能没有完全相同含义的同义词例子!即使在很多情况下(上下文语境),单词间的含义是相同的。但仍然有可能......
  • 人工智能算法原理与代码实战:贝叶斯模型的精髓
    1.背景介绍人工智能(ArtificialIntelligence,AI)是一门研究如何让计算机模拟人类智能的学科。人类智能可以分为两类:一类是通过经验和经训练而获得的,另一类是通过基于理论的推理而获得的。因此,人工智能也可以分为两类:经验学习(MachineLearning)和基于规则的系统(Rule-BasedSystems)。......
  • 人工智能大模型原理与应用实战:从NLP to BERT
    1.背景介绍人工智能(AI)是一种通过计算机程序模拟人类智能的技术。自从20世纪70年代的人工智能研究开始以来,人工智能技术一直在不断发展和进步。随着计算机硬件的不断提高,人工智能技术也在不断发展,使得人工智能技术在各个领域的应用越来越广泛。自然语言处理(NLP)是人工智能领域中的一......
  • Helsinki-NLP-抱脸翻译模型
     #等待下载#--de-zh---https://huggingface.co/Helsinki-NLP/opus-mt-de-ZH/tree/mainhttps://huggingface.co/Helsinki-NLP/opus-tatoeba-es-zh https://huggingface.co/Helsinki-NLP/opus-mt-ja-enhttps://huggingface.co/Helsinki-NLP/opus-mt-fr-enhttps://huggingface.......
  • 电信行业客户流失预测:KNN、朴素贝叶斯、逻辑回归、LDA/QDA、随机森林、支持向量机、CA
    全文链接:https://tecdat.cn/?p=34635原文出处:拓端数据部落公众号分析师:LingziLu客户流失是一个存在于各个行业的严重问题,这一问题也同样受到众多电信服务提供商的关注——因为获得一个新客户的成本远远超过保留一个老客户的成本。因此,探索可能对客户流失产生重要影响的相关指......