訓練データとテストデータが 異なる分布に従う場合の学習 東京工業大学 計算工学専攻 杉山 将 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 : 訓練データ y2 x1 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 実データへの応用
© Copyright 2024 ExpyDoc