2017年3月17日 更新

【機械学習勉強会】パターン認識と機械学習(PRML)第1章のまとめ Part.2 ~モデル選択・次元の呪い~

機械学習理論の名著である『パターン認識と機械学習』(Pattern Recognition and Machine Learning, PRML)の内容をまとめます. 第1章の Part.2 では,「モデル選択」「次元の呪い」について説明します.

10,777 view お気に入り 0

別の方法として,「情報量基準」と呼ばれるものを用いる方法があります.

さきほど「複数のパラメータを場当たり的に試すのは時間がかかる」と言いました. 実際に学習させることなく「モデルのバランスの良さ」を測ることのできる尺度があれば, パラメータが多くとも時間はさほどかからないと期待できます.

その尺度となるのが「情報量基準」です. 一つは赤池情報量基準(AIC)と呼ばれ, \begin{align} \ln p(\mathcal{D}\mid \bm{w}_{\mathrm{ML}})-M \end{align} という式で表されます. $\ln p(\mathcal{D}\mid \bm{w}_{\mathrm{ML}})$というのは対数尤度, すなわち「そのモデルがどれだけデータにふさわしいか」を表す値です. $M$はモデルの中のパラメータの数を表します.

この赤池情報量基準が最大となるようにモデルを選べば, データをよく説明しており(対数尤度が高く), なおかつパラメータの数が大きすぎないようなモデルが選択されると期待できます. こういった「情報量基準」は,他にベイズ情報量基準(BIC)と呼ばれるものもあります.

しかしながらこういった規範も万能ではなく, 実際には単純なモデルを選びやすいと言われています.

【次元の呪い ~1.4節~】

先程までの「モデルの選択」にかんする話からはうってかわって, ここからは次元の呪いと呼ばれる概念について説明します.

私たちの住んでいる世界は,しばしば3次元空間と言われます. 3次元の世界に住んでいる私たちは,数直線・座標平面・座標空間と, 「3以下の次元」の世界のことはなんとなくイメージすることができます. たとえば,円や球,立方体やドーナツ型の形をイメージすることは簡単にできますね.

しかしながら,数学で出てくる世界は1,2,3次元の世界だけでなく, 4次元,5次元,…それらをはるかに超える高次元の世界も存在します. そして,機械学習を行う文脈で登場するのは, 3次元をはるかに超えるベクトルであることが非常に多いのです. たとえば画像解析.ラスタ画像のデータを単純に「画素」の集まりと見なして扱う場合, 小さい画像でも1000を優に超える次元の空間を考えることになります.

手書き文字の一例

手書き文字の一例

アメリカの郵便番号の手書き文字.
画像データの中では画素数は少ない方だが,それでも
ベクトルに直すと$28\times28=784$次元ある(カラーと考えると次元はさらに増える).
手書き文字の画像は,784次元の空間に横たわっている1つの点として,
数学的に記述することができる.

3次元空間に住む我々は, 数式なしでこういった高次元空間をイメージすることが非常に困難です. それらを理解するために数学が発展した,と言ったほうが適切かもしれません. たとえば, $(x_1,x_2,\ldots,x_{10})$ という10個の数字の組で表現される点の集合は 10 次元空間をなします. 「10次元空間中にある,半径1の球面(超球面,と言います)」は, 我々の住む世界での半径1の球が $x^2+y^2+z^2=1$ と表されることから, \begin{align} {x_1}^2+{x_2}^2+\cdots+{x_{10}}^2=1 \end{align} という式になるだろう,と想像できます.実際,超球はそのように定義されます.

しかし,上のような単純な式からなる,「球」という単純な図形の拡張ですら, 私たちにとってはなかなか想像できないような性質を持っています. たとえば超球面の内部の【体積】. 超球の体積は,それをすっぽりと囲む(外接する)立方体の体積の何分の1でしょうか.

3次元空間における,立方体の中の球

3次元空間における,立方体の中の球

この図の「10次元版」を考えると,
超球は,外部で接する超立方体の体積の何%を占めるだろうか.
なお,3次元において(球の体積)/(立方体の体積)はおよそ52%である.

実は,立方体とは20箇所で接するにもかかわらず, 立方体と比較するとたった 7.97% ほどしかありません. 3次元空間なら,「球に対する立方体の体積はおよそ倍ぐらいかな」 と予想できる人も多いでしょう.しかし, 10次元空間において,(計算することなく)体積比をイメージするというのは至難の業です.

次元が高くなることによる困難は他にもあります. データが存在する領域を,細かいマス目で区切る(メッシュ分割)ことを考えてみましょう. 立方体の1辺をそれぞれ10分割するとすれば 全体は$10^3=1000$分割されることになる,というのは3次元の話ですね. 10次元では 10000000000 個もの分割が必要になります. 784次元では…もはや天文学的数値ですね.

たとえば各々のメッシュに対して支配的なラベルを貼っていくようなアルゴリズムでは, 計算量は次元が増えるごとに,指数関数的に増えていきます. その結果,低次元ではさほど困難に思わない「メッシュ分割」も, 高次元では実現できないことがあります.

まとめると,高次元空間を考えるとき

  • 高次元空間を想像・可視化するのは困難であり, 直感に反する結果がしばしば生じる
  • 高次元空間中での数値計算は,次元が大きくなるとすさまじく計算量が増えてしまうことが多い

ということがしばしば機械学習では障害になる,ということです. このような高次元特有の困難のことを次元の呪いといいます. 「呪い」という表現から,それがどれだけ恐れられているのかなんとなく察されますね. その分,次元の呪いを回避する方法も既に考案されています. 今回は詳しく話しませんが, 主成分分析による次元削減はその代表的な手法の一つといえます.


今回の記事は以上です. 次回は「決定理論」についてお話しする予定です. ご期待ください!

25 件

関連する記事 こんな記事も人気です♪

【機械学習勉強会】パターン認識と機械学習(PRML)第1章のまとめ Part.1

【機械学習勉強会】パターン認識と機械学習(PRML)第1章のまとめ Part.1

機械学習理論の名著である『パターン認識と機械学習』(Pattern Recognition and Machine Learning, PRML)の内容をまとめます.
最上 伸一 | 23,481 view
【機械学習勉強会】パターン認識と機械学習(PRML)第1章のまとめ Part.3 ~決定理論~

【機械学習勉強会】パターン認識と機械学習(PRML)第1章のまとめ Part.3 ~決定理論~

機械学習理論の名著である『パターン認識と機械学習』(Pattern Recognition and Machine Learning, PRML)の内容をまとめます. 第1章の Part.3 では,「決定理論」について説明します.
最上 伸一 | 10,562 view
KaggleチュートリアルTitanicで上位3%以内に入るには。(0.82297)

KaggleチュートリアルTitanicで上位3%以内に入るには。(0.82297)

まだ機械学習の勉強を初めて4ヶ月ですが、色々やってみた結果、約7000人のうち200位ぐらいの0.82297という記録を出せたので、色々振り返りながら書いていきます。
Takumi Ihara | 190,109 view
LSTMとは〜概要と応用について〜

LSTMとは〜概要と応用について〜

音声信号処理や文章・対話の生成に用いられているLSTM(Long Short Term Memory)についてまとめました。
pythonによるtensorflow〜deepdreamによる画像変換〜

pythonによるtensorflow〜deepdreamによる画像変換〜

今回は前回のtensorflowの記事に引き続き、deepdreamによる画像変換についてご紹介します。

この記事のキーワード

この記事のキュレーター

最上 伸一 最上 伸一