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-Estimating The Class Prior And Posterior from Noisy Positives And Unlabeled Data

https://papers.nips.cc/paper_files/paper/2016/hash/79a49b3e3762632813f9e35f4ba53d6c-Abstract.html

Introduction

PU Learningするには、Uの中に含まれているPとNの割合を知ることが重要である。

既存のClass Prior推定ではNoiseがある高次元のデータ(画像とか)を考慮していなかった。先行研究の多くはPの分布がわかるか、Pが十分にCleanであることが前提であった。

先行研究ではNoiseに対するアプローチはあるが、密度比推定が必要で、これは高次元データではうまく動かない。

この論文では、Noiseある高次元データについてのClass Prior推定の手法を提案する。入力されたデータをある単変量の分布に変換し、そこで密度比推定を行う(次元を落とすってことかな)。

問題設定

Noisy PUの問題設定を考える。

二値分類において、本来は以下のようにα\alphaの割合で混合分布が与えられるデータであるが、Noisy Labelの場合は、α\alphaとは違うβ\betaがClass PriorであることでNoisy Labelを表現している。

この場合、f1, f0の分布自体が違ってくることを想定せず、ノイズはクラスやインスタンスに依存せずに発生すると仮定している。だいぶ限られたノイズパターン。

f(x)=αf1(x)+(1α)f0(x)g(x)=βf1(x)+(1β)f0(x)f(x) = \alpha f_1(x) + (1 - \alpha) f_0(x) \\ g(x) = \beta f_1(x) + (1 - \beta)f_0(x)

この問題設定において、うまくα\alphaをNoisyな高次元データでも推定できるようにするのが目標。

Class Priorの推定

f,gf, gの2つの分布が与えられたときに、Class Priorは一意に定まるとまず仮定する。

実をいうと一般的にはffggを含む、その逆もしかりとありえるので、実はこの過程は成り立たないこともある。

これを避けるために、できるだけf1,f0f_1, f_0を相方によってあらわせないようにしたい。これは相互不可約性という。

例えば、一様分布とガウス分布みたいな。

以下のように2つの混合分布を定義する。

Image in a image block

そして、この中での2つの基底の選び方は以下のように選べるすべての組み合わせのうち、全く同じ形以外のもので組み合わせの集合Πall\Pi^{all}を考えられる。

Image in a image block

だが、Πall\Pi^{all}は、同じガウス分布だけどパラメタが違うみたいなものを防げないので、一様分布とガウス分布による混合、みたいに明確に分布の形が違い互いに表せない必要があり、それはΠres\Pi^{res}という集合とする。こっちのほうが大事

つぎに、最大成分割合というものを定義する。これは、基底の分布λ1\lambda_1が混入できる最大の割合α\alphaだとする。λ=αλ1+(1α)λ0\lambda = \alpha \lambda_1 + (1 - \alpha) \lambda_0

もし、α=0\alpha = 0ならば、一切λ1\lambda_1λ\lambdaに混合されないということ。

最後に、基底の直積の集合、2つの混合分布μ,ν\mu, \nuを与えたとき、ありうる混合比率(α,β)(\alpha, \beta)を構成する集合は、A+(μ,ν,Π)A^+(\mu, \nu, \Pi)とおく。この集合は1つだけ要素を持てば、(α,β)(\alpha, \beta)において識別可能つまり一意に特定できることを指す

だが、ここで意外なことに、Πall\Pi^{all}の要素を基底に使うと、識別可能ではないときがある。

説明

まず、混合分布(μ,ν)(\mu, \nu)が与えられたとする。ここから式(3), (4)の定義に従うと、以下のように基底となるμ1,μ0\mu_1, \mu_0が得られる。

Image in a image block

これらが集合上の測度として満たすには、どうやらα/βα+,(1β)/(1α)β+\alpha/\beta \leq \alpha^+, (1-\beta)/(1-\alpha) \leq \beta^+を満たす必要があるらしい。(α+\alpha^+はαの最大成分割合、β\betaも同様)

だがこの条件を満たすとき、等式ではなく不等式なので明らかに(α,β)(\alpha, \beta)は一意に決まらない。

その代わりに、一意に定まるような条件を新たに、以下のように考える。

Image in a image block

このようにおいたとき、(α,β,μ0,μ1)(\alpha^*, \beta^*, \mu_0^*, \mu_1^*)から混合分布(μ,ν)(\mu, \nu)を生成すれば、ちゃんとClass priorは一意に決まるらしい。

問題設定

確率変数xxを入力の真の分布を表す値をとるランダム変数として、確率変数yyは真のラベルを表すランダム変数だとする。すると、xy=0,xy=1x|y=0, x|y=1に従い、μ0,μ1\mu_0, \mu_1が分布する(それはそう)。

ノイズについては、以下のように加える。

  1. 確率変数S0,1,2S \in 0, 1, 2を各サンプルxX\mathbf{x} \in Xごとに考える。
  2. S=2S=2の時は、データセットから除外する。
  3. S=0S=0の時は、Unlabeledにする。
  4. S=1S=1の時は、Positiveとする。
    1. SSと真のラベルyyは必ずしも一致しないから、Positiveと言ってもNoisyなPositive(yyがNegativeであるものが混入するかもしれない)

PUのNoiseがある問題設定として以下の3つを追加で考える。

  1. p(yS=0)=p(y)p(y|S=0) = p(y) Unlabeledの中のClass priorの値はデータセット全体のClass Priorと同じ。
  2. p(y=1S=1)=βp(y=1|S=1)=\beta ラベルを付けるというS=1S=1の意味を持つ潜在変数を引いた時、実際にPositiveである割合は、全体の観測されたClass priorはβ\betaと同じということ。
    1. 実際にy=0y=0であるようなS=1S=1のサンプルを引いたら、確率γ0\gamma_0で誤ってPになってしまう、というかたちでNoiseが混入する。
    2. なお、y=1y=1の場合でも、すべてラベル付けされるということではなく、γ1\gamma_1の確率で誤って、学習に使わない=データセットから除外される(S=2S=2の時のように)。
  3. p(xS,y)=p(xy)p(x|S,y)=p(x|y) 潜在変数SSは影響しない。 

この3点を満たすならば、以下を満たす。

  • p(xS=0)=p(x)p(x|S=0)=p(x) このようにUnlabeledの分布はp(x)p(x)の分布と同じ。
  • Pr(S=2)0Pr(S=2) \neq 0 除外するデータはありうる。

解き方

以下のような識別器を訓練する。

τP(x)=Pr(S=1x,S{0,1})\tau_P(x) = Pr(S=1|\mathbf{x}, S \in \{0, 1 \})

これをうまく予測することで、以下のように真のClass priorを計算できる。

Image in a image block

具体的なアルゴリズム

ということで、前述のようにα,β\alpha^*, \beta^*がわかり、τp(x)\tau_p(x)がわかったならClass priorが推定できる。しかし、α,β\alpha^*, \beta^*は以下のように定められている。ここで、α+,β+\alpha^+, \beta^+の正確な推定が難しいということでもある。

Image in a image block

パラメトリック

ガウス混合モデルとみなして、すべてのパラメタα,β,μ0,μ1,Σ0,Σ1\alpha, \beta, \mu_0, \mu_1, \Sigma_0, \Sigma_1を同時に推定できるらしい。しかし、これはモデルに実際データが十分フィットする前提。

ノンパラメトリック

AlphaMaxでα+,β+\alpha^+, \beta^+を推定する。