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