sonoshouのまじめなブログ

情報系大学生からのウェブ見習い人生の記録

第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 + 2k
L:最大尤度 k:自由パラメータ数

BIC(米図情報量基準)

(BIC) = -2 ln L + k ln n
L:最大尤度 n:データ数 k:自由パラメータ数

MDL(最小記述長)

(MDL) = -ln L + (1/2)k ln n
L:最大尤度 n:データ数 k:自由パラメータ数

特徴

これらの情報量がより小さいモデルを良いモデルとする。
MDLの値はBICの値の半分であるため、BIC最小化とMDL原理は同じ結果となる。
AICはデータが十分大きいと第2項がBICより小さい。そのため、BIC(MDL)はAICよりモデル次数を小さく見積もる傾向がある。