機械学習の数理①(機械学習の捉え方)

はじめに

授業の復習用に勉強したことをまとめていきます。

1. 機械学習の捉え方

1.1 機械学習の捉え方

学習は以下の7つの要素の組み合わせと考えることができます。

  • データのタイプ
  • 教師あり or 教師なし
  • プロセスの型(Batch or Online)
  • 知識表現
  • 学習の目的
  • 学習アルゴリズム
  • 学習成功の評価基準

それぞれの要素についてどのようなものがあるのか見ていきます。

データのタイプ

  • 離散値、連続値
  • ベクトル型、マトリックス型、テンソル型、ネットワーク型
  • 一様的、非一様的 (定義は?)
  • 静的、ストリーム型、時系列型
  • 欠損値のあり、なし

教師ありかなしか

プロセスの型

  • バッチ学習  x^n = x_1, x_2,...,x_nが一括で与えられ、x^nを用いて、 P(x)を推定

  • オンライン学習 データが逐次的に与えられ、各時刻tに置いて、推定結果を逐次的に更新する。

知識表現

全ての知識表現(モデル)は確率分布として表現できる。
教師なし学習では、  P(x;\theta), P(x;\theta, M)
教師あり学習では、  P(y|x;\theta), P(y|x;\theta, M)

知識表現=モデルクラス=仮説空間(hypothesis class)

 \Theta _M:モデルMに付随する実パラメーター空間

潜在表現モデル

 P(X) = \sum_Z P(X, Z) = \sum_Z P(Z)P(X|Z) - 用語
 X:顕在変数、 Z:潜在変数(状態変数)、P(X):周辺化モデル、P(X, Z):完全変数モデル

Ex. 混合分布、 トピックモデル、関係データモデル、状態空間モデル、NMF、RBM, ニューラルネットワーク etc.
★周辺化モデルには非正則性がある(パラメータが一意に決定しない)が、完全変数モデルは正則
機械学習で用いる重要知識表現は多くが潜在変数モデル

学習の目的関数

推定...未知の真の分布を当てる

 \thetaの推定をパラメーター推定、 Mの推定をモデル推定という。

予測...将来のデータの出方(予測分布)を求める

 P(X|x^{t-1}):時刻tにおける予測分布、ただしx^{t-1} = x_1, ...,x_{t-1} 必ずしもパラメーター推定やモデル選択は必要ではない。(Baysiam averaging)

経験損失関数

学習アルゴリズム

学習目的関数の最小化を効率的に解くための手続き、収束の速さ、計算効率、解の精度で良し悪しを評価

パラメーター推定

解析解を求めることが難しいことが多いので、連続最適化を行う。
連続最適化のアルゴリズムはモデル依存

モデル推定、状態推定

数え上げが難しい場合が多い - 離散最適化
動的計画法
変分ベイズ
枚挙法
連続緩和
etc.

集団学習による精度強化

  • Boosting
  • Bagging
  • Aggregation
  • Random Forest
  • etc

学習成功の評価基準

学習目的関数を最適化することは一体何を学習しているのか?メタな視点から学習アルゴリズムを評価する必要がある。

  • 可読性が高い知識表現(決定木、トピックモデル、etc)が学習精度が高いとはかぎらない。
  • 学習精度の高い知識表現(CNN、RNN、etc)は一般に可読性が低い。
  • 可読性の高い or 学習精度の高い知識表現ほど一般に学習時間がかかる。

理論的評価フレームワーク

  • Batch学習
    • PAC(Probably Approximately Correct)学習
    • 汎化損失、統計的リスク
  • On-line学習
    • 累積予測損失  \sum_{t=1}^{n} L(x_t:学習結果_t) L:損失関数
    • リグレット
       \max_{x_1...x_n} \{ \sum_{t=1}^{n} L(x_t:学習結果_t) - \min_{P_1,...,P_n} \sum_{t=1}^n L(x_t:P_t) \} いかに小さく抑えられるか?、モデルクラスに依存。

実験的評価フレームワーク

学習結果の性能を、訓練データと同じ情報源から発生する異なるテストデータに対して経験的に評価する。

  • ROC(Receiver Operating Characteristic)曲線
  • Precision-Recall曲線