首页 > 其他分享 >朴素贝叶斯模型

朴素贝叶斯模型

时间:2024-03-13 12:12:32浏览次数:20  
标签:frac limits bm sum 贝叶斯 jl theta 模型 朴素

朴素贝叶斯法

朴素贝叶斯是一种用先验概率估计后验概率的模型,通过估计先验概率得到样本和类别的近似联合概率,随后通过联合概率分布获得需要的后验概率分布进而实现分类。本次介绍的朴素贝叶斯法主要包括三块:总体思想(将后验概率转换为先验概率)、极大似然估计(使用极大似然法估计先验概率)、贝叶斯估计(使用贝叶斯估计得到先验概率)。

符号说明

设输入空间\(\mathcal{X}\subseteq \mathbf{R}^n\)为\(n\)维向量的集合,输出空间的集合\(\mathcal{Y}=\{c_1,c_2,\cdots,c_K\}\),则在样本(示例,特征向量)\((\bm{x},y)\)中\(\bm{x}\in \mathcal{X}\),\(y\in \mathcal{Y}\)。继续定义\(X,Y\)分别是在输入空间\(\mathcal{X}\)和输出空间\(\mathcal{Y}\)上的随机变量,\(P(X,Y)\)表示\(X\)和\(Y\)的联合概率分布,且训练数据集

\[T=\{(\bm{x_1},y_1), (\bm{x_2},y_2),\cdots, (\bm{x_N},y_N)\} \]

由\(P(X,Y)\)独立同分布产生。

贝叶斯总体模型

对于一个分类任务,我们可以使用判别方法直接计算样本\(x\)为所有类别的概率,并通过最大的类别概率来获得其类别即:
\begin{equation}
y^{hat} = \mathop\arg\max\limits_{c_k}P(Y=c_k|X=\bm{x}), k=1,2,\cdots,K
\end{equation}
我们也可以通过生成方法估计样本的总体分布并间接获得样本为每个类别的概率即:

\[\begin{align} P(Y=c_k|X=\bm{x})&=\frac{P(X=\bm{x},Y=c_k)}{P(X=\bm{x})}\notag \\ &=\frac{P(Y=c_k)P(X=\bm{x}|Y=c_k)}{P(X=\bm{x})}\notag \\ &=\frac{P(Y=c_k)P(X=\bm{x}|Y=c_k)}{\sum\limits_{i=1}^k P(Y=c_k)P(X=\bm{x}|Y=c_k)}\\ \end{align} \]

这样就基本构成了贝叶斯模型,但仅仅这样是不够的,因为\(P(X=\bm{x}|Y=c_k)\)是很难求得的,\(\bm{x}\)是\(n\)维的向量,其组合太大,若假设在\(\bm{x}\)中,其每维维可取值\(S_j\),\(j\)代表每一维,\(j=1,2,\cdots,n\),那么对于一个样本\(\bm{x}\)其预测为\(c_k\)一个类别所含有的参数就为\(\prod\limits_{j=1}^{n}S_j\),若要得到这个样本的全部类别,那么需要的参数量就是\(k\prod\limits_{j=1}^{n}S_j\),显然这样做太复杂了,我们需要统计的组合太多,怎么办?

一种简化计算的方式是,假定每个维度的特征之前是互不相关的,虽然这样会损失掉很多原有相关的信息,但是可以大大的减少参数量,如下所示:

\[\begin{align} P(X=\bm{x}|Y=c_k)&=P(X^{(1)}=x^{(1)},X^{(2)}=x^{(2)},\cdots,X^{(n)}=x^{(n)}|Y=c_k)\notag \\ &=P(X^{(1)}=x^{(1)}|Y=c_k)P(X^{(2)}=x^{(2)}|Y=c_k)\cdots P(X^{(n)}=x^{(n)}|Y=c_k)\notag \\ &=\prod\limits_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k) \end{align} \]

这样参数量可以由\(k\prod\limits_{j=1}^nS_j\)降低为\(k\sum\limits_{j=1}^nS_j\),毫无疑问,这无疑是一个巨大的突破,尽管失去了特征之间的相关性信息。
将\((3)\)带入\((2)\)中可得:

\[\begin{align} P(Y=c_k|X=\bm{x})&=\frac{P(Y=c_k)P(X=\bm{x}|Y=c_k)}{\sum\limits_{i=1}^k P(Y=c_k)P(X=\bm{x}|Y=c_k)}\notag \\ &=\frac{P(Y=c_k)\prod\limits_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)}{\sum\limits_{i=1}^k\{P(Y=c_k)\prod\limits_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)\}} \end{align} \]

对于同一个样本\(\bm{x}\),其共需要预测\(K\)个类别\(c_1,c_2,\cdots,c_K\),但从上式可知,无论预测哪个类别,在分母中,会计算所有类别的相关信息,而这对于所有类别都是相同的,所以分母部分可以省略。故最终的模型为:

