Site cover image

Site icon imageSen(Qian)’s Memo

This website is Donglin Qian (Torin Sen)’s memo, especially about machine learning papers and competitive programming.

2016-NIPS-Theoretical Comparisons of Positive-Unlabeled Learning against Positive-Negative Learning

https://arxiv.org/abs/1603.03130

Introduction

問題設定

XRdX \in \mathbb{R}^dがサンプルで、ラベルがY{+1.1}Y \in \{+1. -1 \}である。シナリオはCase Controlである。つまり、p(s=+1)p(s=+1)が得られないというもの。

📄Arrow icon of a page link2014-NIPS-[Ramp]Analysis of Learning from Positive and Unlabeled Data では、代理損失が非凸で対称的であるなら、提案したものが不偏な分類器であると証明されている。ならば、普通のPNやNUの学習器と同様に比較できる。

リスクの不偏推定器

PNにおいての不偏推定器

p+(x)=p(xY=+1),p(x)=p(xY=1)p_+(x) = p(x | Y=+1), p_-(x) = p(x | Y=-1)

g:RdRg: \mathbb{R}^d \to \mathbb{R}を実数の決定関数として、これによって二値分類をしている。そしてl:R×{+1,1}Rl: \mathbb{R} \times \{ +1, -1 \} \to \mathbb{R}リプシッツ連続な損失関数だとする。

そして以下のようにリスクを定義する。それぞれp+,pp_+, p_-においての期待値である。

R+(g)=E+[l(g(X),+1)]R(g)=E[l(g(X),1)]R_+(g) = \mathbb{E}_+ [ l(g(X), +1) ] \\ R_-(g) = \mathbb{E}_- [ l(g(X), -1) ]

そして。PN Learningにおける全体の損失は、π=p(Y=+1)\pi = p(Y=+1)だとすると、以下のような式になる。一番下は不偏推定量での推定。

R(g)=πR+(g)+(1π)R(g)R^PN(g)=πn+xX+l(g(x),+1)+1πnxXl(g(x),1)R(g) = \pi R_+(g) + (1 - \pi) R_-(g) \\ \hat{R}_{PN}(g) = \frac{\pi}{n_+} \sum _{x \in X_+} l(g(x), +1) + \frac{1 - \pi}{n_-} \sum _{x \in X_-} l(g(x), -1)

下の式は先行研究によって、O(1/n++1/n)O(1 / \sqrt{n_+} + 1 / {\sqrt{n-}})R(g)R(g)に収束する不偏推定器であることがわかる。

PU, NUでの不偏推定器

PUではNegativeサンプルは手に入らないので、うまくR(g)R_-(g)を書き換える必要がある。📄Arrow icon of a page link2014-NIPS-[Ramp]Analysis of Learning from Positive and Unlabeled Data では書き換えの一種を提案し、対称的な損失は足すと定数になるので最適化しやすいという結果になった。

そこでは、以下のように書き換えることができ、目的関数を作れる(それをさらに分解すると対称的なものがいいとかの話になる)

EX[l(g(X),1)]=πE+[l(g(X),1)]+(1π)R(g)RPU(g)=2πR+(g)+RX(g)πR^PU(g)=π+2πn+xX+l(g(X),+1)+1nXxXXl(g(X),1)\mathbb{E}_X[l(g(X), -1)] = \pi \mathbb{E}_+ [l(g(X), -1)] + (1 - \pi) R_-(g) \\ R_{PU}(g) = 2\pi R_+(g) + R_X(g) - \pi \\ \hat{R}_{PU}(g) = -\pi + \frac{2 \pi}{n _+} \sum _{x \in X_+} l(g(X), +1) + \frac{1}{n_X} \sum_{x \in X_X} l(g(X), -1)

同様に、NUについても以下の式が得られる。

RNU(g)=2(1π)R(g)+RX(g)(1π)R^NU(g)=(1π)+2(1π)nxXl(g(X),1)+1nXxXXl(g(X),+1)R_{NU}(g) = 2(1 - \pi) R_-(g) + R_X(g) - (1 - \pi) \\ \hat{R}_{NU}(g) = -(1 - \pi) + \frac{2(1 - \pi)}{n _-} \sum _{x \in X_-} l(g(X), -1) + \frac{1}{n_X} \sum_{x \in X_X} l(g(X), +1)

