SVMとラージマージン
まずはじめに、私にはラージマージンという言葉の定義自体がよくわかっていません。教科書をいくつか見てもラージマージンという言葉は定義が見当たらないので、私はラージマージンという言葉は避けて通っています。(最大マージンという言葉を使い、それが使えるか分からない場合はその話題は避けて通っています。)
指摘されたのは正則化項がL2でないとラージマージンが達成できないという話であると私は考えていたのですが、そうでないのだとしたら、L2でなければラージマージンではないという話と、L2でなければSVMでないという話は分けて考える必要があると思います。
L2正則化でないとラージマージンでないかどうか
これはラージマージンという言葉の定義によると思います。一応、最大マージンという話であると考えて話を続けます。
以下のような記述から、ハードマージンSVMではL1マージンでもL2マージンでも解は一致すると考えています。
言語処理のための機械学習入門 P.120
- 分離平面のマージンは、1/|w|で表されることになる。これを最大化したいのだが、絶対値は扱いにくいので2乗して、1/w^2を最大化することにしよう。こうしても求める分離平面は本質的に変わらない。
パターン認識と機械学習(下) P. 38
- 上記のスケーリングのもとで最適化問題は単に||w||^{-1}を最大化する問題に帰着する。さらにこの最大化問題は||w||^2を最小化する問題と等価である。
ソフトマージンになってくるとL1とL2で解は一致しないはずですが、ハードマージンの場合の議論の展開からすると、扱いやすいからL2を使うのであり、L1であればダメだという理由は特になさそうに思えます。
- http://www.robots.ox.ac.uk/~cvrg/bennett00duality.pdf Bennett and Bredensteiner, Duality and Geometry in SVM Classiers.
上記の論文には、L2のsoft margin SVMは{+1, -1}の2つのクラスがあったとして、それぞれのクラスのreduced convex hullの間のもっとも近いデータ点を探す処理と等価であり、L1の場合も距離の測り方が変わるけれど同様の議論が成り立つ、と書いてあるように思えます。(あんまりちゃんと読めてないので間違ってるかもしれませんが。)
双対形式に変形してカーネルを使う場合は、リプリゼンター定理を使って最適解がサンプルの重み付き和の形で表せると保証できるのはL2の場合だけですが、 http://speakerdeck.com/u/tkng/p/basis-of-optimization ではそもそも双対形式までたどり着いていません。
L2正則化でないとSVMではないかどうか
SVMといったときにデフォルトだとL2正則化を使うことは自然だと思いますが、かと言ってヒンジ損失+L1正則化に対してSVMという言葉を使えないということはないと思います。
実際、L1正則化SVM(L1-regularized SVM)という表現はいくつかのページで見られます。
- http://www.csie.ntu.edu.tw/~cjlin/papers/l1.pdf (liblinearのChih-Jen Linら)
- http://www.chokkan.org/software/classias/index.html.ja (Cllasiasの岡崎さん)
ですので、SVMは通常はL2正則化なのでそこを誤解しないようにということであれば、資料(http://speakerdeck.com/u/tkng/p/basis-of-optimization)の方は修正します。
まとめ
上記をまとめると、
- L2正則化でないとラージマージンであると言えないか?→用語の問題であるがL1でも言えるだろう。
- L2正則化でないとSVMと言えないか?→L1でも言えるだろう。
というのが私の意見です。ご意見、コメントなど頂けましたら助かります。
git diffがおかしい場合がある?
gitはバージョン1.7.1。
gitでリモートで変更されていた場合に、git stashしてgit pullしてからgit stash popするとAuto Mergeが発生する。で、コンフリクトが起こった際に、明らかにコンフリクトでも何でもないリモート側での変更点がgit diffで表示されることがある。バグなのか仕様なのかもよくわからない。
git addしてgit diff --cachedすると、その奇妙なリモート側での変更は出てこなくなる。
よくわからないけど不便。
タイ行ってきた
WTIMで発表するためにタイのチェンマイに行ってきた。
行く前はトカゲがたくさんいるとかいろいろと怖いことを聞いていたが、実際に行ってきたらそこまで恐ろしいことはなかった。
- コンセントは日本のものがそのまま刺さる形をしてるやつが多かった。Cコンセントへの変換器は持ってったけど使わなかった。
- 海外で普段の携帯電話が使えるのは感動的に便利だった。携帯メールとか使えると超便利。ただ、電波状況はよくなかったりするので頼り過ぎは良くない。ともかく、GSMが使える携帯は便利。いつの間にか海外定額とかできてるし。
- AndroidだとGoogle Mapのローカルキャッシュ機能(試験的な機能でまだちょっと使いにくい…)であらかじめ地図をキャッシュしておくことができるが、この状態とGPSの組み合わせは本当に便利。普通にGPSつきの地図なわけですからね…。
- 本で地図見てたら一発で地元人じゃないとバレるけど、携帯だとそういう意味でも多少マシな気がする。タイだと携帯の普及率は高そうだった。
- インターネットコネクションは全体的にあまり速くない。日本への回線が細いのかな? ネットカフェ的なところでは接続料は高くないが、ホテルだとかなり高額を取られる。日本だとwifiは有料でも1日500円ぐらいだと思うので、日本より高い。
- チェンマイの治安は良かった。露店の売り込みもそんなにしつこくなかった。夜に一人で行動してもまぁ問題はなさそう。
- ご飯はだいたいおいしい。安いという話だったけど、ビールとか飲むと1000円ぐらいは行ってしまい、意外とそんなに安くもない。日本よりちょっと安いぐらい。
- 露店で飯を食べたりしていると羽虫がいるし、ホテルによっては部屋にアリがいたりしたらしい。幸い、自分の泊まったホテルには虫はいなかった。
- 歯磨きをするときには水道水を使ったが、なんというか違和感のある、飲用したらダメそうな味がした。
- 街中に結構セブンイレブンがあった。旅先で細々としたものを買う場所として、コンビニはすごく便利だった。ちゃんとお釣りくれるしね。
- ロイカートン祭の最中だったので、夜中まで勝手に打ち上げ花火をしていたり爆竹を鳴らしていたりでうるさかった。
- 花火は各自で勝手に打ち上げるものらしい。結構でかい花火がばんばん上がる。あの火薬の量はちょっと危険なんじゃないか。
- いたる所にロウソクの火がついていたり、ランタンを飛ばしたりしていて、日本だと消防署から怒られそうな感じ。
- 祭りは全体的に各自で勝手に楽しんでる感じなのが気楽でよかった。
- お腹を壊すことはなかったが、辛いものの食べ過ぎでお腹の調子はやや悪かった。
ご飯美味しかったし、今度はのんびり遊びに行ってみたいが、無理だろうなぁ…。
明日からタイ
明日からタイです。今日は早く寝ないとまずいけど、まだ準備ができてないよ。旅行本買うのも忘れたよ。