浅谈机器学习之——半监督学习

机器学习之——半监督学习
继上周汇报了SVM支持向量机的相关内容后,本周的学习重点转到半监督学习。下面是我学得的一些心得体会,与各位分享一下,还是那句话,希望各位大佬在看过文章后觉得哪里有问题或者有更好的学习思路,还望不吝赐教。

半监督学习

  • 1、Motivation
    • 1.1、The era of Big-Data
    • 1.2、This is similar to our learning process
  • 2、What is Semi-Supervised learning?
  • 3、How did Semi-Supervised learning work?
    • 3.1 Assumption
      • 3.1.1 平滑假设
      • 3.1.2 聚类假设
      • 3.1.3 流形假设
    • 3.2 生成式方法
    • 3.3 半监督SVM
  • 3、Development

1、Motivation

1.1、The era of Big-Data

信息技术的快速发展催生了大量纷繁复杂的数据。而我们想要使用这些数据,就必须人为的甚至用专家领域知识;来对其进行标注。但对这些大量的数据进行标注,费时费力代价过大。因此,这也就造成了虽然我们拥有的数据很多,但是被标注的带有标签的数据却很少。例如,医学图像处理的过程中,图像本身的数量是很多的,但是要准确的标记处病灶就需要专家的知识来完成这件事。但是,显然,在现实应用中这是不太现实的。在这种情况下,传统的监督学习效果很差,自然而然的半监督学习就在这种情况下产生了。

1.2、This is similar to our learning process

半监督学习和我们人类固有的学习方式类似。例如,可能小时候你的爸爸妈妈告诉过你,狗是什么样子的,但是对于不同种类的狗,并不是每一种都有人告诉过你。但是,出现一张你从未见到的狗的照片的时候,你还是能够分辨出来。

2、What is Semi-Supervised learning?

对于我们所熟知的监督学习就是利用有标注的数据集来进行训练。而无监督学习所用的训练集就是完全无标记的。半监督学习介于二者之间——训练集有少部分经过标注,大部分数据未经过标注。而半监督学习的工作就是利用少部分标注的数据集来获得相关的先验知识,更好的利用未标注数据集进行相关训练,从而获得较好的学习效果。

3、How did Semi-Supervised learning work?

3.1 Assumption

在介绍详细的算法之前,我们先要清楚,几个我们在算法的设计实现过程中所要依赖的假设:

3.1.1 平滑假设

位于稠密数据区域的两个距离很近的样例的类标签相似。或者说,当两个样例被稠密数据区域中的边连接时,它们有相同的类标签的概率要大;相反的,当两个样例被稀疏数据区域分开始,它们的类标签趋于不同

3.1.2 聚类假设

当两个样例位于同一聚类簇时,它们有相同类标签的概率很大。这个假设的等价定义为:低密度假设(Low Density Separation Assumption), 即分类决策边界应该穿过稀疏数据区域,而避免将稠密区域的样例分到决策边界

3.1.3 流形假设

将高维数据嵌入到低维流形中,当两个样例位于低维流形中的一个小局部区域内时,它们具有相似的类标签。
这三种假设的本质其实就是,相似的输入拥有相似的输出。只有基于这个标准,我们接下来的讨论才是有意义的。

3.2 生成式方法

第一种我们要介绍的算法就是基于生成式模型的生成式方法。
我们先来简要的介绍一下生成式模型:生成式模型学习的是联合概率密度,它可以从统计的角度表示分布的情况。能够反映同类数据本身的相似度。它不关心到底划分不同类别的边界在哪里。生成式模型的学习收敛速度快,当样本容量增加时,学习到的模型可以更快的收敛到真实模型。当存在隐变量时依旧可以使用生成式模型。即对联合概率建模,学习所有数据的分布。
说到生成式模型,这里我们就不得不谈到机器学习的另一大主流模型——判别式模型。
与生成式模型学习联合概率密度不同的是,判别式模型认为获得y基于x的条件分布是关键的。给定某个特定的x,对应的p(y|x)最大的y为决策的结果。因此,关键是找到p(y|x)的表达形式。即对条件概率建模,学习不同类别的差别。
回到生成式模型,将生成式模型应用到半监督学习中,就是我们接下来要介绍的生成式方法;
生成式方法(generative methods)是基于生成式模型的方法,即先对联合分布P(x,c)建模,从而进一步求解 P(c | x),此类方法假定样本数据服从一个潜在的分布,因此需要充分可靠的先验知识。例如:前面已经接触到的贝叶斯分类器与高斯混合聚类,都属于生成式模型。现假定总体是一个高斯混合分布,即由多个高斯分布组合形成,从而一个子高斯分布就代表一个类簇(类别)。高斯混合分布的概率密度函数如下所示:

