[模式识别-从入门到入土] 拓展-生成式模型

[模式识别-从入门到入土] 拓展-生成式模型

知乎:https://www.zhihu.com/people/byzh_rc

CSDN:https://blog.csdn.net/qq_54636039

注:本文仅对所述内容做了框架性引导,具体细节可查询其余相关资料or源码

参考文章:各方资料

文章目录

  • [[模式识别-从入门到入土] 拓展-生成式模型](#[模式识别-从入门到入土] 拓展-生成式模型)
  • 生成式模型
  • 典例
      • [步骤 1:计算 p ( Θ = i ∣ x ) p(\Theta=i|x) p(Θ=i∣x)(无标签样本)](#步骤 1:计算 p ( Θ = i ∣ x ) p(\Theta=i|x) p(Θ=i∣x)(无标签样本))
      • [步骤 2:计算 p ( y = j ∣ Θ = i , x ) p(y=j|\Theta=i,x) p(y=j∣Θ=i,x)(有标签样本)](#步骤 2:计算 p ( y = j ∣ Θ = i , x ) p(y=j|\Theta=i,x) p(y=j∣Θ=i,x)(有标签样本))
      • [步骤 3:代入公式计算 p ( y = j ∣ x ) p(y=j|x) p(y=j∣x),取最大值](#步骤 3:代入公式计算 p ( y = j ∣ x ) p(y=j|x) p(y=j∣x),取最大值)
      • 总结

生成式模型

类别标记:样本 x 的类别 y ∈ Y = { 1 , 2 , ... , N } y \in Y=\{1,2,\dots,N\} y∈Y={1,2,...,N}

生成机制:样本由 高斯混合模型(GMM) 生成,每个类别对应一个高斯成分,样本的边缘概率为
p ( x ) = ∑ i = 1 N α i ⋅ p ( x ∣ μ i , Σ i ) p(x)=\sum_{i=1}^N \alpha_i \cdot p(x|\mu_i,\Sigma_i) p(x)=i=1∑Nαi⋅p(x∣μi,Σi)

其中:

  • α i ≥ 0 , ∑ i = 1 N α i = 1 \alpha_i \ge 0,\ \sum_{i=1}^N \alpha_i=1 αi≥0, ∑i=1Nαi=1 (混合系数,满足归一化条件)
  • p ( x ∣ μ i , Σ i ) p(x|\mu_i,\Sigma_i) p(x∣μi,Σi) :第 i 个高斯成分的概率密度函数
  • μ i , Σ i \mu_i,\Sigma_i μi,Σi :第 i 个高斯成分的均值和协方差矩阵
预测规则

设 f ( x ) f(x) f(x) 为模型预测类别, Θ = i \Theta=i Θ=i 表示样本属于第 i 个高斯成分,则
f ( x ) = arg ⁡ max ⁡ j ∈ Y p ( y = j ∣ x ) = arg ⁡ max ⁡ j ∈ Y ∑ i = 1 N p ( y = j , Θ = i ∣ x ) = arg ⁡ max ⁡ j ∈ Y ∑ i = 1 N p ( y = j ∣ Θ = i , x )   p ( Θ = i ∣ x ) \begin{aligned} f(x) &=\arg\max_{j\in Y}p(y=j|x) \\ &=\arg\max_{j\in Y}\sum_{i=1}^N p(y=j,\Theta=i|x) \\ &=\arg\max_{j\in Y}\sum_{i=1}^N p(y=j|\Theta=i,x)\,p(\Theta=i|x) \end{aligned} f(x)=argj∈Ymaxp(y=j∣x)=argj∈Ymaxi=1∑Np(y=j,Θ=i∣x)=argj∈Ymaxi=1∑Np(y=j∣Θ=i,x)p(Θ=i∣x)

概率项 标签 含义
$p(y=j \Theta=i,x)$ 需要
$p(\Theta=i x)$ 不需要

优势 :可以同时利用有标签样本 D l D_l Dl 和无标签样本 D u D_u Du 完成分类

参数估计(EM 算法)

针对有标签样本集 D l D_l Dl 和无标签样本集 D u D_u Du,联合对数似然为:
L ( D l ∪ D u ) = ∑ ( x j , y j ) ∈ D l ln ⁡ ( ∑ i = 1 N α i p ( x j ∣ μ i , Σ i ) p ( y j ∣ Θ = i , x j ) ) + ∑ x j ∈ D u ln ⁡ ( ∑ i = 1 N α i p ( x j ∣ μ i , Σ i ) ) \begin{aligned} L(D_l\cup D_u) &=\sum_{(x_j,y_j)\in D_l}\ln\left(\sum_{i=1}^N \alpha_i p(x_j|\mu_i,\Sigma_i)p(y_j|\Theta=i,x_j)\right)\\ &+\sum_{x_j\in D_u}\ln\left(\sum_{i=1}^N \alpha_i p(x_j|\mu_i,\Sigma_i)\right) \end{aligned} L(Dl∪Du)=(xj,yj)∈Dl∑ln(i=1∑Nαip(xj∣μi,Σi)p(yj∣Θ=i,xj))+xj∈Du∑ln(i=1∑Nαip(xj∣μi,Σi))
l i l_i li :第 i 类有标签样本的数量
m = l + u m = l+u m=l+u :总样本数(l 为有标签样本数,u 为无标签样本数)

  • E 步 :计算后验概率(责任度)
    Υ j i = α i p ( x j ∣ μ i , Σ i ) ∑ i = 1 N α i p ( x j ∣ μ i , Σ i ) \Upsilon_{ji}=\frac{\alpha_i p(x_j|\mu_i,\Sigma_i)}{\sum_{i=1}^N \alpha_i p(x_j|\mu_i,\Sigma_i)} Υji=∑i=1Nαip(xj∣μi,Σi)αip(xj∣μi,Σi)

    Υ j i \Upsilon_{ji} Υji 表示第 j j j 个样本属于第 i i i 个高斯成分的责任度

  • M 步 :更新模型参数
    α i = 1 m ( ∑ x j ∈ D u Υ j i + l i ) μ i = ∑ x j ∈ D u Υ j i x j + ∑ ( x j , y j ) ∈ D l , y j = i x j ∑ x j ∈ D u Υ j i + l i Σ i = ∑ x j ∈ D u Υ j i ( x j − μ i ) ( x j − μ i ) T + ∑ ( x j , y j ) ∈ D l , y j = i ( x j − μ i ) ( x j − μ i ) T ∑ x j ∈ D u Υ j i + l i \begin{aligned} \alpha_i &=\frac{1}{m}\left(\sum_{x_j\in D_u}\Upsilon_{ji}+l_i\right)\\ \mu_i &=\frac{\sum_{x_j\in D_u}\Upsilon_{ji}x_j+\sum_{(x_j,y_j)\in D_l,y_j=i}x_j}{\sum_{x_j\in D_u}\Upsilon_{ji}+l_i}\\ \Sigma_i &=\frac{\sum_{x_j\in D_u}\Upsilon_{ji}(x_j-\mu_i)(x_j-\mu_i)^T+\sum_{(x_j,y_j)\in D_l,y_j=i}(x_j-\mu_i)(x_j-\mu_i)^T}{\sum_{x_j\in D_u}\Upsilon_{ji}+l_i} \end{aligned} αiμiΣi=m1 xj∈Du∑Υji+li =∑xj∈DuΥji+li∑xj∈DuΥjixj+∑(xj,yj)∈Dl,yj=ixj=∑xj∈DuΥji+li∑xj∈DuΥji(xj−μi)(xj−μi)T+∑(xj,yj)∈Dl,yj=i(xj−μi)(xj−μi)T

局限性

若假设的高斯混合模型与数据真实分布不符,引入无标签数据可能反而降低分类性能

典例

假设我们要对花朵的高度 x 进行分类,判断是玫瑰( y = 0 y=0 y=0)还是月季( y = 1 y=1 y=1),且数据由 2 个高斯成分混合而成:

  • 高斯成分 1( Θ = 1 \Theta=1 Θ=1):代表 "矮株花" 的特征分布
  • 高斯成分 2( Θ = 2 \Theta=2 Θ=2):代表 "高株花" 的特征分布

有标签样本:少量已知是玫瑰 / 月季的花,能计算 p ( y = j ∣ Θ = i , x ) p(y=j|\Theta=i,x) p(y=j∣Θ=i,x)

无标签样本:大量未知类别的花,只能计算 p ( Θ = i ∣ x ) p(\Theta=i|x) p(Θ=i∣x)

步骤 1:计算 p ( Θ = i ∣ x ) p(\Theta=i|x) p(Θ=i∣x)(无标签样本)

p ( Θ = i ∣ x ) p(\Theta=i|x) p(Θ=i∣x) 表示样本 x 属于第 i 个高斯成分的概率

-> 通过无监督的高斯混合模型(GMM) 训练得到,不需要标签

假设对一朵高度 x = 15 cm x=15\ \text{cm} x=15 cm 的花,通过 GMM 得到:

{ p ( Θ = 1 ∣ x = 15 ) = 0.8 ( 大概率属于矮株成分 ) p ( Θ = 2 ∣ x = 15 ) = 0.2 ( 小概率属于高株成分 ) \begin{cases} p(\Theta=1|x=15) = 0.8 \quad (\text{大概率属于矮株成分}) \\ p(\Theta=2|x=15) = 0.2 \quad (\text{小概率属于高株成分}) \end{cases} {p(Θ=1∣x=15)=0.8(大概率属于矮株成分)p(Θ=2∣x=15)=0.2(小概率属于高株成分)

步骤 2:计算 p ( y = j ∣ Θ = i , x ) p(y=j|\Theta=i,x) p(y=j∣Θ=i,x)(有标签样本)

p ( y = j ∣ Θ = i , x ) p(y=j|\Theta=i,x) p(y=j∣Θ=i,x) 表示在 "样本 x 属于成分 i" 的前提下,它属于类别 j 的概率

-> 通过有标签样本统计或训练得到

假设通过少量有标签样本,我们得到:

| 高斯成分 i | p ( y = 0 ∣ Θ = i , x ) p(y=0|\Theta=i,x) p(y=0∣Θ=i,x)(玫瑰概率) | p ( y = 1 ∣ Θ = i , x ) p(y=1|\Theta=i,x) p(y=1∣Θ=i,x)(月季概率) |

| ---------- | ------------------------------- | ------------------------------- |

| Θ = 1 \Theta=1 Θ=1 | 0.9 | 0.1 |

| Θ = 2 \Theta=2 Θ=2 | 0.2 | 0.8 |

解释:

  • 矮株成分( Θ = 1 \Theta=1 Θ=1)的花,90% 是玫瑰,10% 是月季
  • 高株成分( Θ = 2 \Theta=2 Θ=2)的花,20% 是玫瑰,80% 是月季

步骤 3:代入公式计算 p ( y = j ∣ x ) p(y=j|x) p(y=j∣x),取最大值

根据预测规则

p ( y = j ∣ x ) = ∑ i = 1 2 p ( y = j ∣ Θ = i , x )   p ( Θ = i ∣ x ) p(y=j|x)=\sum_{i=1}^2 p(y=j|\Theta=i,x)\,p(\Theta=i|x) p(y=j∣x)=i=1∑2p(y=j∣Θ=i,x)p(Θ=i∣x)

我们分别计算 y = 0 y=0 y=0 和 y = 1 y=1 y=1 的概率:

  1. 计算 p ( y = 0 ∣ x = 15 ) p(y=0|x=15) p(y=0∣x=15)(玫瑰的总概率

    p ( y = 0 ∣ x = 15 ) = p ( y = 0 ∣ Θ = 1 , x ) ⋅ p ( Θ = 1 ∣ x ) + p ( y = 0 ∣ Θ = 2 , x ) ⋅ p ( Θ = 2 ∣ x ) = 0.9 × 0.8 + 0.2 × 0.2 = 0.72 + 0.04 = 0.76 \begin{aligned} p(y=0|x=15) &= p(y=0|\Theta=1,x)\cdot p(\Theta=1|x) + p(y=0|\Theta=2,x)\cdot p(\Theta=2|x) \\ &= 0.9\times0.8 + 0.2\times0.2 \\ &= 0.72 + 0.04 \\ &= 0.76 \end{aligned} p(y=0∣x=15)=p(y=0∣Θ=1,x)⋅p(Θ=1∣x)+p(y=0∣Θ=2,x)⋅p(Θ=2∣x)=0.9×0.8+0.2×0.2=0.72+0.04=0.76

  2. 计算 p ( y = 1 ∣ x = 15 ) p(y=1|x=15) p(y=1∣x=15)(月季的总概率

    p ( y = 1 ∣ x = 15 ) = p ( y = 1 ∣ Θ = 1 , x ) ⋅ p ( Θ = 1 ∣ x ) + p ( y = 1 ∣ Θ = 2 , x ) ⋅ p ( Θ = 2 ∣ x ) = 0.1 × 0.8 + 0.8 × 0.2 = 0.08 + 0.16 = 0.24 \begin{aligned} p(y=1|x=15) &= p(y=1|\Theta=1,x)\cdot p(\Theta=1|x) + p(y=1|\Theta=2,x)\cdot p(\Theta=2|x) \\ &= 0.1\times0.8 + 0.8\times0.2 \\ &= 0.08 + 0.16 \\ &= 0.24 \end{aligned} p(y=1∣x=15)=p(y=1∣Θ=1,x)⋅p(Θ=1∣x)+p(y=1∣Θ=2,x)⋅p(Θ=2∣x)=0.1×0.8+0.8×0.2=0.08+0.16=0.24

  3. 取概率最大值对应的类别

    f ( x = 15 ) = arg ⁡ max ⁡ j ∈ { 0 , 1 } { 0.76 , 0.24 } = 0 f(x=15)=\arg\max_{j\in\{0,1\}} \{0.76,0.24\} = 0 f(x=15)=argmaxj∈{0,1}{0.76,0.24}=0

    结论:这朵 15 cm 15\ \text{cm} 15 cm 高的花,预测为玫瑰

总结

无标签样本帮我们确定了 "花属于矮株 / 高株成分的概率"( p ( Θ = i ∣ x ) p(\Theta=i|x) p(Θ=i∣x))

有标签样本帮我们确定了 "某成分的花属于玫瑰 / 月季的概率"( p ( y = j ∣ Θ = i , x ) p(y=j|\Theta=i,x) p(y=j∣Θ=i,x))

两者结合,就能利用大量无标签数据提升分类效果,这也是半监督学习的核心思想

-> 用无标签数据 学习特征空间的概率结构 ,用有标签数据 在该结构上学习类别分布

-> 预测时通过对隐结构的边缘化,实现对类别后验的稳健估计

边缘化: 当某个随机变量不可观测(或不关心其具体取值)时,通过对它的所有可能取值求和 / 积分,把它"消掉",得到只依赖于观测变量的概率

对隐变量 Θ \Theta Θ 进行边缘化:
p ( y ∣ x ) = ∑ Θ p ( y , Θ ∣ x ) p(y \mid x) = \sum_{\Theta} p(y, \Theta \mid x) p(y∣x)=Θ∑p(y,Θ∣x)

相关推荐
J_Xiong01172 小时前
【VLMs篇】11:用于端到端目标检测的可变形Transformers(Deformable DETR)
人工智能·深度学习·目标检测
SEO_juper2 小时前
谷歌AI搜索模式全景图:深度解析它如何重塑搜索生态与排名逻辑
人工智能·ai·数字营销
掘金酱2 小时前
🏆2025 AI/Vibe Coding 对我的影响 | 年终技术征文
前端·人工智能·后端
攻城狮7号2 小时前
Anthropic开源Skills项目,打响了智能体标准化的第一枪
人工智能·大模型·skills·anthropic开源·ai技能
高洁012 小时前
知识图谱构建
人工智能·深度学习·算法·机器学习·知识图谱
智算菩萨2 小时前
【Python基础】字典(Dictionary):AI的“键值对”信息存储的基石
前端·人工智能·python
微爱帮监所写信寄信2 小时前
微爱帮监狱寄信写信小程序工单系统技术方案:智能投诉处理与问题解决平台
人工智能·网络协议·安全·小程序·内容审核·监狱寄信
弓.长.2 小时前
深入解析MoE架构:大模型高效训练的核心技术
人工智能·机器学习·语言模型·架构
胡伯来了2 小时前
22 Transformers - 训练计算机视觉模型
人工智能·计算机视觉·transformer·transformers