\[\begin{align} P(Y=c_k|X=\bm{x})&={P(Y=c_k)\prod\limits_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)} \end{align} \]

另外几个需要区分的点是:
先验概率:即通过样本可以统计出来的概率。
后验概率:需要通过转换求取的概率,不能直接统计得到。

极大似然估计

通过贝叶斯模型,我们将一个后验概率通过条件概率公式转换成了求解\(P(X, Y)\)的分布并通过简化版的先验概率(特征独立)来估计分布\(P(X,Y)\)。但是这里面有一个问题没有解决,那就是先验概率\(P(X^{(j)}=x^{(j)}|Y=c_k)\)和\(P(Y=c_k)\)如何求解?
当然一种非常直观的计算方式就是直接统计满足上面条件的样本占总体样本的比例,所以很自然的我们可以得到下面的两个计算式子:

\[\begin{equation} P(Y=c_k) = \frac{\sum\limits_{i=1}^{N}I(y_i=c_k)}{N} \end{equation} \]

\[\begin{equation} P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum\limits_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum\limits_{i=1}^N I(y_i=c_k)} \end{equation} \]

其中\(a_{jl}\)表示第\(j\)个特征的第\(i\)个可能取的值,\(x_i^{(j)}\)表示第\(i\)个样本的第\(j\)个特征的值。
但是为什么可能这样表示呢?我们通过极大似然估计来证明上述两个等式成立。
求\(P(Y=c_k)\)的概率,按照极大似然函数的思想就是求解当\(P(Y=c_k)\)为多少时,可以使得能够最有可能产生这么一群样本。
因此,我们可以假设\(\theta=P(Y=c_k)\)为参数,那么\(1-\theta=P(Y\neq c_k)\)。并且我们已经假设过所有样本是独立同分布产生的,故可以构造如下的似然函数:

\[L(\{\bm{x_1},y_1\},\{\bm{x_2},y_2\},\{\bm{x_N},y_N\};\theta)=\theta^{\sum\limits_{i=1}^N I(y_i=c_k)}(1-\theta)^{N-\sum\limits_{i=1}^NI(y_i=c_k)} \]

两边取自然对数得:

\[\ln L=\sum\limits_{i=1}^N I(y_i=c_k)\ln\theta + (N-\sum\limits_{i=1}^NI(y_i=c_k)) \ln(1-\theta) \]

两边求导

\[\frac{L^{'}}{L}=\frac{\sum\limits_{i=1}^N I(y_i=c_k)}{\theta} + \frac{\sum\limits_{i=1}^NI(y_i=c_k)-N}{1-\theta} \]

令其为0\(\Rightarrow\)\(\theta=\frac{\sum\limits_{i=1}^{N}I(y_i=c_k)}{N}\)

对于\(P(X^{(j)}=a_{jl}|Y=c_k)\),我们先对其进行转换:

\[P(X^{(j)}=a_{jl}|Y=c_k)=\frac{P(X^{(j)}=a_{jl},Y=c_k)}{P(Y=c_k)} \]

由于分母已经求出,因此只需再求出分子即可,我们使用相同的思想,将样本分为两部分,第一部分样本满足$$P(X^{(j)}=a_{jl},Y=c_k)$$,第二部分取其补集。同样的,我们让概率参数\(\theta=P(X^{(j)}=a_{jl},Y=c_k)\),那么\(1-\theta\)=不同时满足上述条件的概率。
根据样本都是独立同分布产生的,我们构造相似的似然函数

\[L(\theta)=\theta^{\sum\limits_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k)}(1-\theta)^{N-\sum\limits_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k)} \]

显然可以求出极大值\(\theta=\frac{\sum\limits_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k)}{N}\),所以易得

\[P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum\limits_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum\limits_{i=1}^N I(y_i=c_k)} \]

贝叶斯估计

极大似然估计虽然可以计算出先验概率,但是可能会出现估计参数的概率值为0的情况,即满足\(x_i^{(j)}=a_{jl}\)且\(y_i=c_k\)的样本数量为0。(这通常是不合理的,因为我们得到的样本本就是一个采样,无法保证完全近似全体样本的分布,哪怕概率很小通常也不会设为0),那么如何避免这种情况?
一种处理方式就是添加系数,如下式:

\[\begin{equation} P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum\limits_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k)+\lambda}{\sum\limits_{i=1}^N I(y_i=c_k)+S_j\lambda} \end{equation} \]

当\(\lambda=0\)时为极大似然估计,当\(\lambda=1\)时成为拉普拉斯平滑,满足下式:

\[\begin{equation} \begin{cases} P_\lambda(X^{(j)}=a_{jl}|Y=c_k)>0\\ \sum\limits_{i=1}^{S_j}P(X^{(j)}=a_{jl}|Y=c_k)=1 \end{cases} \end{equation} \]

