《机器学习高频面试题详解》3.2:PU-Learning
点击上方卡片链接就可以进入专栏,专栏右上角有订阅选项,欢迎大家订阅~
前言
大家好,我是鬼仔,今天带来《机器学习高频面试题详解》专栏的第三章第二节内容:PU-Learning算法。这是鬼仔第一次开设专栏,每篇文章鬼仔都会用心认真编写,希望能将每个知识点讲透、讲深,帮助同学们系统性地学习和掌握机器学习中的基础知识,希望大家能多多支持鬼仔的专栏~
目前这篇是试读,后续的文章需要订阅才能查看哦,专栏预计更新30+篇文章(只增不减),具体内容可以看专栏介绍,大家的支持是鬼仔更新的动力!
本文大纲 |
|
一、原理 |
1. 背景 |
2. PU Learning的基本概念 |
|
3. PU Learning的基本流程 |
|
4. PU Learning的基本方法 |
|
二、面试真题 |
1. 在实际业务中,可能存在标签噪声,如何设计一个鲁棒的PU Learning算法? |
2. 介绍下Two-step PU Learning算法? |
|
3. 介绍下无偏PU Learning算法? |
|
4. 在PU Learning中,如何利用迁移学习提高模型性能? |
一、原理
1. 背景
在实际的分类应用中,我们常常面临这样的挑战:仅有已标注的正样本和未标注的样本。这主要是因为获取负样本相对困难,负类数据具有高度多样性且不断变化。
以下是两个实际业务场景的示例:
- 在金融风控领域,只有部分用户被标记为欺诈用户,而剩余的大量用户尚未被标记。尽管其中绝大多数用户信用状况良好,但仍有一小部分可能属于欺诈用户。
- 在推荐系统中,用户点击行为被视为正样本,但不能仅因用户未点击就将其视为负样本。这是因为可能由于样本位置偏移等原因导致用户未进行点击。
目前有两种解决方法:
- 从未标注样本中启发式地寻找可靠的负样本,进而训练二分类器。然而,这种方法的问题在于分类效果高度依赖先验知识。
- 将未标注样本视为负样本来训练分类器。但由于负样本内可能包含正样本,错误的标签分配可能导致分类失误。
如何辨别未标记样本中的正负样本,提升模型准确度,就成为一个值得思考的问题。PU Learning(Positive and Unlabeled Learning)就是解决这种场景的一种学习方法。
2. PU Learning的基本概念
PU Learning是一种半监督学习方法,主要应用于分类问题。与传统的监督学习不同,PU Learning只需要正样本(Positive samples)和未标记样本(Unlabeled samples)的数据,而不需要负样本(Negative samples)。
PU Learning的基本概念如下:
- 正样本(Positive samples):正样本是指已知属于目标类别的样本。在PU Learning中,正样本通常容易获得或已经标注。
- 未标记样本(Unlabeled samples):未标记样本是指尚未确定其类别的样本。在PU Learning中,未标记样本可能是正样本,也可能是负样本。
- 负样本(Negative samples):负样本是指已知不属于目标类别的样本。在PU Learning中,负样本通常不易获得或缺失。
3. PU Learning的基本流程
PU Learning(Positive and Unlabeled Learning)的基本流程可以分为以下几个步骤:
1)数据准备:收集已知的正样本(Positive samples)和未标记样本(Unlabeled samples)。在这个阶段,正样本通常是已经标注的数据,而未标记样本可能包含正样本和负样本,但类别未知。
2)初步分类器训练:使用正样本和未标记样本训练一个初步的分类器。在这个阶段,通常将正样本作为正类,未标记样本作为负类,利用现有的监督学习方法(如SVM、神经网络等)训练一个分类器。
3)负样本识别:利用初步分类器对未标记样本进行预测,找出可能的负样本。这个过程中,可以设置一个阈值,将预测为负类概率较高的未标记样本视为负样本。此外,也可以使用其他启发式方法或领域知识来辅助识别负样本。
4)最终分类器训练:使用已知的正样本和识别出的负样本重新训练一个分类器。在这个阶段,可以使用与初步分类器相同或不同的监督学习方法,以获得更好的分类性能。
4. PU Learning的基础方法
PU Learning的基础方法/框架可以分为以下几类:
1)两阶段方法(Two-step methods):这类方法的核心思想是分两个阶段进行学习。首先,使用正样本和未标记样本训练一个初步的分类器;然后,利用该分类器对未标记样本进行预测,将预测为负样本的数据作为负样本,重新训练一个新的分类器。两阶段方法的代表算法有Spy算法和Rocchio算法。
2)有偏学习(Biased PU Learning):这类方法考虑了未标记样本可能包含噪声的情况,即将未标记样本视为带有噪声的负样本。为了在有偏PU Learning中考虑噪声,可以采用调整损失函数、使用噪声鲁棒性方法、自适应阈值、采用适合PU问题的评估指标和迭代训练等策略。
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
专栏作者曾在校招期间拿到包括字节、微信和华为等多家大厂的SSP offer,该专栏主要是为了帮助同学们系统性地学习和掌握机器学习中的基础知识。专栏详细地整理了各大厂的算法岗面经,力争深入浅出地讲解重要知识点,适合人群为准备校招或者实习,且目标岗位为算法岗、数据挖掘岗或者数据分析岗的同学。