代理損失

01損失の代わりに、 📄Arrow icon of a page link2014-NIPS-[Ramp]Analysis of Learning from Positive and Unlabeled Data ではScaled Ramp Lossを提案している。

lsr(t,y)=max(0,min(1,(1ty)/2))l_{sr}(t, y) = \max(0, \min(1, (1 - t_y) / 2))

当然だが、これはリプシッツ連続である。

リスク境界に基づいた理論的比較

  • 識別器の所属クラスはG\mathcal{G}である。
  • 真の最適の識別器はgg^*である。
  • PNで学習したときの真の識別器はg^pn=arg mingR^pn(g)\hat{g}_{pn} = \argmin _{g} \hat{R}_{pn}(g)である。
  • PUで学習したときの真の識別器はg^pu=arg mingR^pu(g)\hat{g}_{pu} = \argmin _{g} \hat{R}_{pu}(g)である。
  • NUで学習したときの真の識別器はg^nu=arg mingR^nu(g)\hat{g}_{nu} = \argmin _{g} \hat{R}_{nu}(g)である。
  • 代替損失関数llによる損失の最小化されたものは、R=infgR(g)R^* = \inf _g R(g)である。
  • 01損失関数llによる損失の最小化されたものは、I=infgI(g)I^* = \inf _g I(g)である。

Rademacher複雑度の定義からして、所属クラスG\mathcal{G}のRademacher複雑度は定数CGC_Gによって抑えられる。qqはPositiveデータ、Negativeデータ、PN両方のデータの分布みたいな感じ。

Rn,q(G)CG/nR_{n,q}(\mathcal{G}) \leq C_G / \sqrt{n}

そして、以下のように、カーネル法を使うときの仮定を置いている。ヒルベルト空間H\mathcal{H}を定義したら、写像した先の特徴空間もある定数で抑えられるとする。

カーネル法についての統計的機械学習で分析するときによくある手法。

Image in a image block

Risk Bounds

Image in a image block

同様に、ϕ\phiを広義単調増加かつϕ(0)=0\phi(0) = 0であるならば、1δ1 - \delta以上の確率で以下の式が成り立つ。

Image in a image block

誤差上界としては、表現力が高いほど低く、かつ学習するデータが多いほどまた低くなる。

Rademacher複雑度を上から押さえる都合上、これらの上限の減るスピードはO(1/n+/n)O(1 / \sqrt{n_+} / \sqrt{n_-})である。(Rademacher複雑度を抑えると同じルートになって、後ろのルートと同じオーダーになる)この速度で、RRの差は0へ、IIの差はϕ(R(g)R)\phi(R(g^*) - R^*)へ収束する。

証明の紹介

PUの式は以下のようになっている。

R(g)=2πR+(g)+RX(g)πR^(g)=2πR^+(g)+R^X(g)πR(g) = 2 \pi R_+(g) + R_X(g) - \pi \\ \hat{R}(g) = 2 \pi \hat{R}_+(g) + \hat{R}_X(g) - \pi

これをもとにsupgR^pu(g)R(g)\sup_g |\hat{R}_{pu}(g) - R(g)|を計算する。これは証明したい式から、統計的学習理論で上から評価するときに一番向いている形への変形である(同じggについてなので)。これは📄Arrow icon of a page link(講義ノート)統計的機械学習第2回 📄Arrow icon of a page link(講義ノート)統計的機械学習第3,4回 にある通りである。まずここでPUにおける経験誤差と理想的なものに分解する。

Image in a image block

、ここではMcDirmidの不等式で評価している。LlL_lはリプシッツ定数(Talagrandの補題を使う)。

Image in a image block

上では、1δ/21 - \delta / 2以上の確率で、という条件であることに注意。

後はこの2つを合算させて、最後に📄Arrow icon of a page link(講義ノート)統計的機械学習第2回 にあるようにsup\supにしたら1/2されるから2倍することで、証明は終わる。

これはPUの式であった。これと同様に、PNもNUも、R(g)R(g)の合成の式から同様に、以下のように上界を導出することができる。

Image in a image block
Image in a image block

これをまとめると、各学習の収束速度は以下のようになる。