对于第二个式子,相当于把\(j\)维的每一个值分成了一份,公有\(S_j\)份,所有概率最后相加为1。
同样的对\(P(Y=c_k)\)也可以进行改写。

\[\begin{equation} P(Y=c_k) = \frac{\sum\limits_{i=1}^{N}I(y_i=c_k) + \lambda}{N+K\lambda} \end{equation} \]

标签:frac,limits,bm,sum,贝叶斯,jl,theta,模型,朴素
From: https://www.cnblogs.com/hywang1211/p/18067787

相关文章

  • 一键开启 GPU 闲置模式,基于函数计算低成本部署 Google Gemma 模型服务
    作者:王骜本文介绍如何使用函数计算GPU实例闲置模式低成本、快速的部署GoogleGemma模型服务。背景信息Google在2024年02月21日正式推出了自家的首个开源模型族Gemma,并同时上架了四个大型语言模型,提供了2B和7B两种参数规模的版本,每种都包含了预训练版本(base模......
  • 【图像超分】论文复现:新手入门!Pytorch实现SRCNN,数据预处理、模型训练、测试、评估全流
    文章目录前言1.准备数据集和数据预处理1.1数据集选择1.2数据预处理1.3评估指标PSNR和SSIM1.3.1PSNR1.3.2SSIM2.定义网络结构3.设置参数并训练模型3.1参数设置3.2模型训练4.测试训练好的模型5.用训练好的SRCNN模型超分自己的图像数据6.其他补充6.1特征图......
  • 3D模型+BI分析,打造全新的交互式3D可视化大屏开发方案
    背景介绍在数字经济建设和数字化转型的浪潮中,数据可视化大屏已成为各行各业的必备工具。然而,传统的数据大屏往往以图表和指标为主,无法真实地反映复杂的物理世界和数据关系。为了解决这个问题,3D模型可视化和数字孪生技术应运而生,它们可以将真实世界的物理对象、过程或系统,以及它们......
  • 【网络基础学习之一】OSI参考模型与TCP/IP协议
    一.分层思想1.分层背景OSI(OpenSystemsInterconnection,开放式系统互联)是国际标准化组织(ISO)在20世纪80年代制定的一种通信协议的通信模型,主要用于计算机网络中,规定了计算机系统之间通信的标准方法和协议。2.分层优点各层之间相互独立,每一层只实现一种相对独立的功能,使问题复......
  • 监控大模型训练
    监控大模型训练大模型训练时间久,而且过程中容易出现各种各样的问题而中断,中断之后不及时续练的话对GPU资源是很大的浪费,但是我们又不能一直盯着程序。所以本文将介绍如何编写一个监控程序来监控大模型的训练,以方便我们在大模型训练出现异常时及时通知给我们。监控的方式有很多,这......
  • 自然语言处理(NLP)—— 生成式模型和判别式模型
            生成式模型和判别式模型是机器学习领域两大类模型,它们在自然语言处理、计算机视觉等领域都有广泛的应用。理解这两类模型的区别对于选择正确的模型来解决特定问题非常重要。1.生成式模型(GenerativeModels)        生成式模型旨在学习数据的联合......
  • 小白Windows下通过Ollama部署使用本地模型
    安装环境运行环境为windowsR9000P2021拯救者笔记本AMDR7-5800H32G内存NVIDIARTX3070LaptopGPU安装主程序Ollama下载exe,直接下一步下一步没有设置可以更改windows默认安装路径:C:\Users\wbigo\AppData\Local\Programs\Ollama\安装后会自动将该路径加入环境变量双......
  • 【机器学习】贝叶斯分类器 | 分类器基本原理,朴素贝叶斯,半朴素贝叶斯,贝叶斯网
    在学习贝叶斯分类器的过程中我逐渐理解了不同视角下的机器学习过程​我们的学习本质上是对于众多的属性,x1,x2,x3到一个结果分类y,线性分类器什么的是训练集拟合一个函数从众多属性x到y,SVM是学习一个分界线划分不同的y对应的x,而贝叶斯分类器本质上是对数据集观测做统计结......
  • 20240311 大模型快讯
    //社区生态//零一万物自研全导航图向量数据库。零一万物宣布推出基于全导航图的新型向量数据库笛卡尔(Descartes),已包揽权威榜单ANN-Benchmarks6项数据集评测第一名。//语言大模型//清华发布大模型长文本理解方法InfLLM。InfLLM在没有引入额外训练的情况下,利用一个外部......
  • 认知战壳吉桔:十大思维利器——构建高效个人思维模型的必备工具
    认知战壳吉桔:十大思维利器——构建高效个人思维模型的必备工具关键词:认知战、认知域、认知战研究中心、认知战争、认知战战术、认知战战略、认知域作战研究、认知作战、认知控制、战略思想、CognitiveWarfare、CognitiveDomain、CognitiveControl内容摘要:第一性原理:第一......