• 高性能の機械学習システムを使っていても、データの次元数が大きくなり過ぎると、「次元の呪い」と呼ばれる要因によって効率的に機械学習をさせるのが難しくなります。
  • 「次元の呪い」を回避するためには、データの「次元」(説明変数・パラメータの数)を減らすために、特徴選択・次元削減を行ってデータの次元を減らす必要があります。

 

次元の呪いとは

大量のデータを分析する時は大きな次元のデータの処理をする事が多くなりますが、次元数が大きくなると次元の呪いと呼ばれる問題が発生する事に注意しなくてはなりません。

次元の呪いとは、データの次元数が大きくなり過ぎると、そのデータで表現できる組み合わせが飛躍的に多くなってしまい、その結果、手元にある有限なサンプルデータでは十分な学習結果が得られなくなることを指しています。

ビッグデータを処理するためのコンピュータシステムを用意している場合でも、機械学習でデータを処理する場に、次元の呪いに注意しないと、計算コストが莫大となるだけでなく、十分な学習結果が得られず、未知のデータに適切に対応出来なくなる等の不具合が発生してしまいます。

 

 

 

次元の呪いを回避する方法

高性能の機械学習システムでも、処理するデータを増やして次元数が大きくなってしまうと十分に性能を発揮出来ません。

次元の呪いを回避するには、特徴量(説明変数)の数を減らすために、

・特徴量の中から必要なものを選び出す特徴選択
・本来の情報が維持したまま低次元のデータに変換する次元削減

を行う必要があります。

 

 

 

特徴選択と次元削減

特徴選択
・前向き法 適切な特徴量を選んでいく
・後ろ向き法 除外するべき特徴量を一つずつ削除して行く
の2種類があります。

前向き法で、適切な特徴量を選んでいく場合には、どこまでデータを完全に説明できているか、実データとモデルによるデータとの誤差の総和をモニタしながら確認しながら特徴量を増やしていく手順が多いかと思います。一方で、全パラメータの中から次元を削減するために除外するパラメータを求める方法としてはは、主成分分析や判別分析などの分析結果を用いて、低次元のデータに変換していくことが多いかと思います。

このような方法を使ってデータの意味を損ねる事なく、出来るだけ次元を減らさなくてはなりません。

関連ページ機械学習における特徴抽出

 

主成分分析とは

多次元データのもつ情報をできるだけ損なわずに低次元とする方法

  • 低次元化するときに選択され残される軸は、もとの多次元データの分散共分散行列の固有ベクトル
  • 固有値が大きいものから対応する固有ベクトルを選択していくことにより低次元化する
  • 選択されなかった固有ベクトルの固有値の和の全固有値に対する割合が十分に小さくなれば十分にもとのデータの情報を表現しているといえるので、どこまでの低次元化をするかの判断基準に固有値を用いることができる
  • ただし、基本的には高次元空間中の線形の部分構造しか取り出せず(直線や平面・超平面)、非線形な構造を持つデータではうまい次元圧縮結果が得られない

 

 

 

 

本サイト上に掲載されているまとめ記事が、毎週ステップメールで受け取ることもできます。

 

 

参考文献