机器学习理论(8)


📚 半监督学习(Semi-Supervised Learning)笔记

半监督学习 = 利用“少量有标签数据 + 大量无标签数据”提升模型性能。现实数据中,标注成本高,无标签数据易得 → 半监督学习是“性价比之王”。


🎯 一、为什么需要半监督学习?

问题 说明
标注成本高 医学图像、语音、专业文本需专家标注,费时费力
无标签数据多 互联网文本、图像、日志数据海量,但无标签
监督学习瓶颈 仅用少量标签数据 → 模型欠拟合、泛化差
无监督学习局限 聚类/降维不利用标签 → 无法直接用于预测任务

📌 核心假设

  • 聚类假设(Cluster Assumption):同一簇样本很可能同属一个类
  • 流形假设(Manifold Assumption):数据分布在低维流形上,相近样本应有相似标签
  • 低密度分隔假设(Low-Density Separation):决策边界应穿过低密度区域

🧩 二、三大主流方法

方法类型 代表算法 核心思想
生成式方法 高斯混合模型(GMM) 假设数据由生成模型产生,用EM算法利用无标签数据
半监督SVM TSVM(Transductive SVM) 寻找能穿过低密度区域的最大间隔超平面
图半监督学习 Label Propagation, Label Spreading 构建样本相似图,标签在图上“传播”

🌟 三、生成式方法(Generative Methods)

假设数据由概率模型生成(如高斯混合模型),用 EM 算法同时拟合有标签和无标签数据。


✅ 1. 高斯混合模型(GMM) + EM 算法

设数据由 $K$ 个高斯分布混合生成:

  • $\alpha_k$:第 $k$ 个高斯的混合系数
  • $\boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k$:均值和协方差

📌 半监督学习目标:利用有标签数据“锚定”部分高斯分量,再用无标签数据优化整体分布。


✅ 2. EM 算法步骤(半监督版)

步骤编号 步骤描述
1 输入:有标签数据$L = \{(\mathbf{x}_i, y_i)\}$,无标签数据 $U = \{\mathbf{x}_j\}$
2 初始化:用$L$ 初始化部分高斯参数(如已知类别对应高斯)
3 E 步(Expectation):对无标签样本 $\mathbf{x}_j$,计算其属于每个高斯分量的后验概率:

|
| 4 | M 步(Maximization):用所有数据(含伪标签)更新参数:
- $\alpha_k = \frac{1}{ |
| 5 | 重复 E 步和 M 步直到收敛 |
| 6 | 预测:对新样本$\mathbf{x}$,计算 $P(y=k \mid \mathbf{x}) \propto \alpha_k \mathcal{N}(\mathbf{x} \mid \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k)$,取最大概率类别 |

📌 优点:理论清晰,概率输出
📌 缺点:假设数据服从高斯分布,现实中常不成立


⚡ 四、半监督 SVM —— TSVM(Transductive SVM)

寻找一个超平面,不仅在有标签数据上间隔最大,还要穿过无标签数据的低密度区域


✅ 1. 核心思想

  • 传统 SVM:最大化有标签数据的间隔
  • TSVM:同时优化有标签数据间隔 + 无标签数据“低密度分隔”

📌 优化目标

s.t.

  • $y_i (\mathbf{w}^T \mathbf{x}_i + b) \geq 1 - \xi_i, \quad \xi_i \geq 0, \quad i \in L$
  • $\hat{y}_j (\mathbf{w}^T \mathbf{x}_j + b) \geq 1 - \hat{\xi}_j, \quad \hat{\xi}_j \geq 0, \quad j \in U$
  • $\hat{y}_j \in \{-1, +1\}, \quad j \in U$(无标签样本的“伪标签”)

NP 难问题(因 $\hat{y}_j$ 是离散变量)


✅ 2. TSVM 近似求解步骤(常用启发式)

步骤编号 步骤描述
1 用有标签数据$L$ 训练一个初始 SVM,得到 $\mathbf{w}_0, b_0$
2 对无标签样本$U$,用初始模型预测伪标签 $\hat{y}_j = \text{sign}(\mathbf{w}_0^T \mathbf{x}_j + b_0)$
3 将$U$ 加入训练集,赋予较低惩罚 $C_u < C_l$,重新训练 SVM
4 选两个伪标签“最不可靠”的样本(如 $
5 如果翻转后目标函数下降,则接受翻转
6 重复步骤 3~5 直到收敛或达到最大迭代

📌 优点:保持 SVM 的最大间隔特性
📌 缺点:计算复杂,易陷入局部最优


🌳 五、图半监督学习(Graph-Based Methods)

构建样本相似图,标签从有标签节点“传播”到无标签节点。


✅ 1. 核心思想

  • 将所有样本(有标签 + 无标签)作为图的节点
  • 边权重 $W_{ij}$ 表示样本 $\mathbf{x}_i$ 和 $\mathbf{x}_j$ 的相似度(如高斯核)
  • 假设:相连节点应有相似标签

📌 目标函数(标签平滑):

  • $\mathbf{f}$:所有节点的标签向量(有标签节点固定,无标签节点优化)
  • $\mathbf{L} = \mathbf{D} - \mathbf{W}$:图拉普拉斯矩阵
  • $\mathbf{D}$:度矩阵(对角矩阵,$D_{ii} = \sum_j W_{ij}$)

✅ 2. Label Propagation 算法步骤

步骤编号 步骤描述
1 输入:有标签数据$L$,无标签数据 $U$,相似度矩阵 $\mathbf{W}$
2 构建全图:节点 =$L \cup U$,边权重 $W_{ij} = \exp(-\gamma \ \mathbf{x}_i - \mathbf{x}_j\ ^2)$
3 初始化标签矩阵$\mathbf{Y}$:
- 有标签节点:$Y_{ik} = 1$ if $y_i = k$,否则 0
- 无标签节点:$Y_{ik} = 0$
4 构造转移矩阵$\mathbf{S} = \mathbf{D}^{-1} \mathbf{W}$(行归一化)
5 重复以下步骤直到收敛:
- $\mathbf{Y}^{(t+1)} = \mathbf{S} \mathbf{Y}^{(t)}$
- 重置有标签节点:将 $\mathbf{Y}^{(t+1)}$ 中有标签行替换为真实标签(硬约束)
6 输出:无标签节点的预测标签 =$\arg\max_k Y_{jk}$

📌 Label Spreading:软约束版本,不强制重置标签,而是加入正则项:

→ 有闭式解:$\mathbf{F} = (\mathbf{I} - \alpha \mathbf{S})^{-1} \mathbf{Y}$

📌 优点:直观、适合流形结构数据
📌 缺点:计算复杂度高($O(n^3)$),不适合大数据


📊 六、方法对比与选型指南

方法 适用场景 优点 缺点
生成式方法 数据近似高斯分布 概率输出,理论清晰 假设强,现实中常不成立
TSVM 二分类、小规模数据 保持最大间隔,精度高 计算复杂,难扩展到多分类
图半监督 数据有局部结构(如图像、文本) 直观,适合流形假设 计算慢,存储$O(n^2)$ 相似矩阵

📌 工业界常用:深度学习 + 自训练(Self-Training)、一致性正则(Consistency Regularization)


✅ 七、一句话总结

半监督学习 = “用大量无标签数据,教会模型认识世界;用少量标签数据,告诉模型任务目标” —— 小标签,大作为!


📌 八、复习重点公式

概念 公式
GMM 概率密度

|
| 图半监督目标 |

                                                     |

| Label Spreading |

                                            |

| TSVM 目标(简化) |

                                |

文章作者: zyuan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 zyuan !
评论
  目录