PU learning 经典论文。
本文主要考虑在SCAR
假设下,证明了普通的分类器和PU分类器只相差一个常数,因此可以使用普通分类器的方法来估计 p ( s ∣ x ) p(s|x) p(s∣x),进而得到 p ( y ∣ x ) p(y|x) p(y∣x)。同时提供了三种方法来估计这个常数,最后,还对先验 p ( y ) p(y) p(y)的估计提供了思路。
Learning a traditional classifier
-
概念定义
- x x x 表示一个样本, y y y 表示其label(0或者1), s s s表示是否被select
- 那么,在PU问题中,当$s =1 时 , 一 定 有 时,一定有 时,一定有y = 1$
- P ( s = 1 ∣ x , y = 0 ) = 0 P(s = 1| x,y=0) = 0 P(s=1∣x,y=0)=0 一定成立
-
两种采样假设
- signle-training-set
- 所有的样本都是从 ( x , y , s ) (x,y,s) (x,y,s)这个三元组的分布中采样的
- case-control
- 两个数据集(正类,未标记)是从三元组中独立的抽样出来的。当采样正类时被称为
case
,采样未标记数据时称为contaminated controls
- 两个数据集(正类,未标记)是从三元组中独立的抽样出来的。当采样正类时被称为
- 这两种假设有很明显的区别。总的来说,第一种假设比第二种假设要严格得多,也就能提供更多的信息:
- 两种假设都能让我们估计 p ( x ) p(x) p(x)
- 但只有在第一种假设下,能够让我们很容易的估计出 p ( s = 1 ) p(s = 1) p(s=1),因此也更容易估计出 p ( y = 1 ) p(y = 1) p(y=1),二第二种条件不可以。
- signle-training-set
-
基本假设
- 我们需要训练的传统分类器是: f ( x ) = p ( y = 1 ∣ x ) f(x) = p(y = 1|x) f(x)=p(y=1∣x)
- 然而,对正类数据没有任何假设的前提下,我们很难得到较好的分类器
- 因此,论文给出的假设是,正类样本数据是从正类数据中完全随机的抽取出来的。
- 也就是说,当 y = 1 y = 1 y=1时,无论 x x x取说明值,它们的概率都是相同的: p ( s = 1 ∣ x , y = 1 ) = p ( s = 1 ∣ y = 1 ) p(s = 1| x,y=1) = p(s =1|y=1) p(s=1∣x,y=1)=p(s=1∣y=1)
- 这个假设被称为
selected completedly at random
- 我们定义一个
nontraditional classifier
: g ( x ) = p ( s = 1 ∣ x ) g(x) = p(s =1|x) g(x)=p(s=1∣x) - 因此,我们需要一些定理来证明如何将非传统的分类器转化为传统的分类器
-
Lemma:假设
SCAR
条件成立,那么 p ( y = 1 ∣ x ) = p ( s = 1 ∣ x ) c p(y = 1|x) = \frac{p(s=1|x)}{c} p(y=1∣x)=cp(s=1∣x),其中 c = p ( s = 1 ∣ y = 1 ) c = p(s=1|y=1) c=p(s=1∣y=1)-
证明:由于我们的假设是: p ( s = 1 ∣ x , y = 1 ) = p ( s = 1 ∣ y = 1 ) p(s = 1| x,y=1) = p(s =1|y=1) p(s=1∣x,y=1)=p(s=1∣y=1),因此:
-
KaTeX parse error: No such environment: equation at position 7: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲\begin{split}p(…
-
将我们的分类器带入为: f ( x ) = g ( x ) p ( s = 1 ∣ y = 1 ) f(x) = \frac{g(x)}{p(s=1|y=1)} f(x)=p(s=1∣y=1)g(x)</
-