第9回PRML読書会
土曜日はサイボウズ・ラボで行われた第9回PRML読書会に参加しました。
自分は発表者トップバッターでSVMの基本的なところを説明しました。
参加者の方からもいろいろ指摘をいただきました。
- なぜマージンを最大化するとよいのか?の説明で『まず2値に分類された学習データをガウスカーネルでのParzen推定を適用して入力の分布を推定する。誤分類が最小になる分類平面は、ガウスカーネルの分散を→0の極限において、マージンを最大化する分類平面に一致する』とあるが、なぜ分散を0に近づけるのかがわからない。
- そういうものとして理解するしかない?理論的な説明はまだ分からずです。。
- Randomized Algorythmを適用してSVMの計算を高速化する手法がある。
- ちょっとググってみたところこの辺ですかね。いろいろと制約はるみたいですがO(log n)で二次計画問題の近似解が求まる!
- biasをゼロと仮定して、二次計画問題を高速で解く手法が存在する。
- liblinearなどのライブラリでこの手法が利用されている。
多クラスSVMの発表のときにも参加者の間で議論がありましたが、SVMはやはり2クラス分類器で、多クラスに応用する事例というのは実際にも少ないそうです。(PRML7.2で紹介されているRVMはSVMとは名前は似ているが完全な別モノ!)
個人的には2クラス分類、と言われてもあまり実際的な使い道が思いつかないのですが、世間的にSVMがもてはやされてるのはそれだけ2クラス分類をしたい問題が多いということなのか。今後SVMの事例を見る際は、そういう観点からも考えていきたいと思いました。
あと、8月末の第6回読書会でもニューラルネットワークの説明をしたのでいまさらですが資料をあげておきます。
このときにも冒頭にSVMとの比較がありましたが、今回改めて両方を比較してみると、
- SVMはSparseな解になる
- 訓練データの特性にもよるがマージン境界上の訓練データ集合が少ない場合は予測計算量がすくない。
- SVMは局所解問題がない
- NNでは局所解問題があるので、初期値選択を慎重にする必要がある。
- SVMにはマージン最大化による汎化能力がある。
- NNは過学習の問題がある。
- SVMは基本的に二クラス分類器
- NNはどちらかといえば回帰に向いている。
という感じでしょうかな。多クラス分類とか回帰とかだったらSVM以外の選択肢を使った方がよさそうかな、と改めて思いました。