2008-01-01から1年間の記事一覧

Confidence Weighted Linear Classificationを読んだ

ICML2008で発表されたDredzeらのConfidence Weighted Linear Classificationを読んだ。これは線形分類器を学習する新しいオンライン学習型アルゴリズムの提案である。すぐに使える実装としてはOLLというオープンソースのライブラリがあり、実際に良い実験結…

ファイル名の末尾に改行がついていたら警告してくれたらうれしいけどね

Rubyで久々に書き捨てスクリプトを書いてたんだけど、標準入力から一行一行ファイル名を読み込んでファイルを処理する、という簡単なプログラムを書いていて、ファイルが開けずに困った。いろいろ悩んだ挙句、結局は標準入力から読み込んだファイル名に改行…

しかしSVMも最近は速いらしい

Complement Naive BayesがSVMより速いよーと主張していたので、SVMもなんか最近は速くなってるらしいよ、という事を紹介してみたい。近年はSVMなどの学習を高速に行うという提案が行われており、実装が公開されているものもある。その中の一つにliblinearと…

新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ

新はてブ正式リリース記念ということで。もうリリースから何週間も経っちゃったけど。 新はてなブックマークではブックマークエントリをカテゴリへと自動で分類しているが、このカテゴリ分類に使われているアルゴリズムはComplement Naive Bayesらしい。今日…

Boostingの並列化

パターン認識と学習の統計学のp.153に「バギングは並列化が可能であるので、並列計算機を用いることによって計算時間を大幅に短縮できるが、ブースティングは逐次的にしか計算できないので、計算時間は生成する弱仮説の数に比例して長くなることになる」と書…

Ubuntu Intrepid IbexにアップグレードしたらPDFが文字化けするようになったでござる

一個大きな仕事が終わった(たぶん)ので、会社マシンをhardyからintrepidにアップグレードしてみたところ、evinceでpdfが文字化けするようになった。文字化けというか、全部の文字が豆腐になる。 調べてみたところ、/usr/share/fonts/truetype/ttf-japanese…

Linuxで64ビット版のadobe flash player 10 alphaがでた

職場で使ってるマシンはメモリ容量の関係で64ビット版のUbuntuにしてあるので、これまではnspluginwrapperを使って32bit版のflash playerを動かしていたんだけれど、これはなんだかすごい重い上に落ちやすく、しかも落ちるとブラウザを再起動しないともうフ…

プログラミングの本質とは

プログラミングの本質は、条件分岐と繰り返し(と連接)だけでチューリング完全が実現できることであると考えている。つまり、いわゆる構造化定理である。 プログラミングの勉強を始めた頃は、一体どこまで勉強すれば自分はプログラミングが出来るといえるの…

ハンドルは車のために最適なインターフェースなのか?

