《机器学习高频面试题详解》3.1:半监督学习
点击上方卡片链接就可以进入专栏,专栏右上角有订阅选项,欢迎大家订阅~
前言
大家好,我是鬼仔,今天带来《机器学习高频面试题详解》专栏的第三章内容:半监督学习。第一节主要涉及核心概念、基本算法和原理,第二节会重点讲述有代表性的半监督学习算法:PUlearning。
这是鬼仔第一次开设专栏,每篇文章鬼仔都会用心认真编写,希望能将每个知识点讲透、讲深,帮助同学们系统性地学习和掌握机器学习中的基础知识,希望大家能多多支持鬼仔的专栏~
目前这篇是试读,后续的文章需要订阅才能查看哦,专栏预计更新30+篇文章(只增不减),具体内容可以看专栏介绍,大家的支持是鬼仔更新的动力!
本文大纲 |
|
一、原理 |
1. 应用场景 |
2. 三大基本假设 |
|
3. 算法分类 |
|
二、面试真题 |
1. 半监督学习中,如何解决维度诅咒现象? |
2. 半监督学习中,常用的自训练算法有哪些? |
|
3. 半监督深度学习有哪些常用方法? |
|
4. 半监督学习在实际应用中存在哪些问题? |
|
5. 半监督学习的优缺点? |
一、原理
1. 应用场景
在实际业务中,样本数据需要请专门的审核人员进行标注,成本很高,而且很多任务很难获得如全部真实标签这样的强监督信息。所以,算法同学获得的数据往往缺乏有效的标签。半监督学习的提出就是为了解决此类问题。
半监督学习可以自动地利用未标记样本来提升学习性能,而不需要依赖外界交互。即使在少量样本标签的情况下,也可以充分利用大量无标签样本来提高学习性能,避免了数据资源的浪费。同时,半监督学习可以解决有标签样本较少时监督学习方法泛化能力不强和缺少样本标签引导时无监督学习方法不准确的问题。
半监督学习的意义在于:
1)节省标记数据的成本。标记数据的获取和标记是非常耗时和昂贵的,利用未标记数据可以减少标记数据的需求和成本。
2)提高模型的泛化能力。利用未标记数据可以提高模型的泛化能力,因为未标记数据可以提供更多的信息和更广泛的数据分布。
3)提高分类准确率。利用未标记数据可以提高分类准确率,因为未标记数据可以提供更多的信息和更广泛的数据分布。
2. 三大基本假设
与只使用带标签数据的有监督学习相比,半监督学习还使用了未标记的数据,要想因此获得更准确的预测结果,首先需要满足一个先决条件:未标记数据必须是有意义的,具有潜在价值的样本而非无用的噪声样本。同时半监督学习还需要满足以下几个基本假设:
1)平滑假设
如果两个数据点在低维空间中很接近,那么它们在高维空间中也很可能属于同一类别。这个假设可以用来设计半监督学习算法,例如基于图的半监督学习算法。
基于图的半监督学习算法利用未标记数据和标记数据构建一个图,其中每个节点表示一个数据点,边表示两个节点之间的相似度或距离。然后,通过在这个图上进行流形学习或半监督分类,来预测未标记数据的标签。
2)聚类假设
如果样本点在同一簇中,它们很可能属于同一类。实际上,聚类假设是平滑假设的一种特殊情况。在平滑假设中,样本不一定要形成明显的簇,例如整个样本空间都是稠密且均匀的情况下,就没有聚类簇的概念。只有当样本空间中形成明显的簇时,聚类假设才会发挥作用。
3)流形假设
当特征维度不断增加时,距离度量的计算很容易就失效,此时密度和距离的概念趋于无效,则上述两大假设难以成立,而流形假设主要内容即假定如果高维样本恰好可以映射到一个低维的流形结构上,此时在低维的流型空间中,前两大假设仍旧是可以成立的。
3. 算法分类
1)self-training(自训练算法)
一种简单而有效的半监督学习方法。它的基本思想是使用已经标记的数据训练一个分类器,然后使用这个分类器对未标记的数据进行分类,将分类器对未标记数据的分类结果作为标记数据,将这些数据加入到已标记的数据集中,然后重新训练分类器。这个过程不断迭代,直到分类器的性能不再提高或者达到预设的迭代次数为止。
self-training算法的优点是简单易用,不需要复杂的模型和算法,而且可以利用未标记的数据来提高分类器的性能。但是,它也存在一些缺点,例如可能会出现错误传播的问题,即分类器对未标记数据的分类结果可能是错误的,这些错误标记会影响后续的训练,导致分类器性能下降。
为了解决这个问题,可以采用一些改进的self-training算法,例如加入阈值控制、利用置信度筛选可靠的未标记数据等方法,来提高分类器的性能和鲁棒性。同时,self-training算法也可以与其他的半监督学习方法结合使用,例如基于图的半监督学习方法、基于生成模型的半监督学习方法等,来进一步提高分类器的性能。
2)Graph-based Semi-supervised Learning(基于图的半监督算法)
基于图的半监督学习算法是一类常见的半监督学习方法,它的基本思想是通过构建一个图来表示数据之间的相似性或关系,然后利用图上的标记信息和未标记信息进行学习。
基于图的半监督学习算法可以分为以下几类:
- 基于标签传播的算法:该算法基于一个假设,即相似的数据点在标签空间中也应该是相似的。它通过构造图结构(数据点为顶点,点之间的相似性为边)来寻找训练数据中有标签数据和无标签数据的关系。它将标记信息在图上进行传播,来预测未标记数据的标签。基于标签传播的算法包括标签传播算法、半监督谱聚类算法等。
- 基于图嵌入的算法:该算法通过将图嵌入到低维空间中,来学习数据的低维表示。它通常使用流形学习和降维技术来实现。基于图嵌入的算法包括半监督流形学习算法、半监督多任务学习算法等。
- 基于半监督支持向量机的算法:该算法通过构建一个最大边界超平面来进行分类,同时利用未标记数据来扩展支持向量机的边界,提高分类的准确性。基于半监督支持向量机的算法包括半监督支持向量机算法、半监督核支持向量机等。
基于图的半监督学习算法的优点是可以利用未标记数据来提高分类器的性能,同时可以通过图的结构来表达数据之间的相似性和关系,从而提高分类器的鲁棒性。但是,基于图的半监督学习算法也存在一些问题,例如如何选择合适的相似度度量和图构建方法,如何避免过拟合和错误传播等问题。
3)Semi-supervised supported vector machine(半监督支持向量机,S3VM)
在传统的支持向量机中,只
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
专栏作者曾在校招期间拿到包括字节、微信和华为等多家大厂的SSP offer,该专栏主要是为了帮助同学们系统性地学习和掌握机器学习中的基础知识。专栏详细地整理了各大厂的算法岗面经,力争深入浅出地讲解重要知识点,适合人群为准备校招或者实习,且目标岗位为算法岗、数据挖掘岗或者数据分析岗的同学。