ランプ損失サポートベクタ―マシン
ICML2006のTrading convexity for scalabilityを元にざっくりとした解説。
SVMは凸関数の最適化問題であることによって、理論的にその性能が保証されているのが売りだけど、非凸関数も最適化したい!っていうのがモチベっぽい。
分類器
の最適化において、パラメタを
として、
を最適化するのが通常のSVM。
この論文ではランプ損失を
とおいて、
となる式をCCCP法を用いて最適化する。
式書くのだるくなったので論文からコピペ引用
で、pythonで実装してみた。
で、前回とおんなじ感じで適当に作ったサンプルを分類してみた。
matplotlib使ったせいか色がきつくてあれだけど、綺麗に分類てきてるっぽいので上手くいってるかも。
ただ、論文読んでもbの決定方法がよく分からなくてサポートベクトル?それぞれについて求まるbの平均を取ってしまったんだけど、詳しい人いたら教えてください。