募集中いろいろな大学などでの研究をわかりやすく紹介したり、研究生活のこと・データ解析のことなど書いたり。CPNN)こんにちは!大学教員ブロガーのねこしです。『データ解析の手順』における「5.回帰モデルもしくはクラス分類モデルを作る」についてです。実行するためのプログラムについてはこちらをご覧ください。SOM)による回帰分析・クラス分類です。教師ありSOMによる回帰分析・クラス分類のプログラムを簡単に入手できます!それぞれのURLからお求めください!noteでもSPIKEでも言語が同じであれば同じものです。SOM)による回帰分析・クラス分類こちらのようにニューラルネットワークの一つであるSOMにより、非線形の見える化・可視化をすることができます。表現されたサンプルを、二次元の平面で確認することができるわけです。(データ分析相談所)このSOMを回帰分析・クラス分類に応用します。二次元平面に見える化・可視化するのはSOMと同じです。SOMの二次元平面において、回帰分析ではどのグリッド(ニューロン)がどの目的変数の値に対応するか、クラス分類ではどのニューロンがどのクラスに対応するかも一緒に決めてしまうんです。データの見える化・可視化と、回帰分析・クラス分類とを一緒にやるわけですね。新しいサンプルについては、二次元平面におけるどこに対応するかわかるため、そこに対応する目的変数の値・クラスも予測できるわけです。教師ありSOM回帰分析・クラス分類は以下の手順で行います。マップの種類を決める一つ一つのニューロンの形が、六角形か正方形かを選びます。理由がなければ六角形にしましょう。トーラスマッピングにするかどうか決めるトーラスマッピングにすると、マップの一番右のさらに右は一番左になり、一番上のさらに上は一番下になります。立体的にはドーナッツの形になります。理由がなければトーラスマッピングにしましょう。マップサイズを決める縦に何列、横に何行のニューロンを並べるかを決めます。横に10、縦に10です。基本的に、(横の数)×(縦の数)、つまり全ニューロンの数、がサンプル数より小さくなるようにします。マップサイズはサンプル数によって変化させるということです。学習回数を決める大きめに設定しておきましょう。学習率を決める0.03とか0.01とかで設定します。Rのkohonenというパッケージでは、学習率を0.05から0.01まで徐々に小さくすることもできます。説明変数にオートスケーリングを行うオートスケーリングとは各変数から平均値を引いて平均を0にし、各変数を標準偏差で割って標準偏差を1にする操作です。SOMを学習させる二次元のマップ上でサンプルの位置関係を確認する二次元マップ上の各グリッド(ニューロン)における、回帰分析では目的変数の値を、クラス分類ではそれぞれのクラスになる確率を図示するクラス分類では、グリッド(ニューロン)ごとに、この確率が最も大きいクラスが割り当てられることになります。(r2C・RMSEC)を計算し、実測値と計算値とのプロットを確認します。上の7.で得られたSOMにより目的変数の推定値を計算する新しいデータを推定する際に工夫が必要なのは、得られたSOMは、説明変数がオートスケーリングされた後のモデルであるためです。そこで、新しく推定したい説明変数のデータがあれば、そのデータからオートスケーリングした時の説明変数の平均値を引き、標準偏差で割ってからSOMにより目的変数の推定値を計算します。ここまでお読みいただきありがとうございます。上にある教師ありSOM回帰分析・クラス分類のプログラムもご活用ください。募集中!こちらへお願いします!ご案内。まとめオススメ記事セレクション。人工知能との未来における人の役割~現役のデータサイエンティストのメッセージ~集中する時間を確保するために大学教授が行っている8つのことtwitterでも発信中。univprofblog1無料メルマガでブログにない情報を配信中。データマイニングブログを勉強しながら役立つ情報を発信しています!フォローしていただけると嬉しいです。