データ空間 \(X\) の各点についてラベル \(Y = \{ 0, 1 \}\) が対応している. \(1\) が Positive で \(0\) が Negative の意味.
学習データとして有限のサンプル点集合が与えられるのだが, Positive だと分かってるデータ点の集合と, ラベルが不明なデータ点の集合だけが与えられる. ここからラベルの予測器を学習する問題を PU 学習という.
与えられる学習データは次の \(V\) .
\[P = \{ (x,y,s=1) \}\] \[N = \{ (x,s=0) \}\] \[V = P \cup N\]ここで \(s\) はラベルが付与されているかどうかを示している. \(x,y\) に加えて \(s\) も確率変数だと見なして議論を進めていく.
「ラベルが付与されているかどうか」はデータセット全てについて分かることなので適当な方法で学習する.
ラベルがついているなら必ず Positive だとしてるので,
\[\begin{align*} p(s=1 \mid x) & = p(s=1 \land y=1 \mid x) \\ & = p(y=1 \mid x) p(s=1 \mid x, y=1) \\ & = p(y=1 \mid x) p(s=1 \mid y=1) \\ \end{align*}\]ここで \(p(s=1 \mid y=1)\) はデータ分布のみによる定数なので, 定数 \(c\) だとおくと,
\[p(s=1 \mid x) = c p(y=1 \mid x)\]という関係を得る.
左辺と右辺に出てくる確率は結局欲しかった \(g,f\) なので
\[g(x) = c f(x)\]という比例関係を得る.
\(g\) を学習するというのはこの比例関係の意味で \(f\) を学習することと同値. そしてこれは「ラベルがついてないものを全て Negative だと思った PN 学習」に等しい.
3つ方法が提案されている
基本的には 1 が一番オススメされてる.
Lemmma 1 によると \(f = g/c\) で \(f\) が確率として well-defined なためには \(f \leq 1 \iff g \leq c\) なことが必要十分条件になってる. 3 の方法はこれが約束されるので嬉しい.
Lemmma 1 をそのまま使っても \(g\) から \(f\) を構築できるが, 学習データの重みに使う方法も提案されている.
ラベルが付与されていない \((x, s=0)\) について
\[\begin{align*} p(y=1 \mid x, s=0) & = \frac{1-c}{c} \frac{p(s=1\mid x)}{1 - p(s=1 \mid x)} \\ & = \frac{1-c}{c} \frac{g(x)}{1 - g(x)} \\ \end{align*}\]になる, らしい.
これがラベルが付与されていない場合に \(y=1\) である確率. これを重みに掛けて学習すればよい.
\(h(x,y)\) をデータ \(x\) を予測して正解ラベルが \(y\) であるときの損失関数だとする.
\[\mathcal{L} = \sum_{x \in P} h(x,1) + \sum_{x \in U} p(y=1 \mid x, s=0) h(x,1) + \sum_{x \in U} p(y=0 \mid x,s=0) h(x,0)\]として学習する.