22
Min-max probability machine @ kingqwert

Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

Embed Size (px)

Citation preview

Page 1: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

Min-max probability machine

@ kingqwert

Page 2: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

下準備1(テキトウな)1. 主問題と双対問題

1. 双対定理1. 主問題と双対問題のいずれか一方が最適解を持つなら、もう一方も最適解を持ち、主問

題の最小値と双対問題の最大値は一致する。

2. 二次錐計画問題

1. 2次錐

2. Min w’x s.t. Ax=b, x in S

Page 3: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

下準備2(テキトウな)1. マハラノビス距離

1. イメージは簡単:相関構造を加味した正規化した距離2. 外れ値検出に便利:テコ比との関係(マハラ距離/N-1=テコ比)

1. つまり、まはらがデカイと外れ値である可能性大

2. グラム行列1. Aをn次正方行列都市、その随伴行列A*とすると、A*A(当然半正値エルミート)

3. カーネルのイメージ1. 高次元に写像したら一気に道がひらけたぜ!2. カーネルトリック使うと、別にφ(x)を定義不要!

Page 4: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

テコ比• y_kの係数がテコ比

o y_kが1単位変化するときに、第kサンプルの予測値がどれだけ影響されるか

o これがデカければデカイほど、サンプルの変動は予測値に大きい影響与えちゃう!→外れ値とかの予測へ

Page 5: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

Min-max問題

• いま、2 つのクラスに属するそれぞれのデータが存在するとき、そのデータから平均と共分散行列を推定することは可能。

• しかし、そのデータの分布が分かっている状況はレア。

• 分布の分からないデータに対し、与えられた平均と共分散行列をもつ全ての分布に関して、判別率が最悪となる場合の分布における誤判別率が最小になるような線形判別関数を求めることを目的とする問題を、Min-max 問題と呼ぶ。

Page 6: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

ミニマックス確率マシンLanckriet et al. (2002)

• 2クラス判別手法

• 線形関数で判別

• 各クラスの平均ベクトルと分散共分散が既知

• 判別の精度:実際の分布形に依存

最悪精度基準

各クラスについて可能なすべての分布形を考えたときの最悪の場合の誤判別率が最小になるように線形判別関数を決定

Page 7: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

最悪精度基準と最適化• この問題の何がお得かって。。。。

• すべての分布形を考えたときの確率の上限値を考えるような状況は、凸計画法によってうまく扱える!

• つまり、、、、

• ミニマックス確率マシンは、二次錐計画問題という凸計画問題に帰着でき、効率的に解ける!!!

Page 8: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

そんなの解くの簡単だよ!

(いや、簡単かどうかは微妙だが。。)

はい、内点法 or simplex method~

Page 9: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

Minmaxの設定

)( bzazl T

赤:クラス1

(平均, 共分散)= ),( 11

0bxaT 0bxaT

,1 Class 0bxaT

,2 Class 0bxaT

.2 Classor 1 Class 0bxaT

青 :クラス2

(平均,共分散)= ),( 22

線形判別関数

Page 10: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

最悪の誤判別率

0},Pr{ sup ),(~12 11bxaT

x

クラス1のサンプル の誤判別率

}0{Pr 1 class bxaT

x

),( 11

x0bxaT 0bxaT

,1 Class 0bxaT

,2 Class 0bxaT

.2 Classor 1 Class 0bxaT

可能な分布形すべてを考えたときの最悪の値

だけでは決まらない。

Page 11: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

ミニマックス確率マシン• 問題設定 (誤判別確率を最小化したい)

• これの推定は厳しくない?o だって、確率分布わかってないもん

• じゃあ、これだわ。これ解いたら終わり。o sup p()は、期待値μ、分散Σの分布族の上界

Page 12: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

Marshal and Olkin, 1960

T Ì Ân : convex

supx~(m,S)Pr{x Î T} =1

1+ d 2,

where d = infxÎT ||S-1/2 (x - m) ||

T確率の上限値は から へのマハラノビス距離に等しい!

Page 13: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

幾何学的解釈

Page 14: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

Lanckriet et al. (2002)の功績• 距離ってこれで書き直せるんじゃね?

• 証明は、省略。

なる変数変換を施して、ラグランジアンでwを求めるだけ。

(なぜなら、 )

Page 15: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

ゴニョゴニョ式変形• 証明欲しけりゃくれてやる!

• とにかく、これを解けばいいよ。By Marshal and Olkin

• これ明らかに2次錐問題。なぜなら

Page 16: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

ちなみに

• 北原ら(2007)はミニマックス確率マシンが多クラスに拡張でき、この場合も2次錐計画問題に帰着できることを示した。

Page 17: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

w導出アルゴリズム• ブロック座標降下法

o ちょっと数学的に難しいので、イメージだけ。

• 行列の要素を逐次的に最適化するアルゴリズムo ある最適化したい行列の(i,j)成分だけ最適化し、その他の部分は定数として扱う。

Page 18: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

Rの関数とかないよ。だって、w, b, γ(w)の計算式

出ちゃてるもん

ただの最適化問題なので愚直に式変形していくだけ。

それが、mpm-linear.r (146P)

あ、でもなんか、mpm-linear-ex.rによるとSVMと

それほど変わらない精度を誇ってるっぽいね。

Page 19: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

内点法などで、、、

• 求めるべきパラメータは

• 最初の2つは判別関数f(x)=w’x-bを求めるのに必要

• 最後のγは(13.5)より、最悪ケースでの誤り率を計算するのに必要

Page 20: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

Fisher’s classifierとの関係• 教科書54PよりFisherの超平面はこんな感じ

• こっから求めるb1 (p(x|y)~N, y:ラベル,x:データ)

• Min-max定理で考えたFisher的判別分析によるb2 (最も不利な分布での判別関数)

• ラベル数がアンバランスな場合o |b1|≤|b2|ってなるよ!

o b2にはバイアスが入るよね!(だって、バランスな場合を想定=一番最悪!)

Page 21: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

Kernelをもちいて• 判別関数(classifier)を非線形へ写像

• カーネル関数をデータベクトルの内積として表現

• f(x)=w’φ(x)はカーネル関数の和で

Page 22: Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)

カーネルって怪しくないッスか?

• 高次元空間上での内積<φ(x),φ(y)>って割と計算無理ゲー

→ んじゃ、ある関数k(x,y)で内積がかけたら幸せだよね。

そんな定理有るよ!

• Mercerの定理o u, v in X の関数 k が内積の形で書ける必要十分条件は

• k が対称関数,つまり,k(u, v) = k(v, u) である.

• Kが半正定値。つまり、任意の関数gに何して、