カーネル法 - パターン解析とは何か

2016-09-18 (Sun.)

機械学習

index

パターン解析とは何か

パターン解析 はデータからパターンを自動的に獲得することを目指す. これはデータを生成するブラックボックスに関する振る舞いを自動的に学習することである.

パターン と呼ぶものを具体的に定義する.

  1. (データ \(x\) に関する) general exact pattern とは \(f(x) = 0\) を満たす自明でない関数 \(f\) のこと
  2. general approximate pattern とは \(f(x) \approx 0\) となる非自明な関数 \(f\) のこと
  3. general statistical pattern とは \(\mathcal{E}_x f(x) \approx 0\)

パターン解析アルゴリズム

パターン解析アルゴリズム とは、有限個のデータから general statistical pattern \(f\) を発見する (或いはそのような \(f\) が無いことを言う) アルゴリズムのこと.

アルゴリズムには次のような性質が求められるだろう:

  1. Computational efficiency (計算効率):
  2. Robustness (頑強性):
  3. Statistical stability (統計的安定性):

統計的安定性についてはいわゆる汎化性能 (the quality of the generalization) と関連が大きい. というかたぶんニュアンスは違うけど同じ現象のことを言っている. 統計的安定性は生成モデルの文脈で言っていて、 汎化性能は予測モデルの予測性能の文脈で言っているだけ. どちらも、似たデータからは似た予測がなされるべき、と言ってるだけ.

パターン解析と仮説検証

データの偏りに引き摺られ、成立する確率が小さなパターンを発見してしまうことがありえる. このことを仮説検証の概念でテストする必要がある. 即ち、十分に小さな確率 \(p\) を以って、誤る確率が \(p\)

過学習 (overfitting)

データが少く、またそのデータの分布に関する仮定が少なすぎる場合、 そのデータ上でのみ良く成り立ち (misfit) 新しいデータに関してはほぼ成り立たないようなパターンを発見することがあり得る. これを 過学習 という. データが生成される過程に関して何かしらの仮定を入れることは過学習防ぐのに多いに役立つ. よく使われるのは、正規分布を仮定することである. もちろん正規分布に従わないものを正規分布と仮定したところで良いパターンは得られない. この逆の現象を過汎化 (underfit) という.

教師アリ (supervised) タスク

データ \(x\) に関してラベル \(y\) が関連づいてるときに \(x\) から \(y\) を予測するようなタスクを考える. このタスクにおける general statistical pattern は次のように記述できる:

\[f(x, y) = \mathcal{L}(y, g(x))\]

関数 \(g\) は予測モデルであり、\(x\) からラベル \(y\) を予測する. \(\mathcal{L}\) は損失関数と呼ばれ、\(y\)\(g(x)\) との近さを非負実数で測る. \(g\) による予測が正しい時に限り \(\mathcal{L}(y, g(x))\) はゼロを示す.

  1. \(y\) の取り得る値がちょうど2つの場合を二値分類 (binary classification) という
  2. 有限通りの場合を多クラス分類 (multiclass classification) という
  3. \(y\) の取り合える範囲が\(n\)次元実数全体の場合を回帰 (regression) という

半教師アリ (semisupervised) タスク

対応するラベルがついてるデータと、ついていないデータ両方を用いる方法のこと. 大抵、目的は教師アリと同様にラベルの予測. ラベルのついていないデータなら大量に手に入るのでデータの事前分布を推定することで汎化性能を上げることが期待できる.

教師ナシ (unsupervised) タスク

データには全てラベルがついていない場合のタスクを教師ナシという. この状況下でのタスクの一つにクラスタリングがある. データ \(x\) のみを比較することで同質なグループに分けるタスクである. 異常検出 (Anomaly, novely-detection) も教師ナシタスクの一つである. これは与えられるデータはほとんど全てが同質であると仮定してそこから大きく外れたデータを検出するタスクである. 例えばある一つの機械の動作を監視し続け、異常を検知する、という適用が考えられる.

他に次元圧縮がある. \(X\) よりも低い次元空間 \(V\) に押しやる \(Pv: X \rightarrow V\) を以って \[f(x) = | Pv(x) - x |^2\] をパターンとして発見する. PCA (主成分分析; principal components analysis) はこれである. CCS (canonical correlation analysis) はこれと似ているが、データ \(x_1, x_2\) のペアをデータ \(x = (x_1, x_2)\) として、 2つの関係のみを調べる: \[f(x) = f(x_1, x_2) = | Pv^1(x_1) - Pv^2(x_2) |^2\]