12、Semi-supervised Learning(半监督学习)

在前面的博客中主要介绍的算法全部都是监督学习的算法,接下来的博客将开始介绍半监督学习算法。


目录

半监督学习介绍

半监督学习与监督学习

半监督学习的用处

Semi-supervised Learning for Generative Model

监督学习中的概率生成模型(Supervised Generative Model)

半监督学习中的概率生成模型(Semi-supervised Generative Model)

半监督学习中的概率生成模型算法

半监督学习中的概率生成模型算法解释

Low-density Separation Assumption

扫描二维码关注公众号,回复: 2904988 查看本文章

Self-training

Entropy-based Regularization

Outlook: Semi-supervised SVM

Smoothness Assumption

Cluster and then Label

Graph-based Approach

Better Representation


半监督学习介绍

半监督学习与监督学习

  • 监督学习中的样本\{(x^r,\hat{y}^r)\}^R_{r=1}中的\hat{y}是已知的,所以监督学习算法可以在训练集数据中充分使用数据的信息
  • 半监督学习的样本\{(x^r,\hat{y}^r)\}^R_{r=1},\{x^u\}^{R+U}_{u=R}中只有R个样本的\hat{y}是已知,U个样本的\hat{y}未知,且通常U远大于R
  1. Transductive learning :将未知标签的数据作为测试集数据(用了未知标签的数据的feature)

  2. Inductive learning:未知标签的数据不作为测试集数据

半监督学习的用处

一个直观的例子,假设蓝色点代表“猫”,橙色点代表“狗”,灰色点代表未知标签的点,尽管灰色点的标签未知,但是也能帮助我们构建模型。

 

Semi-supervised Learning for Generative Model

监督学习中的概率生成模型(Supervised Generative Model)

在监督学习中,可以之间计算样本中的类别比率、先验分布,从而计算出后验概率。

半监督学习中的概率生成模型(Semi-supervised Generative Model)

假设绿色为未知标签的数据,蓝色、橘色各表示一类,此时由已知标签的样本数据估计出来的u^1,u^2,\Sigma显然是不合理的,以已知标签样本计算P(C_1)>P(C_2),而如果考虑未知标签的样本数据则有可能P(C_1)<P(C_2),因此半监督学习中的概率生成模型要比监督学习中的概率生成模型要复杂得多。

半监督学习中的概率生成模型算法

  1. 初始化\theta := P(C_1),P(C_2),u^1,u^2,\Sigma
  2. 根据\theta的条件计算出给定一个未知标签数据属于C_1类的概率P(C_1|x^u)
  3. 按照下图蓝色框部分公式更新P(C_1),u^1
  4. 返回第2步直到收敛

算法可以得到收敛解,但是初始值不同可能导致得到的是局部最优解。

半监督学习中的概率生成模型算法解释

如果在监督学习中,训练数据都是已标记的数据,则算法的目的就是极大化最大似然函数;但是在半监督学习中,还有一部分没有标记的数据,对这些未标记的数据的P_{\theta}(x^u)使用全概率公式计算得出,对这样的极大似然函数求解最大值的过程即上述的步骤。

Low-density Separation Assumption

现在给定一个假设,不同lable之间存在着明显的差别。

Self-training

Self-training是Low-density Separation最简单的代表,如图,现在有R个已标记的样本,U个未标记的样本

  1. 使用R个已标记的样本利用监督学习的算法训练出最优的模型f^*
  2. 使用模型f^*对U个已标记的样本进行标记
  3. 从这U个样本中(已经带有了预测的标记)挑出一部分加入R个已标记的样本
  4. 重复1到3直到收敛(此时的已标记的样本包含R个已标记的样本和从第3步挑选出的样本)
  • 这一算法在回归上没有用处
  • 很类似上述的半监督学习中的概率生成模型算法,区别在于这一算法使用的是hard label(要么是1要么是0),而后者则使用的是soft label(样本属于每个label的概率)

Entropy-based Regularization

Entropy-based Regularization 是Self-training的进阶版本,估计x^u此时不是直接得到label而是得到关于label的分布(假设分布很集中,否则不符合Low-density 的假设),此时就是求解L的极小值。

Outlook: Semi-supervised SVM

如图,蓝色、橘色为已标记的两类样本,灰色为未标记样本,此时Semi-supervised SVM会穷举所有的可能(2^4种),对每一种可能都算一个SVM模型,选取margin最大且误差最小的模型。

Smoothness Assumption

现在给定一个假设,相似的xy也相似,更准确地表述是,x^1x^2在密度高的地方相近,则y^1y^2更相似(x^1x^2可以用high density path做连接)。如图,尽管x^3x^2在图形上比较相近,但是考虑密度分布之后x^1x^2更接近。

Cluster and then Label

Cluster and then Label是在Smoothness假设下的简单算法,对所有的数据进行聚类,得到3个cluster,cluster1中的class1最多,所以cluster1里的数据都算class1,同理cluster2、cluster3都算class2。

Graph-based Approach

每个样本都是图上的一个点,先算出点之间的相似性,把它们之间的联系建立起来(如图),此时Smoothness假设就体现在能够连通的点是同一类。

Graph-based Approach具有传染性,如图中蓝色样本和红色样本将使得各自所连通的整个graph都是蓝色/红色

Graph-based Approach的难点在于怎么建立样本之间的联系,有些情况这是很简单的,比如网页与网页之间、论文的引用被引用,对于无法直观联系的数据,我们可以通过以下计算构建graph。

  • 计算x^i,x^j的相似性s(x^i,x^j)
  • 添加edge(KNN即选择最近的k个点,eN选择半径e以内的所有点)

定量的描述smooth的程度(越小越平滑):

可以进一步使用矩阵的形式简化上述的计算思路,W矩阵中国w_{ij}表示x^ix^j的权重,D是一个对角矩阵,为W的行加总:

 

Better Representation

要善于贯彻,从事物的外在变化寻找内部的潜在因素

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_17438303/article/details/82081486
今日推荐