募集中いろいろな大学などでの研究をわかりやすく紹介したり、研究生活のこと・データ解析のことなど書いたり。SVM)でクラス分類の様子を見るこんにちは!大学教員ブロガーのねこしです。『データ解析の手順』における「5.回帰モデルもしくはクラス分類モデルを作る」についてです。実行するためのプログラムについてはこちらをご覧ください。SVM)でクラス分類をすることで、クラス分類の様子を目で確認するお話です。可視化+SVMのプログラムを簡単に入手できます!それぞれのURLからお求めください!noteでもSPIKEでも言語が同じであれば同じものです。SPIKE可視化+多クラス分類SVMのプログラムを簡単に入手できます!それぞれのURLからお求めください!noteでもSPIKEでも言語が同じであれば同じものです。詳しくはこちらをご覧ください。(データ分析相談所)ただ、SVMの弱点として、モデルが非線形のためどのようにクラス分類しているか様子が見えないことが挙げられます。境界線がよくわからないわけですね。そこで、境界線を見える化・可視化します!やり方は難しくありません。PCAやKPCAやSOMやGTMなどによりデータセットを見える化・可視化してから(2次元平面にデータセットを写像してから)、その2次元平面上でSVMを行うだけです。2つの変数だけでSVMによりクラス分類をしなければならないため、2つで十分な情報量を獲得しなければなりません。そのため、線形のPCAよりは非線形のKPCA・SOM・GTMのほうが向いています。それでも、見える化・可視化する前のSVMとくらべて、クラス分類性能が低くなることがありますので注意が必要です。データの見える化・可視化するときは、クラス(カテゴリー)の情報がないデータも扱えます。見える化・可視化のときはクラス(カテゴリー)の情報があるデータとないデータとを一緒にして行い、その後のSVMのときはクラス(カテゴリー)の情報があるデータだけでモデルをつくるってことができるわけです。半教師あり学習になるわけですね。半教師あり学習の利点はこちらをご覧ください。(データ分析相談所)データの見える化・可視化+SVMは以下の手順で行います。)のデータとクラスの情報がない説明変数のデータとをつなげるデータの見える化・可視化するPCAやKPCAやSOMやGTMなどによりデータセットを2次元平面に写像します。クラス(カテゴリー)の情報があるデータについて2次元平面上の座標を得るこれがSVMを行うときの説明変数になります。γの値ごとにカーネル行列を計算し、その分散を計算するたとえばカーネル行列が100×100の行列であったとき、単純に10000×1のベクトルになおして分散を計算します。分散の大きさが最大となるγの値を最適値として決定する分散が最大となるγを選ぶことで、多様な値をもつカーネル行列となります。上で最適化したγを固定して、Cのすべての候補においてクロスバリデーションにより目的変数の推定されたクラス分類結果(推定値)を得るクロスバリデーションとして、leave-one-outクロスバリデーションが有名ですが、オーバーフィッティングを起こしやすいため、5-foldクロスバリデーションや2-foldクロスバリデーションが望ましいです。データを一つ取り除いてそれ以外でモデルを構築して、取り除いた一つを推定することを繰り返すのではなく、あらかじめデータセットを5個または2個のグループに分けておき、1グループを取り除いてそれ以外のグループでモデルを構築して、取り除いた1グループを予測することを繰り返します。得られたSVMモデルにより目的変数の推定値を計算するSVMの結果を最初に見える化・可視化した2次元平面で確認するここまでお読みいただきありがとうございます。上にあるデータの見える化・可視化+SVMのプログラムもご活用ください。募集中!こちらへお願いします!ご案内。まとめオススメ記事セレクション。人工知能との未来における人の役割~現役のデータサイエンティストのメッセージ~集中する時間を確保するために大学教授が行っている8つのことtwitterでも発信中。univprofblog1無料メルマガでブログにない情報を配信中。データマイニングブログを勉強しながら役立つ情報を発信しています!フォローしていただけると嬉しいです。