発表資料 - 東京工業大学
Download
Report
Transcript 発表資料 - 東京工業大学
訓練データとテストデータが
異なる分布に従う場合の学習
東京工業大学 計算工学専攻
杉山 将
http://sugiyama-www.cs.titech.ac.jp/~sugi/
[email protected]
はじめに
2
NIPS2006にて, Learning when test and
training inputs have different distributions, と
いうワークショップを開催しました.
結構たくさんの人が参加してくれました.
ワークショップ本も出す予定です.
NIPS2006の本会議でも,関連の論文がいくつ
か発表されました.
教師付き学習
出力
yn
y1
f (x) : 学習したい真の関数
fˆ (x) : 学習した関数
xi , yi in1 : 訓練データ
x1
y2
x2 xn
3
入力
訓練データ xi , y
f (x) を
最もよく近似する関数 fˆ (x) を見つける
n
i i 1 を用いて,真の関数
時間と共にデータの生成分布が
変化する場合
ナイーブなアプローチ:最近採取したデー
タのみを学習に用いる
欠点:過去に集めた膨大なデータを捨てて
しまうため,効率が悪い
過去のデータも有効に利用したい!
分布の変化が1段階の場合を考える
Ptrain(x, y ) Ptest (x, y )
4
分布の変化の仮定
5
分布の変化に何も条件がなければ,テストデータ
に関して訓練データから何も情報が得られない
共変量シフト:
Ptrain(x) Ptest (x)
Ptrain( y | x) Ptest ( y | x)
Ptrain( y ) Ptest ( y )
Ptrain(x | y ) Ptest (x | y )
クラス事前確率変化:
混合比変化: Ptrain(x, y ) trainP1 (x, y ) (1 train) P2 (x, y )
Ptest (x, y ) test P1 (x, y ) (1 test ) P2 (x, y )
共変量シフトの例
(弱)外挿問題
訓練データ
テストデータ
6
7
外挿問題における通常の最小二乗法
モデルが正しければ,
バイアスは最小(ゼロ)
モデルが正しくないとき,
バイアスは漸近的にも
最小にならない
バイアスを減らしたい
“重要度重み付き”最小二乗法
8
(Shimodaira, 2000)
モデルが正しくない場合でも
バイアスは漸近的に最小
“重要度”をどうやって推定するか
ナイーブなアプローチ:訓練入力分布とテ
スト入力分布を個別に推定
個別に分布を推定するよりも,分布の比
を直接推定するほうがよい
9
Maximum Mean Discrepancy
10
A Kernel Method for the Two-Sample-Problem (NIPS2006)
A. Gretton, K. Borgwardt, M. Rasch, B. Schölkopf , A. Smola
二つの分布
が同じかどうか調べたい
ある十分に豊かな関数クラス
に対して
:期待値
:分散
関数クラスが複雑すぎるとうまく計算できないの
で,程よい複雑さの関数クラスを使いたい
11
Maximum Mean Discrepancy(続き)
がuniversal RKHS (K行列が常に正
値)の単位球内なら
例えば,ガウシアンRKHSはOK
実用上は経験分布で近似:
Kernel Mean Matching
Correcting Sample Selection Bias by Unlabeled Data (NIPS2006)
J. Huang, A. Smola, A. Gretton, K. Borgwardt, B. Schölkopf
似たような考え方で,
これの経験分布バージョンは2次計画問題
12
分布の変化の仮定
13
分布の変化に何も条件がなければ,訓練データ
からテストデータに関して何も情報が得られない
共変量シフト:
Ptrain(x) Ptest (x)
Ptrain( y | x) Ptest ( y | x)
Ptrain( y ) Ptest ( y )
Ptrain(x | y ) Ptest (x | y )
クラス事前確率変化:
混合比変化: Ptrain(x, y ) trainP1 (x, y ) (1 train) P2 (x, y )
Ptest (x, y ) test P1 (x, y ) (1 test ) P2 (x, y )
クラス事前確率変化
同様に重要度重み付きで補正できる
Positive
Negative
14
分布の変化の仮定
15
分布の変化に何も条件がなければ,訓練データ
からテストデータに関して何も情報が得られない
共変量シフト:
Ptrain(x) Ptest (x)
Ptrain( y | x) Ptest ( y | x)
Ptrain( y ) Ptest ( y )
Ptrain(x | y ) Ptest (x | y )
クラス事前確率変化:
混合比変化: Ptrain(x, y ) trainP1 (x, y ) (1 train) P2 (x, y )
Ptest (x, y ) test P1 (x, y ) (1 test ) P2 (x, y )
混合比変化
16
Mixture regression for covariate shift (NIPS2006)
A. Storkey, M. Sugiyama
データは二つの関数から採取(どちらからの
関数に対するデータかは分からない)
その混合比が変化
Ptrain(x, y ) trainP1 (x, y ) (1 train) P2 (x, y )
Ptest (x, y ) test P1 (x, y ) (1 test ) P2 (x, y )
ベイズアプローチ:生成モデルを仮定し,EM
max P({xtrain, ytrain, xtest} | train, test )
混合比変化:例
17
訓練データからは二つの関数から採取
テストデータはどちらかの一方からのみから採取
Ptrain(x, y ) trainP1 (x, y ) (1 train) P2 (x, y )
Ptest (x, y ) P1 (x, y )
データをうまく“クラスタリング”する.
まとめ
18
設定:
訓練入力と出力,テスト入力が得られる場合
訓練時とテスト時での分布の変化の種類が分かる
分布の変化の種類はどうやって推定するか?
テスト分布の出力データも得られる場合は?
Domain Adaptation for Statistical Classifiers (JAIR2006)
H Daume III, D. Marcu
実データへの応用