Positive-Unlabeled Learning(PU Learning)详解——当数据中只有“已知正类”和“未知标签”时,如何高效分类?

1. 什么是PU Learning?

**PU Learning(正样本-未标记学习)**是一种特殊的半监督学习任务,其核心场景是:仅有少量已标记的正样本(Positive)和大量未标记的样本(Unlabeled),而负样本(Negative)未被明确标注或难以获取。例如:

  • 金融风控:仅有已知的欺诈用户(正类),其他用户未标记(可能包含正常用户和未被发现的欺诈用户)49。

  • 异常检测:正常数据容易标注,但异常数据可能动态变化或形式多样37。

  • 推荐系统:用户点击的条目是正样本,未点击的条目未必是负样本(可能未被曝光)113。

与传统分类的区别

  • 监督学习:需要明确的"正负样本"。

  • 单分类(One-class):仅用正样本训练,但可能忽略未标记数据中的潜在负类信息2。

  • PU Learning:通过挖掘未标记样本中的隐藏信息(如可靠负样本),结合正样本训练分类器,兼顾效率与准确性14。


2. 核心挑战与方法

PU Learning的关键在于如何从未标记样本中区分出潜在的负样本。以下是主流方法:

(1)直接法(Direct Approach)

将未标记样本视为"噪声负样本",直接训练分类器,但通过调整权重或损失函数来缓解噪声影响。例如:

  • Biased SVM:为未标记样本赋予较低权重,减少其对分类面的干扰313。

  • 风险无偏估计:设计对称损失函数,确保训练目标的无偏性3。

适用场景:未标记样本中负类占比较高,且噪声可控2。

(2)两步法(Two-step Approach)

步骤1:识别可靠负样本(Reliable Negatives, RN)

  • 间谍技术(Spy Technique):从正样本中随机选一部分(如15%)作为"间谍样本"混入未标记集,训练分类器后,将预测概率低于间谍样本最小值的未标记样本视为RN413。

  • 1-DNF技术:提取正样本的频繁特征(如关键词),未标记样本中不包含这些特征的即为RN47。

步骤2:迭代训练分类器

用正样本和RN训练分类器,逐步从剩余未标记样本中筛选新的RN,直至收敛47。

优势:通过迭代优化,逐步提升分类器的鲁棒性113。

(3)PU Bagging

通过**自助采样(Bootstrap)**生成多个训练集:每次从正样本和未标记样本中随机抽取等量样本作为正负类,训练多个基分类器,最终以平均预测概率作为结果。
适用场景:正样本比例极低时效果显著1。


3. 核心假设与评估
  • 假设1(SCAR):正样本的标注是随机的(与特征无关)4。

  • 假设2(可分性):存在一个分类器能完全区分正负类4。

  • 评估指标:召回率(覆盖所有正类)和准确率(预测为正类的正确率)4。


4. 应用场景与局限性

典型应用

  • 财务舞弊检测:从大量未标记企业数据中识别潜在风险9。

  • 文本情感分析:仅知正面评论,需从未标注文本中提取负面内容15。

  • 生物医学:识别特定基因或疾病标记13。

局限性

  • 依赖初始假设:若未标记样本中正类比例过高,可能影响分类效果2。

  • 计算复杂度高:迭代方法需多次训练模型4。


5. 最新进展
  • 无偏PU Learning:通过设计对称损失函数,消除传统方法中的偏差,适用于复杂模型(如深度学习)3。

  • 主动学习结合PU:动态选择未标记样本进行人工标注,提升模型效率4。


总结

PU Learning通过巧妙利用未标记数据中的隐含信息,解决了传统分类中负样本缺失的难题。其核心方法(如两步法、PU Bagging)在不同场景下各有优劣,需根据数据分布和任务需求灵活选择。对于动态变化的负类(如垃圾邮件检测)或标注成本高的场景,PU Learning是高效且经济的解决方案1413。

相关推荐
千宇宙航1 小时前
闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
图像处理·人工智能·深度学习·神经网络·计算机视觉·fpga开发
IT古董1 小时前
【第二章:机器学习与神经网络概述】04.回归算法理论与实践 -(4)模型评价与调整(Model Evaluation & Tuning)
神经网络·机器学习·回归
onceco2 小时前
领域LLM九讲——第5讲 为什么选择OpenManus而不是QwenAgent(附LLM免费api邀请码)
人工智能·python·深度学习·语言模型·自然语言处理·自动化
天水幼麟2 小时前
动手学深度学习-学习笔记(总)
笔记·深度学习·学习
jndingxin4 小时前
OpenCV CUDA模块设备层-----高效地计算两个 uint 类型值的带权重平均值
人工智能·opencv·计算机视觉
天水幼麟4 小时前
动手学深度学习-学习笔记【二】(基础知识)
笔记·深度学习·学习
Sweet锦4 小时前
零基础保姆级本地化部署文心大模型4.5开源系列
人工智能·语言模型·文心一言
hie988945 小时前
MATLAB锂离子电池伪二维(P2D)模型实现
人工智能·算法·matlab
晨同学03275 小时前
opencv的颜色通道问题 & rgb & bgr
人工智能·opencv·计算机视觉
蓝婷儿6 小时前
Python 机器学习核心入门与实战进阶 Day 3 - 决策树 & 随机森林模型实战
人工智能·python·机器学习