機械学習初心者がサポートベクトルマシンのモデル作成を論文に書くまで
画像とかを分類する作業を研究でやっていて,色々考えた結果サポートベクトルマシンで機械学習することにした.が,それを論文にまとめなければならない.そして機械学習を専門にやっているような研究室ではないのでなかなか文章に落とし込んだりするのが辛かったりする.
色んな論文読んでどう書くべきかをまとめとく(プロ機械学習マンによる検閲が怖い).
まずなぜサポートベクトルマシンなのかを書く
まず発表で「なんでその手法を選んだの?」っていう質問が大体飛ぶ.ここで何故サポートベクトルマシンなのかが言えないとなかなかつらく,「ディープラーニングでやろうよ」とか「機械学習は内部がブラックボックスなのでそれはどうか」とか言われてしまう.みんなすぐディープラーニングとか言う.
ので,これを読め
サポートベクトルマシン (機械学習プロフェッショナルシリーズ)
- 作者: 竹内一郎,烏山昌幸
- 出版社/メーカー: 講談社
- 発売日: 2015/08/08
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
このあたりの記事も良かった.
SVMは2値分類との相性がとてもいいので自分がデータを二種類に分類したいということを説明し,SVMではそれが可能であるということを書く.
選んだカーネル関数とパラメーラ設定を書く
RBFカーネルが一番よい.一番よく使われるカーネルなので特に理由とかを示さなくてもよさそう.論文でも「最も一般的なRBFカーネルを採用する」みたいな表記があったりする,のでそれをパクる.
自分の場合は線形カーネルもやったけどあんまり結果は変わらなかった.
パラメーターはグリッドサーチを利用するとよい. pythonのscikit-learnを使うとグリッドサーチができる機能が実装されているので簡単.
特徴量の抽出について書く
サポートベクトルマシンに流していくデータをどうやって選定するかを書く.
画像系だとそのまま画像のピクセルを垂れ流さずに何らかの工夫をしている事例が多いのでそういうのを参考にしながら書く.
これはケースバイケースなので詳しく書かない....
学習させたモデルの評価する
評価方法については他のブログが参考になる.
再現率,適合率,特異度,正確度,F値などがあり,ざっくばらんに評価したいならF値,特定の事象のみに特化して評価したいならそれ以外で評価する.
この記事の病気の患者分類方法の事例が分かりやすい.
学習時間とかも評価の指標になるかも.
ここで満足できる値を定義してそれに合格したモデルが作成できたみたいな論が導ければ完璧.たぶん.
まとめ
特徴量の選定
カーネルとパラメータの設定
評価
の順に書くのが一般的っぽい.
特にSVMに詳しくない自分のような人が論文執筆中に不安になったら,先行論文を探してそれをパクる.自分を信用するやつは何をやってもダメ
おまけ:参考にした論文
-
カーナビアプリのためのSVMを利用した車の停止判定方法 https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=178204&item_no=1&page_id=13&block_id=8
- Twitterの実況ツイートを利用したタイムライン上のネタバレ情報検知
- ダークネットトラフィックに基づく学習型DDoS攻撃監視システムの開発 https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=146976&item_no=1&page_id=13&block_id=8