第3回機械学習勉強会
今回が最後、備忘録。
機械学習面白いなー。
数学をもっとしっかり勉強すべきだ。
今しか数学は勉強できないだろうから、学生のうちに習得できるだけ習得したい。
非線形SVM
概要
データとクラスタ数を入力として、データをクラスタに分類する。今までの線形SVMでは、線形分離可能問題しか解決することができなかった。
これに対し、非線形SVMではカーネル法を導入することにより、データを線形で分離可能な高次元空間へ写像する。
その結果、線形分離不可能問題は線形分離可能問題となり、従来通りSVMを適用することができる。
また、過学習を防ぐためにソフトマージン付の最適化問題を導入する。
入力
・カーネル関数k・教師ベクトルx
・教師信号t
・ソフトマージンパラメータC
出力
・分類平面のパラメータw,bロジスティック回帰
概要
ラベル付けされたデータ集合を2クラスに分類する。線形不可能問題に対しては、データを特徴空間に射影し、ロジスティック回帰で分離を行う。(無論、その後境界線を入力空間に戻すことによって分類は完了する。)
入力
・非線形変換が行われたデータ集合・データのラベル
出力
・線形な決定境界を与えるパラメータSVMとの比較
2値分類はSVMの方が優れている。分類の確率を出したい。多クラスに対応したい場合はロジスティック回帰を用いると良い。
※ExcelのSolverを使ってカンタンに実装できるらしいヨ。
交差検定法 (クロスバリデーション)
概要
機械学習などのパラメータを決定するときに用いる。さらに、データ量が少ない場合やテストデータの選び方によって、大きな誤差が生じる場合に用いると良い。
アルゴリズム
1.教師データをn分割する。(ランダムにデータをサンプリングする。)
2.n分割した内1個をテストデータとし、残りのn-1個を教師データとして学習を行う。
3.学習が完了したら、1個のテストデータを入力し、精度を出す。
4.分割した全てのデータがテストデータとなるようにn回1〜3を繰り返す。
5.n個の精度の平均をそのパラメータの推定精度とする。
これをパラメータごとに繰り返し、比較をする。
最も推定精度が高かったパラメータがデータ集合に最も適したパラメータと言える。
特徴
・わかりやすく、直感的である。・計算時間がn倍かかる。(後述するAICは1回の計算で良い。)
・パラメータが多い場合、交差検定法でパラメータを決定するには時間を要する。
AIC/BIC/MDL
概要
モデルの複雑さとデータの適用度との間の指標量を算出する。これを用いることでより良いモデルの選択ができるようになる。AIC(赤池情報量基準)
(AIC) = -2 ln L + 2kL:最大尤度 k:自由パラメータ数
BIC(米図情報量基準)
(BIC) = -2 ln L + k ln nL:最大尤度 n:データ数 k:自由パラメータ数
MDL(最小記述長)
(MDL) = -ln L + (1/2)k ln nL:最大尤度 n:データ数 k:自由パラメータ数
特徴
これらの情報量がより小さいモデルを良いモデルとする。MDLの値はBICの値の半分であるため、BIC最小化とMDL原理は同じ結果となる。
AICはデータが十分大きいと第2項がBICより小さい。そのため、BIC(MDL)はAICよりモデル次数を小さく見積もる傾向がある。