原稿も出したし、次のネタのために論文読んでたけど全然分からないし(ダレカタスケテ!!!)、3連休だし、現実逃避したい!!!ということでFOBOSの論文を読んだりしていました。なんでFOBOSかっていうと、就活の面接のときに「SVMとか(使った、じゃなくって)実装したことがありますか?」と聞かれてNoとは答えられないので...とかいうのは嘘ですが、PFIのBlogでid:tkngさんがFOBOSを紹介する記事を書かれていたからでした*1。ResearchFOBOSは卒論終わったくらいに岡野原の発表で知ったようですが(このときは名前がFOLOSだったようだ)、このときはNLPかじってもいなかったので「sparse何それおいしいの?」な状態でそのときはあんまり深追いしていませんでした。正則化項の閉じた形での最適解の計算の2つが肝です。lossのように微分不可能な場合でも使うことができますし、2つ目のところは論文ほうで(L1|L2|L∞)正則化のupdate式がすでに(閉じた形で)書いてあります。2つ目の操作はクリッピングと呼ばれ、これによってsparsenessを実現することができます。データ全部を使ってヘッセ行列を計算して、逆行列が...とかをやらなくて済むSGD(確率的勾配降下法)的なうれしさがありますし、2つあるステップのうち最初の一つだけ自分の作りたいアルゴリズムに合わせてちょこっと計算してあげればすぐにコードに落とし込めます(PFIのBlogにはSVMとロジステック回帰のバージョンが説明してある)。実装めっちゃ簡単です。コア部分は30行くらいで書けるし、コード全体でも200行くらいです(RubyじゃなくってC++で、ですよ)。特別な行列のパッケージとか使わなくってもいける気軽さがよい。この春に開発合宿で機械学習使って何かしたい!!という人にも勧められる感じです。実際のコードとかはid:tkngさんのMicterなどを参考にすればよいかと思います(日本語処理周りとかそっちも参考になる)。03:13FOBOSを使ってSVMやロジステック回帰を実装しよう!!!関連記事2017-12-04マージン最大化近傍法の読書メモ社内で異常検知本の輪講を進めています。5(密度比推定による変化検出)前回に引き続き、密度比を直接推定するコーナー。(1)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。