半监督学习

半监督学习及正则化

  • Entropy-based Regularization
    • Assumption: Low density separation
  • Graph-based Regularization
    • Assumption: Smothness

Entropy-based Regularization

这种半监督学习的假设是“Low density separation”,即假定不同类别间有明显的区别,也就是说两个类别间只有很少的样本或类别将的样本密度非常低(类似于SVM这种大间隔分类器找到的类别)。

因为类别间有明显区别,所以在利用未标注数据进行学习时,我们需要使用“Hard-label”。即若未标注数据被分类于某一类的概率比较大时,我们需要将该数据点分配为这一类别。因为若保留未标注数据点属于各个类别的概率(生成模型使用这种“Soft-label”),那么它对于模型是没有贡献的。为了量化这种想法,我们可以引入信息熵来衡量未标注数据可能类别的集中度。

在我们使用神经网络的时候,未标注数据的类别应该非常集中,即属于某个类别的概率非常大,而属于其它类别的概率非常小。因此我们引入信息熵衡量类别分布的集中度,且分布越集中,信息熵越小。若我们有样本 $i$ 的信息熵表达式:

$E(y^i)=-\Sigma_{j=1}^my_j^i\ ln(y_j^i)$ ,其中 m 为可能的类别数。

我们可以根据上式改写损失函数为:

$L = \Sigma_{x^i} cross_entropy(y^i, \hat{y}^i)+\lambda\ \Sigma_{x^j} E(y^j)$,其中 $x^i$ 为有标注数据,$x^j$ 为无标注数据。

我们加入未标注数据的信息熵以希望它越小越好,而 $\lambda$ 衡量了未标注数据对模型的影响。后一项可以看成一种正则项,它与 L2 正则化和 L1 正则化的不同点在于,基于信息熵的正则化使用未标注数据防止模型过拟合。

这种方法的应用可参考半监督SVM(机器学习, 周志华, P298)

Graph-based Method

基于图的方法假设类别是“平滑的”。具体来说,若 $X$ 的分布是非均匀的,那么如果 $x^1$ 和 $x^2$ 在高密度区域是相近的(由高密度路径相连接),则 $\hat{y}^1$ 和 $\hat{y}^2$ 就相同。具体来说基于图的方法将所有的数据点表征为一个图,那么在建立图的基础上,高密度路径指的是一个数据点沿着边能走到另一个数据点。

首先是图的构建,一般我们可以计算数据点 $x^i$ 和 $x^j$ 之间的相似度 $s(x^i,x^j)$ ,然后采用K Nearset Neighbor 或 e-Neighborhood 给数据点之间添加边。K Nearset Neighbor 表示只连接最相似的K个数据点,而 e-Neighborhood表示只有相似度大于e才能产生连接。此外,我们还可以根据数据点之间的相似度给它们之间的边加权而构建整个图(这种方法一般使用 RBF,因为指数项可以保证只有较近的数据点有较强的连接)。

在半监督学习中,基于图的方法认为与有标注数据直接连接的数据应该也有相同的标注,即标注数据可以影响图中的近邻。且这种影响会随着图的边传递,也就是说标注数据会影响所有有路径相连的未标注数据。

基于图的方法首先需要定义整个图中,标注的平滑度。一般的计算式可以表示为 $S=\frac12\Sigma_{ij}\ w_{ij}(y^i-y^j)^2$,其中 $w_{ij}$ 代表两个数据点间的连接强度,而 $y^i-y^j$ 则判断两个数据点的标注是否一致。若连接权重越大且标注不一致,那么图就越不平滑。若我们将标注数据的 $y^l$ 与未标注数据的 $y^u$ 结合为向量 $y$,那么上述平滑度可以表示为 $S = y^TLy $ ,其中 L 代表Graph Laplacian 矩阵。

同样,我们希望图的平滑度越高越好,且S的值取决于神经网络的参数(未标注数据依赖于神经网络的推断)。因此我们可以将损失函数改为:

$L = \Sigma_{x^i} cross_entropy(y^i, \hat{y}^i)+\lambda\ S$,其中 S 为以上定义的平滑度。

上式的最后一项同样类似于正则化项,我们不仅需要令预测与标注之间的误差减小,同时还需要令标注数据与未标注数据都符合标注间平滑的假设。(未完)