2016-05-23_20h41_50

データ解析の手順』 における「2.データを見える化(可視化)する」についてです。なお実行するためのプログラムについてはこちらをご覧ください。

公開中のプログラム・コード一覧(実用的かつ実践的なデータ解析・機械学習・データマイニング) : 大学教授のブログ

線形の可視化手法である主成分分析 (Principal Component Analysis, PCA) とは異なり、自己組織化写像 (Self-Organizing Map, SOM) は非線形の可視化手法です。

[New] SOMのプログラムを簡単に入手できるようになりました!

下のURLからお求めください!

R: http://univprof.com/archives/16-05-02-2888580.html

自己組織化写像 (Self-Organizing Map, SOM)

SOMはニューラルネットワークの一種です。基本的には二次元上 (マップ上) にデータセットを可視化します。元のデータ空間において近いデータが、マップ上においても近いように学習が行われます。SOMの詳細なアルゴリズムを説明するサイトや本はありますが、実際どのように使えばよいかは残念ながら書いていません。そこでこのようなコンテンツを作りました。

SOMは以下の手順で行います。

  1. マップの種類を決める
    一つ一つのニューロンの形が、六角形か正方形かを選びます。とくに理由がなければ六角形にしましょう。
  2. トーラスマッピングにするかどうか決める
    トーラスマッピングにすると、マップの一番右のさらに右は一番左になり、一番上のさらに上は一番下になります。つまり立体的にはドーナッツの形になります。とくに理由がなければトーラスマッピングにしましょう。
  3. マップサイズを決める
    縦に何列、横に何行のニューロンを並べるかを決めます。たとえば横に10、縦に10です。基本的に、(横の数)×(縦の数)、つまり全ニューロンの数、がサンプル数より小さくなるようにします。マップサイズはサンプル数によって変化させるということです。
  4. 学習回数を決める
    大きめに設定しておきましょう。たとえば100です。
  5. 学習率を決める
    0.03とか0.01とかで設定します。たとえばRのkohonenというパッケージでは、学習率を0.05から0.01まで徐々に小さくすることもできます。
  6. 必要に応じてオートスケーリングを行う
    オートスケーリングとは各変数から平均値を引いて平均を0にし、各変数を標準偏差で割って標準偏差を1にする操作です。
  7. SOMを学習させる
  8. 二次元のマップ上でサンプルの位置関係を確認する
  9. U-matrixを見てどのようなクラスター (かたまり) に分かれているか確認する

[SOMの参考書はこちら]

データ解析の質問 募集中!

こちらへお願いします!

ご案内。

オススメ記事セレクション。

twitterでも発信中。

この記事に興味を持っていただけましたら、ぜひフォローをお願いします!


無料メルマガでブログにない情報を配信中。

データ解析・分析に興味がありましたらぜひ登録をお願いします!
無料メルマガの登録はこちら