文章目录
半监督学习使用大量的未标记数据,以及同时使用标记数据,来进行模式识别工作
• Supervised learning:
- 有样本标记学习
•Semi-supervised learning:
- A set of unlabeled data, usually U >> R , 未知label的data数大于已知label的样本
- Transductive learning: unlabeled data is the testing data
- Inductive learning: unlabeled data is not the testing data
• Why semi-supervised learning?
- Collecting data is easy, but collecting “labelled” data is
expensive - We do semi-supervised learning in our lives
semi-suppervised learning 常常伴随一些假设
假设有没有用, 取决于假设是不是合理的。
概要
1. Semi-supervised Learning for Generative Model
监督式生成模型用模拟高斯分布计算mean和方差,使likelihood最大 | 绿色的点是unlabel data,会影响对参数的估测, boundary 不同 |
---|---|
原来P(C1) = N1/N. 现在有unlabel data, 加上所有unlabel data 属于c1 几率的和, μ 1 ,μ 2 , Σ 也如此考虑unlabel data计算,然后更新数据, 带入到step1, 继续计算和收敛。初始值会影响到收敛结果。 | 所有training data 的 likelihood加起来。 有unlable data 的情况下, 加上unlabel data的出现几率。每次循环会让 logL()增加一点, 最后收敛。 |
Likelihood of a Gaussian with mean μ and covariance matrix Σ
= the probability of the Gaussian samples x 1 , x 2 , x 3 , … ,x 79
EM最大期望算法(Expectation-maximization algorithm,又译为期望最大化算法),是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐性变量。
最大期望算法经过两个步骤交替进行计算,
第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;
第二步是最大化(M),最大化在E步上求得的最大似然值来计算参数的值。M步上找到的参数估计值被用于下一个E步计算中,这个过程不断交替进行。
这里的EM算法, 可以参考下面链接,
这个抛硬币的例子
2. Semi-supervised Learning Low-density Separation 低密度分离,非黑即白
用已知的label data 去train model。 计算出unlabel的 label。从unlabel data里面放一部分到label data里面 在去train regression 不能用这招。 | soft label不起作用, 在low density的假设里面用hard label |
希望mode 的unlabel data entropy 越小越好,确定L, 然后算微分,gradient descent minimize L。 | SVM 穷举所有unlabel data, 对每个可能结果做svm, 然后选择boundary 使得margin最大, error最小 |
3. 平滑假设 Semi-supervised Learning Smoothness Assumption 近朱者赤,近墨者黑
近朱者赤,近墨者黑
“You are known by the company you keep”
假设。 x分布有些地方密集,当x1,x2, 在分布密集区域很接近, 可以认为他们same。 | 手写数字辨识,2,3 有点像, 如果看更多的data,2~2之间有很多过度形态。 |
---|
方法 cluster , graph-based approach
把所有数据做cluster,分cluster。这个方法不一定有用,cluster要很强。 | 把所有datapoint 做成graph,两个点相连就是graph |
---|---|
graph 很多种, 最近,相似度大于某个值, 可以用RBF 计算相似度,RBF 下降快,每比data会影响他的邻居,传播同一个class | 计算smoothness, 判断graph平滑度, s越小与好。 例子里面,weight有一样, label不同。计算s左边更滑 |
计算s方程简化, 忽略证明过程。y展开成vector, 包括label 和 unlabel的 data | Loss 计算, minimize Cross 和 smoothness ,用gradient descent。算smoothness 可以放在network 任何地方 |
4. Semi-supervised Learning Better Representation 去蕪存菁,化繁為簡
詳細部分放在 unsupervised learning
• Find the latent factors behind the observation
• The latent factors (usually simpler) are better representations