半监督学习:同时利用有标注数据和无标注数据
半监督学习的三个假设
- 高密度区域平滑假设(生成模型)
高密度空间中,两个点x1,x2距离比较近,对应输出y1,y2也相近
- 低密度区域分隔假设(半监督SVM)
决策边界应该在低密度区域/聚类假设:如果两个点在同一个簇,很可能属于同一类
- 流行假设(基于图的算法)
高维数据大致分布在低维流形上;邻近的样本拥有相似的输出;临近程度用相似程度刻画
半监督学习算法:至少熟悉一种算法原理
自我训练、多视角学习、生成模型、半监督SVM、基于图的算法
归纳式学习vs直推式学习
- 归纳式学习:
给定训练数据有标注样本,无标注样本(远远多于)
学习一个函数用于预测新来的测试样本的标签
学习一个函数能被应用到测试数据上
例如:自我训练、多视角学习
- 直推式学习
给定训练数据有标注样本,无标注样本(远远多于)
可以没有显示的学习函数,所关心的是在无标注样本上的预测
无标注数据是测试数据集合并且在训练时可以使用
例如:基于图的方法(构建、加权、推理)、标签传播算法
自我训练
思想:假设输出的高度置信的预测都是正确的
自学习算法:从有标签样本中学习 ;对无标签的样本计算预测结果;把加入到有标签数据中,重复以上过程
改进:把加入到有标签数据中时,为每条数据按置信度赋予权重;仅把置信度高的加入到有标签样本中
例子:基学习器KNN;图像识别,图像分类;AlphaGo Zero
优点:最简单的半监督学习方法
是一种wrapper方法,可应用到已有的(复杂)分类器上
经常用于实际任务中,例如,自然语言处理任务中
缺点:早期的错误会强化(解决方案:数据置信度分数低于某个阈值将其标签去掉)
在收敛方面没有保障(也有特例自我训练改进EM算法,有部分如线性函数存在封闭的特殊情况)
多视角学习/协同训练
假设:特征可分裂,相对独立,且训好分类器是充分的
协同训练算法:有标签样本训练两个分类器;这两个分类器对无标签样本预测;将预测结果置信度最高的k个加入到对方的有标签样本中;重复上述步骤
**优点:**简单的wrapper方法,可以被用到已有的各种分类器
相较于自我训练,对错误不那么敏感
**缺点:**自然的特征分裂可能不存在
使用全部特征的模型可能效果更好
生成模型
例子:高斯混合模型、混合多项分布、隐马尔可夫模型
优点:清晰,基于良好理论基础的概率框架
如果模型接近真实分布,将非常有效
缺点:验证模型的正确性比较困难、模型可辨识问题、EM局部最优
半监督SVM
简称直推式SVM
基本假设:来自不同类别的无标记数据之间会被较大的间隔隔开
基本思想:遍历所有种可能的标注,为每一种标注构建一个标准的SVM,选择间隔最大的SVM
基于图的算法
假设:有标注和无标注数据在一个途中,图中被"紧密"连接的点趋向于有相同的标签。即,临近节点应该有相似的标签
常见算法:最小割、标签传播、标签扩散、调和函数法
优点:清晰的数学框架
能够被扩展到有向图
缺点: 图质量差的时候性能差
对图的结构和权重敏感
存储需求大
新样本