![16ecd40d20e39da6e69c0da92d6b0cee.png](https://img-blog.csdnimg.cn/img_convert/16ecd40d20e39da6e69c0da92d6b0cee.png)
文章来源于微信公众号 AI公园(AI_Paradise)
作者:AaronWard
编译:ronghuaiyang
原文链接:请点击
文章仅用于学习交流,如有侵权请联系删除
导读
你有数据,但是标签并不可靠,你该怎么办?
问题
通常情况下,公司希望对给定的任务进行机器学习,比如对数据进行分类,但却面临数据标签不足或不可靠的问题。
在这些情况下,公司可以选择手工标签他们的数据,但手工标签可能是一项苛刻的任务,也可能导致人为偏见或重大错误。如果你为正样本贴上了数据标签,但为你的负样本贴上了不可靠的标签,那该怎么办?你如何解决这个问题?
正样本和无标签学习
![527bc1cf2685bf5939ade5f4cc25d11b.png](https://img-blog.csdnimg.cn/img_convert/527bc1cf2685bf5939ade5f4cc25d11b.png)
数据集不足的示例,下面是一个例子:
- 总共1000个样本
- 其中100个样本你可以认为是可靠的正样本
- 其中900个可能是不可靠的负样本或未标记的样本
- 这些样本中可能会有一些是正样本
为了避免混淆,我将“未标记样本”和“不可靠的负样本”称为unknown。
方案
PU学习(positive and unlabelled learning)是一种半监督二值分类方法,它可以从数据中的未知情况中恢复标签。它是通过从数据中的正样本中学习,并应用所学到的知识来重新标记未知样本来做到这一点的。
这种方法为任何需要对不可靠数据进行二进制分类的机器学习问题提供了好处,而不考虑领域。
应用PU学习主要有两种方法。包括:
- PU bagging
- Two-step approach
PU Bagging 的解释
PU bagging是一种并行化的方法,它抽取unknown情况的随机子样本,并创建一个弱分类器集合来输出每个样本的分数。具体步骤包括:
- 随机抽取unknown数据的子集和所有正样本,创建一个均衡的训练集,
- 用这个“bootstrap”数据集构建一个分类器,将正样本视为1,将unknown视为0
- 预测在训练中没有被采样的unknown样本的概率分数,称为袋外样本(OOB)
- 重复多次,计算OOB的平均分
![2649093fcfb872fe7832291e39382750.png](https://img-blog.csdnimg.cn/img_convert/2649093fcfb872fe7832291e39382750.png)
Two-Step Approach 的解释
two-step方法是一种更复杂的PU学习方法,它使用机器学习技术在训练时重新标记数据。实施步骤如下:
第一步
- 训练一个正样本和unknown样本的标准分类器。
- 得到一个确定的正样本的分数范围来标记确定的负样本。
第二步
- 在新标记的数据集上训练第二个分类器,反复重复这个过程,直到满足一个既定的标准。
![406f4a59aaa95b88d2221a34f7bfa9b6.png](https://img-blog.csdnimg.cn/img_convert/406f4a59aaa95b88d2221a34f7bfa9b6.png)
PU Learning 实战
为了展示这一点,我将使用Banknote dataset:http://archive.ics.uci.edu/ml/datasets/banknote+authentication完成一个小例子。它是一个有两个类的数据集:unauthentic和authenti