机器学习 西瓜书 Day17 半监督学习

p293 - p319
啊好困 = =
昨天倒是很早滚上床了
就是失眠了:)
大概也是三点多才睡着吧
所以今天也要努力早睡!
不废话了,进入第13章,但愿这章有意思点。

第13章 半监督学习

13.1 未标记样本

主动学习

拿少量数据训练一个模型,拿这个模型去挑瓜。然后询问瓜农这个瓜好不好。
这样挑少量的瓜,用很少量的专业知识就能获得不错的模型。
显然这样引入了额外信息

半监督学习

不依赖外界交互,自动利用未标记样本。

事实上,未标记样本虽然没有标记,但如果他们是和有标记样本是从同样的数据源独立同分布采样而来,那对训练是大有裨益的,因为可以获得和分布有关的信息。

常见的假设:聚类假设,流形假设(聚类假设的推广)。

纯半监督学习

利用有标记数据A与未标记数据B来预测其他的数据C

直推学习

利用有标记数据A与未标记数据B来预测未标记数据B

13.2 生成式方法

直接基于生成式模型的方法。
此类方法假设所有数据(无论有无标记)都是由同一个潜在的模型生成的。
未标记数据可以当做“缺失参数”

可基于EM算法进行求解。详细过程见p295 - 298

13.3 半监督SVM

半监督SVM,简称S3VM

若不考虑未标记样本,S3VM试图找到最大间隔划分超平面。

考虑未标记样本,S3VM试图找到能将两类有标记样本分开
且穿过数据低密度区域的划分超平面。
显然这里基于了“低密度分隔”假设

S3VM中最著名的是TSVM
TSVM试图考虑对未标记样本进行各种可能的标记指派,即尝试将样本都标起来,然后在所有结果中寻求一个在所有样本上间隔最大化的划分超平面。
超平面确定了,对应的指派的标记就是结果。
显然这样效率低,只适合数据量较少时。

TSVM采用局部搜索来迭代求解。
见p300 图13.4算法伪码

所以说半监督SVM研究的一个重点是如何设计出高效的优化求解策略,如基于图核函数梯度下降的LDS、基于标记均值估计的meanS3VM。

13.4 图半监督学习

一个数据集,可以映射成一个图。若两个样本之间相似度很高,那么节点间存在一条边,边的‘强度’正比于样本之间的相似度。
我们可将有标记样本所对应的节点视为染过色,未标记视为没染过色。
变成了一个颜色传播或扩散的过程。

定义高斯函数来决定边。
定义能量函数,能量函数最小化时得到最优结果。

算法详细过程见p301-304
算法伪码见p303 图13.5

考虑到有标记很少,未标记很多,容易过拟合。
可加入L2范数项。

13.5 基于分歧的方法

使用多学习器。
学习器之间的“分歧”是重点。

“协同训练”是重要代表。最初是针对“多视图”数据设计的。

一个数据对象往往同时拥有多个“属性集”,每个属性集就是一个“视图”。
如图像画面属性集、声音信息属性集。

假设不同视图具有相容性,即他们所预测的结果集是相同的。
这时如果同时考虑两个属性集,有时效果就很好。
比如画面+声音

假设数据独立且充分。
首先在每个视图上训练一个学习器。
然后让每个分类器挑出自己最有把握的未标记样本赋予“伪标记”
把伪标记样本拿去给其他学习器训练更新。
这样互相学习互相进步直至收敛。

过程看似简单,但若两个视图充分且独立,则精度可以任意高

协同训练本身是为多视图数据设计的,但后来也出现了能在单视图数据上使用的变体算法。

协同训练算法伪码 p306 图13.6

13.6 半监督聚类

聚类本身是无监督学习的代表,但现实中我们有时是有监督信息的。

监督信息大致两种类型:
1)“必连”与“勿连”约束。即有些必属于一个族、或必不属于一个族
2)少量有标记样本(指簇标记)。

针对第一种监督信息,约束k均值算法。即训练过程中保证约束。
伪码p307 图13.7

针对第二种监督信息,约束种子k均值算法

半监督是非常常用的思想。

你可能感兴趣的:(机器学习 西瓜书 Day17 半监督学习)