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