# 半监督学习(semi-supervised learning)
1 introduction
- why semi-supervised learning?
收集数据很贵,收集有标签的数据更贵!
- superviesd: D={(xi,yi)}Ni=1
- semi-supervised:
D={(xi,yi)}Mi=1∪{xu}Nj=M+1
,通常N
≫
M
- 转导推理——Transductive Learning:无标签数据就是测试数据
- 归纳学习——Inductive Learning:无标签数据不是测试数据
2 Generative model
initialzation: θ={P(C1),P(C2),μ1,μ2,∑}
- step 1:计算无标签数据的后验概率 Pθ(C1|xu)
step 2:更新模型
P(C1)=N1+∑xuP(C1|xu)N , N1 是属于第一类的实例的个数, μ1=1N1∑xi∈C1xi+1∑xuP(C1|xu)∑xuP(C1|xu)xu
回到step 1
maximum likelihood with labelled data:
- logL(θ)=∑xilogPθ(xi,yi)
- Pθ(xi,yi)=Pθ(xi|yi)P(yi)
- maximum likelihood with labelled + unlabelled data:
- logL(θ)=∑xilogPθ(xi)+∑xulogPθ(xu)
- Pθ(xu)=Pθ(xu|C1)P(C1)+Pθ(xu|C2)P(C2)
3 Assumption
Low-density Separation:分离超平面处数据密度小
- Self-training:1、从有标签数据中学习一个模型 f∗ ;2、应用 f∗ 在无标签数据上得到标签(Pseudo-label);3、从原先无标签数据中取出一些数据加入有标签数据集;4、重复之前的步骤
- Hard label v.s. soft label: [0.7,0.3]T→[1,0]Tor[0.7,0.3]T ,soft label没有用!hard label就是用了low-density seperation的假设。
- Entropy-based Regularization:计算分布的熵来表示分布的集中还是分散, E(yu)=−∑m=1Mymuln(ymu) ,熵越小越集中,越大越分散。
- L=∑xiC(yi,ŷ i)+λ∑xuE(yu)
- semi-supervised SVM:穷举所有可能的无标签数据
Smoothness Assumption:特征接近的数据(在高密度区域若两个数据接近),那么它们有相同的标签
- Cluster → label
- Graph-based Approach:1、定义 similarity,例如 s(xi,xj)=exp(−γ||xi−xj||2) ;2、添加边:例如KNN/e-neighborhood
- 定义图的smoothness:
S=12∑i,jwi,j(yi−yj)2=yTLy
,
y=[…,yi,…yj,…]T
L:N∗N,L=D(W)−W 矩阵, - L=∑xiC(yi,ŷ i)+λS
4 Better Representation
- 找到观察到的事物背后的latent factors(潜在因子),这些东西之后才是better representation
- 待续……