浅谈机器学习之——半监督学习_第1张图片

不失一般性,假设类簇与真实的类别按照顺序一一对应,即第i个类簇对应第i个高斯混合成分。与高斯混合聚类类似地,这里的主要任务也是估计出各个高斯混合成分的参数以及混合系数,不同的是:对于有标记样本,不再是可能属于每一个类簇,而是只能属于真实类标对应的特定类簇。

浅谈机器学习之——半监督学习_第2张图片

直观上来看,基于半监督的高斯混合模型有机地整合了贝叶斯分类器与高斯混合聚类的核心思想,有效地利用了未标记样本数据隐含的分布信息,从而使得参数的估计更加准确。同样地,这里也要召唤出之前的EM大法进行求解,首先对各个高斯混合成分的参数及混合系数进行随机初始化,计算出各个PM(即γji,第i个样本属于j类,有标记样本则直接属于特定类),再最大化似然函数(即LL(D)分别对α、u和∑求偏导 ),对参数进行迭代更新
浅谈机器学习之——半监督学习_第3张图片
当参数迭代更新收敛后,对于待预测样本x,便可以像贝叶斯分类器那样计算出样本属于每个类簇的后验概率,接着找出概率最大的即可:
浅谈机器学习之——半监督学习_第4张图片
可以看出:基于生成式模型的方法十分依赖于对潜在数据分布的假设,即假设的分布要能和真实分布相吻合,否则利用未标记的样本数据反倒会在错误的道路上渐行渐远,从而降低学习器的泛化性能。因此,此类方法要求极强的领域知识和掐指观天的本领。

3.3 半监督SVM

说完了生成式方法,接下来我们就要将判别式模型应用到我们的半监督学习中——半监督支持向量机。
支持向量机的内容在我前面的博客已经有了一个初步的介绍。即找到一个最大间隔的划分超平面将两个类别以一个很好的准确率将其分开。而将其应用到我们的半监督学习中,其实它的关键就是对无标记样本的处理,如何很好的应用大量的无标记样本,使其能够训练得到的分类器有一个很好的分类效果。
这里我们首先的解决思路就是一个穷举的方法。对每一个无标记样本都有两种分类情况——positive or negative。我们可以赋予这些无标记样本一个伪标记,即对每一个样本点,先假设其为postive,再假设其为negative。但这样做的效率太低了。数据量过大的时候,这样做,是不现实的。
因此我们可以先用有标记样本初始化一个分类器,用它初步的划分出两个类别,然后交换其中最有可能被判错的几对样本点。基于这些伪标记的样本点,再重新训练一个分类器。然后重复这个过程,直到每一个样本点都很好的判别。

3、Development

在半监督学习的发展过程中,还发展出基于图论的图半监督学习算法和图卷积半监督学习算法以及接下来我们要介绍的基于分歧的半监督学习算法。
基于分歧的半监督学习算法其实就是一个集成了多个学习器的算法。
首先,我们按照有监督学习的相关算法,对部分有标记样本初始化一个分类器。然后用这个分类器去划分我们的无标记样本,将划分结果作为伪标记。然后再基于不同的算法以及这些具有伪标记的样本(这里我们将伪标记作为类别标识进行训练)。再次得到一个分类器,然后再用这个分类器去分类我们的无标记样本,再次得到一批具有伪标记的样本。然后将其放到我们的第一个分类器中去再次训练。优化我们的学习器,在用这个学习器去分类我们的无标记样本。。。。重复上述迭代过程。直到两个分类器对无标记样本的划分不在发生变化或者达到相应的迭代轮数。
ok,这篇对半监督学习的简要介绍文章就讲到这里了,如果有什么疑问可以发到评论区,我们一起探讨交流。如果有幸哪位大佬看到这篇文章,还望驻足留步,给在下提一些宝贵的意见或者建议。在此谢过了!

你可能感兴趣的:(机器学习,机器学习,人工智能,深度学习)