Semi-supervised Learning
前沿
监督学习:所有数据都有标签
半监督学习:
* 仅有部分数据有标签,且通常情况下,U是为标注的数据。
* Transductive learning:unlabeled数据作为测试数据。
* Inductive learning:unlabeled数据并不是测试数据。
为什么要做半监督学习?
* 收集数据很容易,但是收集有标签的数据很难
* 人类在日常生活中会做半监督学习
Semi-supervised Learning for Generative Model
步骤
-
初始化参数
-
Step 1: 计算无标签数据的posterior probability
-
Step 2: 更新模型
N: 样本总数
: 属于C1的样本数
所有属于类别1的data进行平均。 -
step3: 反复进行1,2步,进行模型训练。
原理
-
在有标签数据上最大似然估计
-
在有标签和无标签的数据上进行最大似然估计
Low-density Separation
假设数据是非黑即白的,0和1样本之间,从分布上看应该会有一条较明显鸿沟。
Self-training:
- 在labeled data上训练一个模型
- 将unlabeled data喂入该模型,得到Pseudo-label
- 取unlabeled data加入到labeled data
该方法无法用到回归任务上。
对于神经网络的方法,用soft label是没用的。
Entropy-based Regularization
用entropy对输出进行正则,因为假设是非黑即白,我们期望输出每个类的概率是较大的,而不是每个类的概率相似。
Smoothness Assumption
近朱者赤近墨者黑
"similar" x has the same
更精确的假设:
- x的分布不是均匀分布
- If and are close in a high density region and are the same.
和标签不同,虽然他们比较相近,但是中间没有high density region。
Cluster and Label
Graph-based Approach
Represented the data points as a graph
对于没有明显图结构的数据,如何构建图?
- 定义两个样本间的相似度
- 增加边
- KNN(K Nearest Neighbor)
- e-Neighborhood
- 边的权重与相似度成正比
Gaussian Radial Basis Function:
步骤
- Define the smoothness of the labels on the graph (定量地描述一个图是否是smoothness的)
对于所有数据计算下列式子。
y: (R+U)-dim vector
L: (R+U)-dim matrix
L = D - W
W是边权重矩阵,D是将W的每行相加得到的对角矩阵。
最后的损失函数可以定义为: