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。

相关推荐
风象南10 小时前
普通人用AI加持赚到的第一个100块
人工智能·后端
牛奶10 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶10 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
哥布林学者12 小时前
高光谱成像(一)高光谱图像
机器学习·高光谱成像
罗西的思考13 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab14 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab14 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
格砸15 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云15 小时前
可观测性 4.0:教系统如何思考
人工智能
sunny86515 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github