モデル選択に関するメモ

  • 10日ほど前の研究会でMDLの話しが出た。そのときにFrequentistsとBayesiansとの対比からモデル選択を考えることが話題になった
  • そのほかにもデータ処理プロセスの設計にあたって、モデル選択をどうするかという実務的なことが話題になった
  • こんなことを背景に、モデル選択とモデル選択基準に関する情報をメモってみよう
  • 積年のいろいろがある分野なので、なるべく、「立場フリー(もしくは、玉虫色・八方美人)」に記述しているものを基準にしたい
  • 次の3つを参考にする
  • イントロ
    • 3つの立場がある
      • (Risk-minimizing) Frequentists
      • Bayesians
      • Practitioners
    • 3つの立場の現状は?
      • Frequentists
        • performance boundを最小化することで、モデル選択問題は解けている
      • Bayesians
        • 事後確率を全モデルについて平均してしまってモデル選択問題を回避してしまおう
      • Practitioners
        • (ごちゃごちゃうるさいので)Cross-validation法で結果オーライにするが吉
    • それらに対する課題は?
      • Freq/Bayesのそれぞれは、ハイパーパラメタ(事前確率に影響を与え、モデルの集合全体に影響を与えるようなパラメタ)の少なくとも1つがきちんと扱われ切っていなくて、Cross-validationされているのでは…という指摘
      • Practitionersの場合は、手法に遊びがある(training/validating の選び方が色々にできる)、また、cross-validationエラーをover-fittingする問題が残る…という指摘
  • 問題設定
    • 「モデル選択」という問題設定が違えば結論は変わってしまうので、そこを確認する
      • "データや現象をうまく説明できる、または、未来のデータや観察をうまく予測できる"ようなモデルを選ぶための方法をモデル選択とする
      • "Scientific"なモデリングと"Statistical"なモデリングの両方を含んだ定義になっている(Scientific modelingのWiki、Statistical modelingのWiki)が、Statistical modelingが対象
    • 問題は2分する
      • なるべく統一的にとらえることを目指すが、2つに分ける
      • 教師アリ Supervised learning
        • i.i.d. (independently and identically distributed) dataから
      • 教師ナシ Unsupervised learning
        • non i.i.d.
  • 教師アリ学習でのモデル選択
    • データペア\{\mathbf{x},y\}がある分布P(\mathbf{x},y)からのi.i.d.サンプルであると仮定する
    • Frequentists: 一つのモデルに行きつきたい
      • モデルが示す値と実測値との差を評価する関数(評価関数 evaluation functions, estimators)を指標に、それを最小化する(ことを目指すこと)で、モデルのパラメタを推定する
      • 評価関数の選び方と最適化のアルゴリズムの選び方とに依存する
      • Risk minimization, PAC learning, maximum likelihood optimization, MAP learning など
    • Bayesians: 複数の(すべての)モデルの集合体としてモデル化する
      • 仮説集合が凸包になっているときにその仮説凸包上のどれかをモデルとするのではなく、仮説凸包のどのモデルがどれくらい寄与しているかを勘案してその期待値を解とする(convex_combination)
        • 期待値の出し方で方法名がつく(Bayesian learning, Bagging ensemble methods)
  • ハイパーパラメタとパラメタ
    • パラメタ表示されたモデルの最適化をするためには、パラメタ表示を選ばないといけない。あるパラメタ表示を選ぶということは、そのように表される範囲にモデルを限定すること
    • 仮説集合の凸包を定めるということは、そのように表される範囲にモデルを限定すること
    • このように、「前提となる仮説の範囲」を設定しているのがハイパーパラメタ
    • ベイジアンでの事前確率もハイパーパラメタ
    • 仮説空間を設定するのをPreprocessing (Feature selection)と、仮説空間内での作業をPostprocessingと呼ぶ
  • 階層的モデル選択
    • ハイパーパラメタを選んで、そのあと、限定した仮説空間の中でモデル選択をする、というのは、2段階のモデル選択とみなせる
    • 2(多)段階モデル選択は1段階モデル選択よりもよいのかよくないのか、over-fitting問題とはどういう関係にあるのか
    • この考え方はFrequentists, Bayesiansの両方が試みた
      • hinge-loss,ridge regression,weight decay, regularized radial-basis function networks, Gaussian processes, square loss function, LASSO...(分類すると Euclidean norm(2-norm), 1-norm, 0-norm regularizers)
      • RegulalizersのWiki
    • Bias/variance tradeoffと称される(Wikiの説明)
  • モデルの選択という作業
    • Bayesiansでは、「選択はしない」。仮説集合について「ならす」だけ
    • Frequentistsでは、「選択する」という作業は、選択しようとする「点としてのモデル」が「観察データを説明しすぎず・説明しなさすぎず(over-fittingもunder-fittingもしない」かどうかの判定をすること
      • そのような適当な「点」がover-fitting/under-fitting的に「並んで」いれば、そのような適当な「点」を探すことになる。(「並んで」いなければ話は別?):performance boundsのよいところを探す
      • ただし、このover-fitting/under-fittingがどの程度になるのかをうまく算出しやすいとは限らない
  • 多段階モデル選択での作業
    • Filters: 仮説空間を狭める方法の一つ
      • データを「かける」前処理・カーネル/モデル設計・Regulalizers設定・ノイズモデル設定・選択の基準
    • Wrappers: 探し方・学習機械が複数あるとき、そのどれを選ぶかを決める方法。探し方・学習機械の中身を知る必要なし
      • 探索・サンプリングする(そのアルゴリズムが必要)
      • 評価して選ぶ(評価関数が必要)
    • Embedded methods: 個々の探し方・学習機械の内部設定にも踏み込む
      • どうやって探す、アルゴリズムは、評価関数は、という問題があるのは同じ
  • その他のこと
    • 探索効率のこと
    • 結果の解釈しやすさのこと
    • 事前知識を入れるか入れないか
    • 計算機負荷
    • i.i.d.でなかったら
  • まとめ
    • 結局のところ、「わかろうとする枠組みの内側でしかわからない」
    • どの方法も歴史を背負っているが、不完全な点では同じ
    • 解決したい山への方向性は一緒
    • 教条主義でなければ、どれでも、ま、いいか、と(これが、Practitionersの立場、ということになるのか)