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

大连理工大学选修课——机器学习笔记(4):NBM的原理及应用

NBM的原理及应用

贝叶斯决策及相关

贝叶斯决策

  • 对于给定数据集 X = [ X 1 , X 2 , ⋯ , X d ] T X=[X_1,X_2,\cdots,X_d]^T X=[X1,X2,,Xd]T
  • K个类 C i , i = 1 , ⋯ , K C_i,i=1,\cdots,K Ci,i=1,,K, 满足 P ( C i ) > = 0 a n d ∑ P ( C i ) = 1 P(C_i)>=0\ and\ \sum P(C_i)=1 P(Ci)>=0 and P(Ci)=1
  • 对于数据样本 x x x的类别判断为:

c h o o s e C i i f P ( C i ∣ x ) = m a x P ( C k ∣ x ) choose\ C_i\ if P(C_i|x)=maxP(C_k|x) choose Ci ifP(Cix)=maxP(Ckx)

后验概率的计算

  • 贝叶斯定理公式为

    P ( C i ∣ x ) = p ( x ∣ C i ) P ( C i ) p ( x ) P(C_i|x)=\frac{p(x|C_i)P(C_i)}{p(x)} PCix)=p(x)p(xCi)P(Ci)

    其中, p ( x ) , p ( x ∣ C i ) p(x),p(x|C_i) p(x),p(xCi)可以从训练样本中估算。

理解后验概率

后验概率是一种条件概率,代表随机事件存在关联。

理解贝叶斯决策

总是选择错误风险最小的结果。

一元统计分析及参数估计

  • 常规做法:根据给定的数据集估算这些概率。

  • 存在问题:如果数据集太小,那么从数据集里计算出来的概率偏差将非常严重。

    例:观察一个质地均匀的骰子投掷6次的结果:
    [1,3,1,5,3,3]
    质地均匀的骰子每个点出现的概率应该是1/6
    如果根据观察到的数据集去计算每个点的概率,和真实的概率差别会非常大。
    即:如果数据集太小,那么从数据集里计算出来的概率偏差将非常严重。

  • 解决方法:

    • 不完全依赖给定的数据,结合概率分布模型计算概率。

概率分布模型

  • 概率密度函数(PDF)
    • 描述连续随机事件(变量)可能性的函数。
  • 概率质量函数(PMF)
    • 描述离散随机事件(变量)可能性的函数。

处理连续随机变量和离散随机变量需要采用不同的概率分布模型

  • 伯努利分布(二值分布)
    • 二项式分布
  • 多值分布
    • 多项式分布
  • 高斯分布

一维数据的情况

数据仅含一个特征,可能是连续/随机的随机变量。

伯努利分布

伯努利分布是二值分布,用0/1表示。

  • 伯努利分布概率质量函数:

