PU learning
背景
PU learning(positive-unlabeled learning),即我们只有正样本和未标注的样本,以此进行分类学习。
其可在以下几个领域内应用:
- 检索
从大量无标注的样本中选取特定的样本,比如人脸标注 - 异常检测
包括inlier-based outlier 检测 - 序列数据检测
负样本的分布随着时间改变,这样传统的分类将不再适合,PU 只需要更新未标注样本,这样的花销更小,比如垃圾邮件检测,由于存在对抗,负样本(垃圾邮件)的形式一直在变,而非垃圾则一般相对稳定状态。
本文介绍了最近pu learning的几个研究进展。
PU 分类
目前 PU的方法可分为两类;
- 第一类方法
也称为两步法:从unlabeled 数据识别出有效的负样本,然后利用正负样本训练分类器。 - 第二类方法
全部将未标注的样本作为负样本训练,同时将负样本的赋予一个较小的权重值。
然而,第一类方法在识别有效负样本时比较依赖于经验,需要对相关的业务背景有良好的理解;第二类方法则依赖于未标注样本权重的设置,并且如果loss函数不合适,将存在biased误差。在第二类方法中,为了改进目前学习存在偏差的问题,无偏 PU learning被引入。
uPU learning
我们有一个正的数据集χ\chiχ,一个未标注数据集χ′\chi'χ′,即
χ:={
xi}i=1n =p(x∣y=1)χ′:={
xj′}j=1n′ =p(x)p(x):=πp(x∣y=1)+(1−π)p(x∣y=−1)\chi:=\{x_i\}_{i=1}^n ~=p(x|y=1)\\ \chi':=\{x_j'\}_{j=1}^{n'}~=p(x)\\ p(x):=\pi p(x|y=1)+(1-\pi)p(x|y=-1)χ:={
xi}i=1n =p(x∣y=1)χ′:={
xj′}j=1n′ =p(x)p(x):=πp(x∣y=1)+(1−π)p(x∣y=−1)
其中π\piπ是unlabel样本中正样本的比例,为超参数。
对于普通的分类
R^pn(g)=πpR^p++πnR^n−(g)−−−−−(1)\hat R_{pn}(g)=\pi_p\hat R_p^{+} + \pi_n \hat R_n^{-}(g) -----(1)R^pn(g)=πpR^p++πnR^n−(g)−−−−−(1)
风险函数
Ru−(g)=1n−∑x=1n−l(g(xi),−1)=∑xp(x)l(g(xi),−1)=∑xp(y=1)p(x∣y=1)l(g(xi),−1)+∑xp(y=−1)p(x∣y=−1)l(g(xi),−1)=πp∑xp(x∣y=1)l(g(xi),−1)+(1−πp)∑xp(x∣y=−1)l(g(xi),−1)=πp∑xpp(x)l(g(x(xi),−1))+(1−πp)∑xnp(x)l(g(xi),−1)=πpRp−+(1−πp)Rn− R_u^-(g)=\frac{1}{n^-}\sum^{n^-}_{x=1}l(g(x_i),-1)\\ =\sum_xp(x)l(g(x_i),-1)\\ =\sum_xp(y=1)p(x|y=1)l(g(x_i),-1)+\sum_xp(y=-1)p(x|y=-1)l(g(x_i),-1)\\ =\pi_p \sum_x p(x|y=1)l(g(x_i),-1) + (1-\pi_p)\sum_xp(x|y=-1)l(g(x_i),-1)\\ =\pi_p\sum_{x_p}p(x)l(g(x(x_i),-1)) + (1-\pi_p)\sum_{x_n}p(x)l(g(x_i),-1)\\ =\pi_pR_p^{-} + (1-\pi_p)R_n^{-} Ru−(g)=n−1x=1∑n−l(g(xi