半监督学习
1、什么是Semi-Supervised
2、Semi-Surpervised在生成模型中如何实现的(EM算法)
3、Semi-Surpervised基于Low-density Separation(低密度分离)假设是如何实现的
1)Self-training方法
2)Entropy-based Regularization
3)SVM
4、Semi-Surpervised基于Smoothness Assumption(平滑)假设是如何实现的
1)Cluster and then Label
2)Graph-based Approach(KNN算法)
1、什么是Semi-Supervised
举个栗子:现在我们要做一个猫狗分类,
- 如果只考虑labeled data,我们分类的分界线会画在中间;
- 但如果把unlabeled data 也考虑进去,我们可能会根据unlabeled data 的分布,分界线画成图中的斜线;
- semi-supervised learning使用unlabel的方式往往伴随着一些假设,学习有没有用,取决于你这个假设合不合理。(比如灰色的点也可能是个狗不过背景跟猫照片比较像)
2、Semi-Surpervised在生成模型中如何实现的(EM算法)
- 回顾有监督学习中的生成模型,由于data都是有label的,P(Ci)是已知的,P(x|Ci)是通过我们基于高斯分布的假设用最大似然估计出来的;
- 现在半监督学习中的生成模型,data的一部分是unlabel的,P(Ci)是不确定的(隐变量),P(x|Ci)的假设模型也不能套用原来的u等参数,这时候需要用EM算法
EM算法(Expectation-Maximization algorithm,又译为期望最大化算法)
- EM算法适用于带有无法观测的隐变量的概率模型估计
- 第一步,用labeled data算出来的高斯模型参数代入公式去求出unlabeled data的P(C1|x);
- 第二步,用极大似然估计更新P(Ci)以及高斯模型参数,求出P(x|Ci),进一步求出新的(Ci|x),重复这两步直到收敛(似然概率最大)
(至于为什么更新参数是要加入P(Ci|Xu)这一项,是因为EM算法的思想是把不确定的data用一个概率来表示,而每一笔不确定的data都有可能来自C1和C2,看右下图)
3、Semi-Surpervised基于Low-density Separation(低密度分离)假设是如何实现的
1)Self-training方法
2)Entropy-based Regularization
3)SVM
4、Semi-Surpervised基于Smoothness Assumption(平滑)假设是如何实现的
1)Cluster and then Label
2)Graph-based Approach(KNN算法)
李宏毅机器学习笔记08(Semi-Supervised)
原文:https://www.cnblogs.com/xxlad/p/11319040.html