「李宏毅机器学习」学习笔记-Semi-supervised
在现实中,半监督学习是很常见的,小孩子第一次见到狗的时候会问父母,知道是狗后,之后再见到类似的动物,就算是没有见过的狗的品种,基本也会认出来是狗。
Semi-supervised Learning for Generative Model
无标注数据有助于重新估计生成模型假设中的参数,从而影响决策边界。算法采用EM算法。
这个算法理论上最终会收敛,但是初始值会影响最后收敛的结果。
EM的每次循环(E步、M步)都让likelihood增加一点,最后收敛在一个local minimum的地方。
Semi-supervised Learning :Low-density Separation
非黑即白 “Black-or-white”
Self-training
这个方法在Regression上是没有用的。
Self-training类似于Semi-supervised Learning for Generative Model是,区别在于:self-training是Hard label,而Semi-supervised Learning for Generative Model是Soft label。
Self-training必须使用Hard label,使用Soft label是不会work的。因为是非黑即白的世界,所以0.7概率认为是class 1,我们就认为它是class 1。
Entropy-based Regularization
Outlook: Semi-supervised SVM
Semi-supervised Learning:Smoothness Assumption
近朱者赤,近墨者黑 “You are known by the company you keep”
假设特征的部分是不均匀的(在某些地方集中,某些地方分散),如果两个特征在高密度区域是相近的,那么二者的标签是相同的。
从下图中可以看出$x^1$、$x^2$虽然距离较远,但是是在一簇里,可以归为一类,$x^2$、$x^3$虽然距离较近,但是明显有一个鸿沟,不能归为一类。手写2,虽然一开始与数字2有一些差距,但能通过很多相似的其他2逐步看出变化,看出二者有联系。但如果单纯算pixel相似度,就很不像。人的左脸与右脸可能差很多,但是如果有各个角度的脸的照片,就能看出是否是一个人的照片。
Cluster and then Label
如果用聚类再标注的方法,你的cluster一定要很强,不然有时候就效果不太好,比如用像素做聚类结果不会很好,因为有的同类不像,有的异类相像。应该先用deep autoencoder抽feature,再做聚类。
Graph-based Approach
也可以用图结构来表示高密度区域,图的建立与结果很关键。
exp指数函数是必要的,可以带来比较好的performance,只有两个点非常靠近的时候,它们的singularity才会大,距离稍微远一点,singularity就会下降很快变得很小。
图结构方法的精神在于,相连的点的相同class几率会上升,所以可以根据label的点推测没有label的点。
用基于图的方法需要data足够多,不然信息传不过去。
$y$就是所有数据串起来的一个向量,$L=D-W$,$W$是两点之间权重的矩阵,$D$是$W$矩阵每行元素和放在对角线的矩阵。
如果想让neural network考虑图的信息的时候,可以将其作为损失函数中的正则项。
算smoothness时候,不一定要算在output地方,可以放在network的任何地方。
Semi-supervised Learning:Better Representation
寻找在表面观察背后隐藏着的更好的表示。
如果本博文对您有帮助,可以赞助支持一波博主~
推荐阅读
- 本文链接:https://blueschang.github.io/2018/12/20/「李宏毅机器学习」学习笔记-Semi-supervised/
- 版权声明:本博客所有文章除特别声明外,均采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 许可协议。转载请注明出处!