タグ

ブックマーク / tkng.hatenablog.com (5)

  • Googleのトップページを開くと毎秒100回JavaScriptが実行されるよ - 射撃しつつ前転 改

    FirefoxがCPUを常に15%ぐらいうのが気になっていたので調べてみたら、Googleのトップページを開くとものすごい勢いでJavaScriptが実行されることがわかった。具体的には、var k=t.value;k!=h&&X(0);h=k というコードが毎秒100回実行されている。このせいで、自分の使っているPCだと、Googleのトップページを開くだけでCPU使用率が2%ぐらい上がっているようだ。Firefox特有の問題というよりは、ウェブページ側の作り方に依るものみたいだ。たぶん他のブラウザでも問題は変わらないだろう。 Googleのトップページの場合、コードを調べてみた限りでは、原因はどうも検索候補の自動補完用のコードみたいだ。現在の入力文字列が過去の記録と違ったら補完の提示をやり直す、みたいなことをやっているように見える。 HTMLではテキストボックス内のテキストが変更され

    Googleのトップページを開くと毎秒100回JavaScriptが実行されるよ - 射撃しつつ前転 改
  • そろそろChaIMEについて一言いっておくか - 射撃しつつ前転 改

    2月は割とガンガンと開発をしてきたのだが、3月に入ってさすがにエネルギーが切れてきたので、一旦、気分転換にエントリに書いてみることにする。 ChaIMEというのは主に研究目的のかな漢字変換エンジンである。奈良先の小町さん(id:mamoruk)がメインで開発していて、自分もここしばらくはアクティブに開発している。こちらでデモを試すことができる。ChaIMEの特徴はひたすらに統計情報で変換をするところなのだが、今回はそういった話ではなく、もうちょっと一般的なかな漢字変換についての話をダラダラと書いてみようと思う。 デモを見て分かる通り、今までのChaIMEはステートレスで、ひらがな列を入力に対してそれっぽい変換候補を複数出力してさぁ選べ、という形だった。文節境界を変更したり、文節毎に候補を出すことはできない。これは単に実装コストの問題で、研究用途で実験をする際には文節境界を変更してどうたらこ

    そろそろChaIMEについて一言いっておくか - 射撃しつつ前転 改
  • SVMにおける損失と正則化 - 射撃しつつ前転 改

    前に書いたSVMの記事で、「L1とかL2というのは間違えたときのペナルティをどう定義するかを意味しており」と書いていたが、L1とかL2って正則化項の話なんじゃないの、と疑問に思った。1ヶ月ほど時間をおいてのセルフツッコミである。確認しようとしてカーネル多変量解析を読むと、やはり正則化項についてはL1とL2の両方の説明が書いてあるが、損失に関しては普通のHinge Loss(=L1 Loss)しか書いてない。 と言う訳で、ああ、間違えちゃったなぁ、と暗澹たる気持ちで"A dual coordinate descent method for large-scale linear SVM"を読み直してみたところ、やっぱりL1-SVMというのは損失が普通のHinge Lossで、L2-SVMというのはHinge Lossの2乗を損失とすると書いてあった。両方とも正則化項についてはL2正則化を使って

    SVMにおける損失と正則化 - 射撃しつつ前転 改
  • 新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ - 射撃しつつ前転 改

    新はてブ正式リリース記念ということで。もうリリースから何週間も経っちゃったけど。 新はてなブックマークではブックマークエントリをカテゴリへと自動で分類しているが、このカテゴリ分類に使われているアルゴリズムはComplement Naive Bayesらしい。今日はこのアルゴリズムについて紹介してみる。 Complement Naive Bayesは2003年のICMLでJ. Rennieらが提案した手法である。ICMLというのは、機械学習に関する(たぶん)最難関の学会で、採択率はここ数年は30%を切っている。2003は119/371で、32.1%の採択率だったようだ。 Complement Naive Bayesの位置づけは 実装が簡単 学習時間が短い 性能もそこそこよい という感じで、2003年段階にあっても、絶対的な性能ではSVMに負けていた。しかし、学習が早いというのは実アプリケーシ

    新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ - 射撃しつつ前転 改
  • しかしSVMも最近は速いらしい - 射撃しつつ前転 改

    Complement Naive BayesがSVMより速いよーと主張していたので、SVMもなんか最近は速くなってるらしいよ、という事を紹介してみたい。近年はSVMなどの学習を高速に行うという提案が行われており、実装が公開されているものもある。その中の一つにliblinearという機械学習ライブラリがある。ライブラリ名から推測できる通り、liblinearではカーネルを使うことが出来ない。しかし、その分速度が速く、大規模データに適用できるという利点がある。 liblinearを作っているのはlibsvmと同じ研究グループで、Chih-Jen Linがプロジェクトリーダーであるようだ。libsvmはかなり有名なライブラリで、liblinearにはそういった意味で安心感がある。(liblinearの方は公開されてしばらくは割とバグがあったらしいけど。) liblinearにはL1-SVM, L

    しかしSVMも最近は速いらしい - 射撃しつつ前転 改
  • 1