R(g^pn)R(g)f(δ){π/n++(1π)/n}R(g^pu)R(g)f(δ){2π/n++1/nu}R(g^nu)R(g)f(δ){1/nu+2(1π)/n}R(\hat{g}_{pn}) - R(g^*) \leq f(\delta) \cdot \{ \pi / \sqrt{n_+} + (1 - \pi) / \sqrt{n_-} \} \\ R(\hat{g}_{pu}) - R(g^*) \leq f(\delta) \cdot \{ 2\pi / \sqrt{n_+} + 1 / \sqrt{n_u} \} \\ R(\hat{g}_{nu}) - R(g^*) \leq f(\delta) \cdot \{ 1 / \sqrt{n_u} + 2(1 - \pi) / \sqrt{n_-} \}

有限なサンプルでの比較

収束速度の比を考える。pnを基準に、pu, nuについて見る。

Image in a image block

この時、αpu,pn<1\alpha_{pu, pn} < 1なら、PNよりもPUのほうが収束が早い=いい性能が出る。

同様に、αnu,pn<1\alpha_{nu, pn} < 1なら、NUよりもPUのほうが収束が早い=いい性能が出る。

上の収束速度一覧の右辺をVpu,Vnu.VpnV_{pu}, V_{nu}. V_{pn}とすると、α\alphaはそれぞれ以下のように計算できる。

Image in a image block
  • pu,pnのほうではUnlabeledとNegativeによる上限の減少速度の比
  • nu,pnのほうではUnlabeledとPositiveによる上限の減少速度の比

を比べている。

結論としては以下の表である。以下の表の変数が増加することによって、α\alphaがどうなるかがわかる

Image in a image block
Image in a image block

nn_-が減る、そしてπ\piが減るとαpu.pn\alpha_{pu.pn}は単調減少する。

PUではPositiveのデータは2π2 \piの重みがあるが、PNではπ\piの重みである。よって、n+n_+が増えるとPUのほうがPNより改善が早く結果的にαpu,pn\alpha_{pu,pn}が単調減少する。全体のサンプル数固定すると、nn_-がつまり減るということ。

π\piが増えると、PNでは(1π)/n(1-\pi)/\sqrt{n_-}の速度で減少する一方で、PUではO(π/N++1/nX)O(\pi/\sqrt{N_+} + 1 / \sqrt{n_X})の速度で減少する。明らかにπ\piが増えると、PNのほうが有益である。

結論として、PU学習ではπ\piが小さいほうが望ましい識別器を作れる。

そのうえで、π\piによる比率を例えばPNで固定したときに、PUが増えるとどうなるか。これは表の2列目である。

表の三列目では、ρpn=n+/n\rho_{pn} = n_+ / n_-であるよりも、さらに強い(らしい)仮定であるρpn=π/(1π)\rho_{pn} = \pi / (1 - \pi)にしている。この条件下では、αpu,pn\alpha_{pu,pn}に以下のように下限をつくれる

Image in a image block

これは、π=ρpu/(2ρpu+1)\pi = \sqrt{\rho_{pu}} / (2 \sqrt{\rho_{pu}} + 1)の時に最小値をとる。

この式が意味するのは、nUn_Uが非常にn+n_+に比べて大きいとき(ρPU<0.04\rho_{PU} < 0.04の時など)ではじめて、αpu,pn\alpha_{pu,pn}は1未満となり、PUのほうの性能が上がる。

対称比較

実用上、PNのほうがPUより優れている、つまりラベル付きデータに比べてラベルなしデータの数が十分に多くないときが多い。この時、PU Learningをあきらめるべきか、もっとUnlabeledのデータを集めるべきか?

Image in a image block

以上の極限をまず考える。これが収束するには、nUn_Uの増え方がnp,nnn_p, n_nよりも早いことが必要である。

いっそのこと、nun_uだけ増えて他が変わらないとき、α\alphaは以下の値に収束する。

Image in a image block

この時、この2つの値の積は1となるので、どちらかは1より小さいだろう。どちらも1であるときは、π2/(1π)2\pi^2/(1-\pi)^2である。この例外を除けば、Uが無限に取れるのならばPNやるよりはPUかNUやる方が効率がいいということ

そして、いずれか一方が十分に小さければUnlabeledは少なくて済むかもしれないが、1に近ければUnlabeledは大量に必要だろう。それを集めるぐらいなら現実的にはPNをした方がいい場合もある。

Experiment

理論的な論文なので省略。予想通りの結果が出ましたということです。