P ( X = x ) = { p x = 1 1 − p x = 0 P(X=x)=\left\{ \begin{matrix} p\qquad &x=1\\ 1-p\qquad &x=0 \end{matrix} \right. PX=x)={p1px=1x=0

  • 二项式分布:

P k = C N k p k ( 1 − p ) N − k P_k=C_N^kp^k(1-p)^{N-k} Pk=CNkpk(1p)Nk

    做了N次伯努利试验,结果1出现k次的概率。

多值分布

∑ j = 1 M p j = 1 f ( x 1 , x 2 , ⋯ , x m ∣ p ) = ∏ j = 1 M p j x j \begin{align} \sum_{j=1}^{M}p_j=&1\\ f(x_1,x_2,\cdots,x_m|p)=&\prod_{j=1}^{M}p_j^{x_j} \end{align} j=1Mpj=f(x1,x2,,xmp)=1j=1Mpjxj

M M M是特征取值的状态数, x j x_j xj当且仅当类别x状态j时,取值为1,其余情况取值为0。

  • 多项式分布:满足多值分布的实验,连续做 n 次后,每种类别出现的特定次数组合的概率。

    多项式分布的PMF:

    f ( X , n , P ) = n ! ∏ j = 1 M x j ! ∏ j = 1 M p j x j \begin{align} f(X,n,P)=\frac{n!}{\prod_{j=1}^{M}x_j!}\prod_{j=1}^Mp_j^{x_j} \end{align} f(X,n,P)=j=1Mxj!n!j=1Mpjxj

高斯分布

连续随机变量的概率分布,即正态分布

公式包含 μ , σ \mu,\sigma μ,σ两个参数:

p ( x ) = 1 2 π e x p ( − ( x − μ ) 2 2 σ 2 ) p(x)=\frac{1}{\sqrt{2\pi}}exp(-\frac{(x-\mu)^2}{2\sigma^2}) p(x)=2π 1exp(2σ2(xμ)2)

参数估计

含义:确定概率分布模型的参数,概率模型确定后,即可计算 p ( x ) 和 p ( x ∣ C i ) p(x)和p(x|C_i) p(x)p(xCi)

方法:最大似然估计

最大似然估计

似然:在参数 θ \theta θ下,数据样本 X = { x 1 , x 2 , ⋯ , x n } X=\{x_1,x_2,\cdots,x_n\} X={x1,x2,,xn}出现的概率

  1. 样本满足独立同分布

    X = { x t } t = 1 N X={\{x^t\}}^N_{t=1} X={xt}t=1N

  2. x服从参数为 θ \theta θ的概率分布

    x t ∼ p ( x ∣ θ ) x^t\sim p(x|\theta) xtp(xθ)

  3. 样本的似然(假设样本相互独立):

l ( X ∣ θ ) = p ( X ∣ θ ) = ∏ t = 1 N p ( x t ∣ θ ) l(X|\theta)=p(X|\theta)=\prod_{t=1}^Np(x^t|\theta) l(Xθ)=p(Xθ)=t=1Np(xtθ)

     对数似然:

L ( X ∣ θ ) = l o g l ( X ∣ θ ) = ∑ t = 1 N l o g p ( x t ∣ θ ) L(X|\theta)=logl(X|\theta)=\sum_{t=1}^Nlog\ p(x^t|\theta) L(Xθ)=logl(Xθ)=t=1Nlog p(xtθ)

  1. 通过极值估算概率模型参数 θ \theta θ

    1. 伯努利分布

      下面的公式展示了如何通过最大似然估计(MLE)推导伯努利分布的参数p。

      伯努利分布的概率质量函数为:

      P ( x t ∣ p ) = p x t ( 1 − p ) 1 − x t \begin{align} P(x^t|p)={p^x}^t(1-p)^{1-x^t} \end{align} P(xtp)=pxt(1p)1xt

      联合似然函数(所有样本的联合概率):

      L ( X ∣ p ) = ∏ t = 1 N p x t ( 1 − 0 ) 1 − x t \begin{align} L(X|p)=\prod_{t=1}^N{p^x}^t(1-0)^{1-x^t} \end{align} L(Xp)=t=1Npxt(10)1xt

      为了简化计算,取对数,将连乘转为连加:

      l o g L ( X ∣ p ) = ∑ t = 1 N [ x t l o g p ] + ( 1 − x t ) l o g ( 1 − p ) , 展开得: = ( ∑ t = 1 N x t ) l o g p + ( N − ∑ t = 1 N x t ) l o g ( 1 − p ) 其中, ∑ x t 表示总成功次数, N − ∑ x t 表示失败次数。 \begin{align} log\ L(X|p)=&\sum_{t=1}^N[x^tlog\ p]+(1-x^t)log(1-p),展开得:\\ =&(\sum_{t=1}^Nx^t)log\ p+(N-\sum_{t=1}^Nx^t)log(1-p) \end{align}\\ 其中,\sum x^t表示总成功次数,N-\sum x^t表示失败次数。 log L(Xp)==t=1N[xtlog p]+(1xt)log(1p),展开得:(t=1Nxt)log p+(Nt=1Nxt)log(1p)其中,xt表示总成功次数,Nxt表示失败次数。

      对p求导,并令导数为0:

      d d p l o g L ( X ∣ p ) = x t p − N − ∑ x t 1 − p = 0 \begin{align} \frac{d}{dp}log\ L(X|p)=\frac{x^t}{p}-\frac{N-\sum x^t}{1-p}=0 \end{align} dpdlog L(Xp)=pxt1pNxt=0

      解方程得:

      p ^ = x t N \hat{p}=\frac{x^t}{N} p^=Nxt

    2. 多值分布

      1. 类条件概率的估计

        p ^ ( x ∣ C i ) = ∏ j = 1 M p ^ i j x j \hat p(x|C_i)=\prod_{j=1}^M\hat p_{ij}^{x_j} p^(xCi)=j=1Mp^ijxj

        • 符号说明
          • C i C_i Ci表示第i个类别。
          • p ^ i j \hat p_{ij} p^ij表示类别 C i C_i Ci下第j个特征的出现概率(MLE估计值)。
          • x j x_j xj是样本的第j个特征值(二值或频数)。
          • p ^ i j = N i j N i \hat p_{ij}=\frac{N_{ij}}{N_i} p^ij=NiNij, N i j N_{ij} Nij表示 C i C_i Ci中第 j j j个特征出现的总次数, N i N_i Ni表示 C i C_i Ci的总样本数。
      2. 先验概率的估计

        p ^ ( C i ) = ∑ l r l i N \hat p(C_i)=\frac{\sum_lr_l^i}{N} p^(Ci)=Nlrli

        • 符号说明
          • r l i r_l^i rli:第 l l l个样本是否属于 C i C_i Ci(1是,0否)。
          • N:总样本数。
      3. 构建判别式函数

        g i ​ ( x ) = l o g ( p ^ ​ ( x ∣ C i ​ ) p ^ ​ ( C i ​ ) ) = ∑ j = 1 M x ​ j ​ l o g p ^ i j ​ + l o g p ^ ​ ( C i ​ ) g_i​(x)=log(\hat p^​(x∣C_i​)\hat p^​(C_i​))=\sum_{j=1}^M x​_{j​}log\ \hat p_{ij}​+log\ \hat p​(C_i​) gi(x)=log(p^(xCi)p^(Ci))=j=1Mxjlog p^ij+log p^(Ci)

    高斯分布

    1. 建立似然函数

      L ( X ∣ μ , σ ) = − N 2 l o g ( 2 π ) − N l o g σ − ∑ t ( x t − μ ) 2 2 σ 2 L(X|\mu,\sigma)=-\frac{N}{2}log(2\pi)-Nlog\sigma-\frac{\sum_t(x^t-\mu)^2}{2\sigma^2} L(Xμ,σ)=2Nlog(2π)Nlogσ2σ2t(xtμ)2

    2. 计算自变量的偏导,令等于0,得最大似然估计结果:

      m = ∑ t x t N s 2 = ∑ t ( x t − m ) 2 N m=\frac{\sum_tx^t}{N}\\ s^2=\frac{\sum_t(x^t-m)^2}{N} m=Ntxts2=Nt(xtm)2

    3. 高斯分布用于分类

      1. 对每个类别 C i C_i Ci,用MLE估计其高斯参数 ( m i , s i 2 ) (m_i,s_i^2) (mi,si2):

        p ^ ( x ∣ C i ) = 1 2 π s i e x p ( − ( x − m i ) 2 2 s i 2 ) \hat p(x|C_i)=\frac{1}{\sqrt{2\pi s_i}}exp(-\frac{(x-m_i)^2}{2s_i^2}) p^(xCi)=2πsi 1exp(2si2(xmi)2)

      2. 先验概率估计:

        p ^ ( C i ) = 类别 C i 的样本数 N \hat p(C_i)=\frac{类别C_i的样本数}{N} p^(Ci)=N类别Ci的样本数

      3. 构建判别式

        取对数后,判别函数 g i ( x ) g_i(x) gi(x) 为:

        g i ( x ) = − 1 2 l o g 2 π − l o g s i − ( x − m i ) 2 2 s i 2 + l o g p ^ ( C i ) g_i(x)=-\frac{1}{2}log2\pi-log\ s_i-\frac{(x-m_i)^2}{2s_i^2}+log\ \hat p(C_i) gi(x)=21log2πlog si2si2(xmi)2+log p^(Ci)

多元数据的贝叶斯模型

多元数据

  • 被观测的样本具有多个特征(维度>1)

    样本集可以用矩阵表示。

    X = [ X 1 1 X 2 1 ⋯ X d 1 X 1 2 X 2 2 ⋯ X d 2 . . X 1 N X 2 N ⋯ X d N ] X=\begin{bmatrix} X_1^1\quad X_2^1\quad \cdots\quad X_d^1\\ X_1^2\quad X_2^2\quad \cdots\quad X_d^2\\ .\\ .\\ X_1^N\quad X_2^N\quad \cdots\quad X_d^N \end{bmatrix} X= X11X21Xd1X12X22Xd2..X1NX2NXdN

多元数据的统计量

  • 均值向量

    在这里插入图片描述

  • 特征变量的方差

    σ i 2 \sigma_i^2 σi2

  • 特征变量间的协方差

    在这里插入图片描述

    协方差描述了特征变量之间的关联,如果特征变量彼此独立、不相关,则协方差为零。

  • 特征变量的相关性

    在这里插入图片描述

    相关性把特征变量之间的协方差归一化到[-1,+1],特征变量如果不相关,则相关性为0。

多元数据的参数估计

  • 最大似然估计的结果
    • 样本均值向量

      m = ∑ t = 1 N x t N ( m i = ∑ t = 1 N x i t N ) m=\frac{\sum^N_{t=1}x^t}{N}\quad (m_i=\frac{\sum_{t=1}^Nx^t_i}{N}) m=Nt=1Nxt(mi=Nt=1Nxit)

    • 样本的协方差

在这里插入图片描述

多元高斯分布

  • x ∼ N d ( μ , ∑ ) x\sim N_d(\mu,\sum) xNd(μ,)

    在这里插入图片描述

  • 样本的协方差矩阵用S表示

在这里插入图片描述

在这里插入图片描述

基于多元高斯分布的贝叶斯分类法

  1. 假定

在这里插入图片描述

  1. 判别式为:

    在这里插入图片描述

  2. 根据最大似然估计:

在这里插入图片描述

在这里插入图片描述

  1. 化简得:

在这里插入图片描述

如果协方差矩阵为对角矩阵,化简结果为:

在这里插入图片描述

上式为朴素贝叶斯模型的基于高斯分布的判别式(NBM)。

讨论朴素贝叶斯模型

在这里插入图片描述

  • 括号内为标准化的欧氏距离,消除量纲影响。

  • NBM是线性判别式,每个特征变量的分布都是高斯分布。

  • 如果每个特征变量方差相同,或进行了归一化处理,NBM退化为:

    在这里插入图片描述

    括号内为欧氏距离,不需要再标准化了。

  • 最小距离分类:

    在这里插入图片描述

    如果 p ^ ( C i ) \hat p(C_i) p^(Ci)相等:

    在这里插入图片描述

上式为最小距离分类方法

贝叶斯模型的简化形式

为了降低模型的复杂程度,降低计算量,需要对贝叶斯模型进行化简。

独立性假设

朴素贝叶斯的前提是假定样本实例的各个特征之间相互独立,此时, σ = 0 , ρ = 0 \sigma=0,\rho=0 σ=0,ρ=0

协方差矩阵退化为对角矩阵
公式:

在这里插入图片描述

可以化简为:

在这里插入图片描述

等价于:

在这里插入图片描述

此时,多元数据的条件概率等于一元条件概率的乘积,每个特征变量都独立处理,不须再考虑协方差

三种朴素贝叶斯分类器

随机变量的预处理

  • 样本实例的特征可以是连续的随机变量
  • 也可以是离散的随机变量
  • 不同类型的特征变量需要采用不同的概率模型处理
  • 不同概率模型对应不同的贝叶斯模型的实现方法
  1. 对于连续随机变量:
    • 采用高斯分布模型。
    • 离散成多值状态,采用多值分布模型。
    • 离散成二值状态,采用伯努力分布模型。
  2. 对于多值离散型随机变量
    • 采用多值分布模型、
    • 离散成二值状态,采用伯努力分布模型

贝叶斯模型的优点

  • 分类效率稳定
  • 对缺少数据不太敏感,常用于文本分类
  • 对小规模数据表现很好,对大规模数据可分批增量式训练
  • 能处理多分类任务

贝叶斯模型的缺点

  • 特征较多或特征相关性较大时,分类效果不好。
  • 对数据的表达形式很敏感。
  • 需要知道先验概率(常取决于假设),因此存在一定误差。

朴素贝叶斯模型的三种实现形式

  • 基于伯努力的NBM
    • 处理二值随机变量的数据
  • 基于多值分布的NBM
    • 处理离散随机变量的数据
  • 基于高斯分布的NBM
    • 处理连续随机变量的数据

条件概率的数据平滑

如果某个离散随机变量的条件概率为0,那么条件概率连乘就会失败。

在这里插入图片描述

  • 平滑方法:

在这里插入图片描述

在这里插入图片描述

相关文章:

  • 机器学习|通过线性回归了解算法流程
  • 制作一款打飞机游戏35:生成系统
  • YOLO视觉模型可视化训练与推理测试工具
  • 分享高德地图获取矢量面的方法和python脚本
  • BI平台是什么意思?一文讲清BI平台的具体应用!
  • 线性微分方程与非线性微分方程
  • Windows查看和修改IP,IP互相ping通
  • 智能机器人在物流行业的应用:效率提升与未来展望
  • 【QT】编写第一个 QT 程序 对象树 Qt 编程事项 内存泄露问题
  • 【SystemC初认识】SystemC是什么?有哪些主要组件?如何简单使用?
  • Java高阶程序员学习计划(详细到天,需有一定Java基础)
  • TimeDistill:通过跨架构蒸馏的MLP高效长期时间序列预测
  • LeRobot 项目部署运行逻辑(四)——control_robot.py
  • 使用 Spring Data Redis 实现 Redis 数据存储详解
  • L35.【LeetCode题解】转置矩阵(C语言)
  • 11.Spring Boot 3.1.5 中使用 SpringDoc OpenAPI(替代 Swagger)生成 API 文档
  • 2025.4.28 Vue.js 学习笔记
  • Rancher 2.6.3企业级容器管理平台部署实践
  • 百家号等新媒体私信入口是否可以聚合到企业微信的客服,如何实现
  • E. Unpleasant Strings【Educational Codeforces Round 178 (Rated for Div. 2)】
  • 五一假期上海口岸出入境客流总量预计达59.4万人,同比增约30%
  • 魔都眼|静安光影派对五一启幕:苏河湾看徐悲鸿艺术画作
  • 欢迎回家!神十九返回舱成功着陆
  • 徐徕任上海浦东新区副区长,此前已任区委常委
  • “女乘客遭顺风车深夜丢高速服务区”续:滴滴永久封禁两名涉事司机账号
  • 广东省副省长刘红兵跨省调任湖南省委常委、宣传部长