グランツーリスモを遊んでいると、あまりの画面のリアルさにハンドルでプレイしたくなってくるんだけど、そもそも、車の操舵インターフェースとしてハンドルというのは適切なのだろうか? 昔の車ではハンドルとシャフトがつながっていた(今でもつながってる…

PS3欲しいな

ビデオ会議システム用ということで、オフィスにPS3が導入された。しかし、このビデオ会議システムにはグランツーリスモ5プロローグが同梱されていたので、どうしてもプレイしてしまうわけです。 グランツーリスモ自体はなんというか、すごい。中学生のころに…

macbookがチーチーうるさい

なんだか、最近MacBookから発される高周波音が耳につくようになってきた。そんなに大きな音じゃないんだけど、音域が音域なだけに気になる。 調べてみると、他にも困っている人はたくさんいるみたいで、ShhMBPというソフトウェアを入れると解決するよ、とい…

日記を書こう

ふと2年ぐらい前のログを読んでみたら、その時の死にたいほどに絶望的に研究がヤバかった状態とか心境がよみがえってきたりして興味深かったので、後で自分で読み返すためにも、もう少しこまめに日記的なエントリを書いてみようと思う。とりあえず、しばらく…

Q4MってMySQLのstorage engineじゃない方が使いやすいんじゃないか

というような疑問があった。そもそも、pluggable storage engineが実装されたMySQLはまだ正式リリースされてないし。Q4Mは突発的にinsert処理が連続できた際にとりあえずqueueに突っ込んで後から処理するようにしておけば負荷の平滑化ができてよいよね、とい…

多段sshfsを簡単に実現する方法

ほぼ書き上がってたのが、 プレビュー見る→なんかおかしい→間違えてブラウザで戻る で消えてしまった。ああ、このやるせない気持ちをどうすれば…。やっぱり、ブラウザ上で何かを書くという行為が間違っていた。もう簡単に下書きが保存できないサービスには絶…

VPNとDNSとBonjour

社外から社内の開発環境にアクセスしたい、というような場合にはどうすればいいのだろうか? 単にSSHでログインしてちょこっと作業をするだけなら、踏み台サーバを用意してそこからさらに目的サーバまでたどり着けばいいだけなので、大きな問題はない。しか…

vingareの高速化

ちょっとPC間で画面を共有したい用事ができたので、vinagreというVNCクライアントを使ってみることにした。しかし、このVNCクライアントが非常に重い。Pentium M 2GHzのマシンだと、重くて使い物にならない。Core2 Duoのマシンでもかなり重い。 マシンパワー…

fork以外の手段で子プロセスを生成できないこんな世の中じゃ

数日前にfork以外の手段で子プロセスを生成するというのを書いたが、よく考えてみると、fork以外の手段では(ポータブルな)プロセスの生成はできなかった。(posix_spawnはまぁ、中でfork呼んでそうな雰囲気だし…。)しかし、forkとexecはなぜこのような仕…

メールアドレス変わりました

名字.名前@gmail.comになります。

fork以外の手段で子プロセスを生成する

子プロセスで別のプログラムを走らせてその結果を受け取りたい時、C言語ではよくforkとexecの組み合わせを使う。しかし、考えてみれば、なんでforkでわざわざ一度プロセスをコピーして、子プロセス側で今まで使ってたfile descriporとかを始末してから次のプ…

Apacheのmod_proxy_balancerを使うときはretryを設定すべき

今作っているサービスは、Apacheのmod_proxy_balancerを使ってロードバランシングしている。しかし、バックエンドのサービスサーバを一旦落としてから復帰させると、コネクションがしばらくつながらないという問題に悩んでいた。1分ぐらい放置するとつながる…

Zinniaの多クラス分類法

ZinniaというSVMベースの新しい手書き文字認識エンジンがリリースされたので、早速ソースコードを少し読んでみた。 文字認識というのは、機械学習では多クラス分類という問題に分類される。しかもクラス数が認識したい文字数(数千文字程度だろう)分だけ存…

ウィンドウマネージャに欲しい機能

最近、職場でデュアルディスプレイを使い始めた。ワイドディスプレイが横に2つ並んでいると、マウスでカーソルを移動するのが相当面倒くさい。そこで、キーボードでいろんな操作ができるという触れ込みのxmonadを使ってみたんだけど、数分でmetacityに戻って…

Twitterのフォントが悲しい

OSを再インストールすると、Twitterの漢字のフォントが悲しいことになってしまった。直し方がわからんかったので、本当はもっと適切な解決方法があるんだろうなーと思いつつ、とりあえずttf-arphic-umingを削除した。

[Rails] ActiveRecordでの検索時にインデックスの使用を強制する(MySQL用)

query-reviewerを使っていると、インデックスを作っているはずなのに、Full index tree scanをしている、とか警告される事がある(この警告がどういう意味はまだよく分かってない)。これは、データ量が少ないとかそういう理由でMySQLがインデックスを使わな…

[Rails] query-reviewerでRailsアプリのボトルネックを見つける

query-reviewerはRails用のプラグインで、データベースにMySQLを使っている場合に、不適切な検索が行われていないかどうかを非常に簡単に調べることができる。(MySQL以外ではたぶん動かない。)使い方は非常に簡単で、 git clone git://github.com/dsboulde…

カレー日記(2)

社長に「カレー日記一回しか書いてないじゃない、どうなってんの?」と怒られた(うそです)ので、2回目のカレー日記です。 今回は東大の正門前にあるもり川という店の骨付きチキンのスープカレーです。昨日の晩ご飯に食べました。 写真で分かる通り、真ん中に…

最近のSSHは脆弱な鍵でのログインを許さない

2ヶ月ほど前、Debian/Ubuntuに生成された鍵が予測可能であるという脆弱性が発見された。その脆弱性対応自体は当日に行っていたんだけど、今日になってそれに関連する問題で少しはまった。あるサーバにある人の公開鍵をもらって設置したんだけれど、ログイン…

カレー日記

社長がブログを始めた事もあり、社員はブログ/日記を更新せよと号令が下りましたので、久しぶりの更新ですが、本日は、デリーのカレーの写真をご紹介します。今のところ、カレーの中ではデリーのコルマカレーが一番好きです。 最近は写真を取っていないので…

働くでござる

4月で前の会社を辞めて、しばらく有休消化モードだったわけですが、5/12付で株式会社プリファードインフラストラクチャーに入社しました。メインの仕事がソフトウェアの開発になることはもちろんですが、現在のメンバの中では、いわゆる会社員というものを経…