半监督学习(Semi-supervised Learning)


简介

  • 我们有两组训练样本集,$D_l$为有标签样本集,$D_u$为无标签样本集,在监督学习中,我们只能使用$D_l$来训练样本,无法使用$D_u$,这样就造成的数据的浪费,而且可能会因为$D_l$的样本空间不足而导致,模型的泛化能力不好
  • 解决这种问题我们可以用一下几种方法
    • 将$D_u$中的样本全部打上标签
    • 主动学习:用$D_l$先训练出一个模型,然后从$D_u$内取出一个样本为其打上标签,然后放入$D_l$中重新训练模型
  • 但是我们可以不依赖外界交互,自动的利用未标记样本来提升学习性能,这就是半监督学习

生成式模型(Generative Model)

  • 假设样本由高斯混合模型生成,那么每个类别对应一个高斯分布
    • 我们先初始化一组参数$\theta=\{P(C_1),P(C_2),\mu^1,\mu^2,\Sigma\}$
    • 先计算每个未标记的数据属于某一类别的后验概率概率$P_\theta(C_1|x^u)$(E-step)
    • 更新模型(M-step)
      • $P(C_1)=\dfrac{N_1+\sum_{x^u}P(C_1|x^u)}{N}$
      • $\mu^1=\dfrac{1}{N_1}\sum\limits_{x^r\in C_1}x^r+\dfrac{1}{\sum_{x^u}P(C_1|x^u)}\sum\limits_{x^u}P(C_1|x^u)x^u$
    • loop

低密度分割(Low-density separation)

自学习(Self-training)

  • 即简介中提到的主动学习
  • 使用NN来训练模型,根据现有的参数$\theta^*$得到新的target要做为Hard Label来处理(即为低密度分割思想,“非黑即白”)

Entropy-based Regularization

  • 我们要求输出的概率分布要非常集中,所以用(Entropy)来评估这个distribution的好坏
    • 假设我们有5个class,那么$E(y^u)=-\sum\limits_{m=1}^{5}y^u_mln(y^u_m)$越小越好
    • 损失函数$L=\sum\limits_{x^r}C(y^r,\hat{y}^r)+\lambda\sum\limits_{x^u}E(y^u)$

半监督SVM

  • 后期补充

平滑假设(Smoothness Assumption)

  • 假设$x$分布不是平均的,那么如果$x^1,x^2$在一个高密度分布中距离很近,就说$y^1,y^2$很“像”,这种思想可以成为“近朱者赤近墨者黑”

图半监督学习

  • 给定一个数据集,我们可以将其映射为一个图,数据集中每个样本对应图中的一个结点,若两个样本之间的相似度$s(x^i,x^j)$很高,则对应结点之间存在一条边
    • 结点之间的边有多种连接方式
    • K Nearest Neighbor 每个结点与周围K个相似度高的结点相连接
    • e-Neighborhood 每个结点与和它相似处超过某一个范围的结点相连(某个圆周)
    • $s(x^i,x^j)=exp(-\gamma\lVert{x^i-x^j}\rVert^2)$用exp函数的原因可以由其图像得出
  • 平滑度(Smoothness)$S=\dfrac{1}{2}\sum\limits_{i,j}w_{i,j}(y^i-y^j)^2=y^TLy$
  • $L=D-W\quad D$是两两结点之间weight的矩阵,$W$是连接某个结点的weight和的矩阵