The First Cry of Atom Today is the first day of the rest of my life.

頑張る理由

読んだ。 http://karigari.hatenablog.com/entry/2013/11/06/000000 全く自分にとって新しいことでなくても、文字に起こされると驚くことがある。概念は知っていても言葉は知らない、そんな感じだ。自分が何か努力したり頑張ったり、そういったことを何のためにしているか。 答えは「自分のため」いつもそう答えていた。その答えは今でも変わらないけれど、その概念のエイリアスがあるとしたら、「やった事実はなくならないから」じゃないだろうか。 僕自身は今まで努力してきたことが報われることもあったし、報われないこともあった。努力でなんでも叶えられるとも思わないけれど、努力してやってやれないこともないんじゃないかと漠然と感じている。 だから僕はやりたいこ... Read more

scikit-learnでCross Validation

だんだんとscikit-learnとMachine Learningに慣れてきた。 今回はCross ValidationとGrid Searchをやってみた。 Cross Validation 詳しいことはWikipediaに書いてある。 Cross Validationはモデルの妥当性を検証する方法のひとつ。一般的に開発用のデータは訓練データと検証データに分かれる。 しかし、このまま行ってしまうと折角の訓練データが減ってしまうことになる上に、訓練データの選び方によって汎化性能が下がってしまう可能性がある。 Wikipediaに書いてあるもののホールド・アウト検定がこれに当たる。一般にはこれはCross Validationにはあたらない。 ここに書いてあるK-分割交差検定がこ... Read more

TF-IDFでタグ付け

Kaggleで挑戦できそうな問題があったのでチャレンジしてみた。 http://www.kaggle.com/c/facebook-recruiting-iii-keyword-extraction Stack Exchange(Stack Overflowみたいなもの)にあるテキストとそのタグデータを訓練データとして 同様にStack Exchangeにあるページからタグを類推せよという問題。 多分キーワード抽出を行う方法がうまく行くんじゃないかと思いやってみた。 TF-IDFアルゴリズム 基本的にはTF-IDFを使ってみる。これは文書中のtokenの重要度をその頻度と、他の文書にどれくらいないかの指標 の積として表すアルゴリズム。コードで書くと下のような感じ。 imp... Read more

OSSを使う、作る

昨日、以前作ったOSSのライブラリにpatchが送られてきた。 https://github.com/Lewuathe/passport-yj 友人とかなり昔に作ったので、存在を忘れていたとまではいかないがpatchが送られてきたときは驚いた。何したらいいんだろうという感じだった。 patchの内容はpassport-yjの依存しているpassportモジュールの仕様が変わったから対応したらーということで送ってくれた。 僕は正直passportの仕様をキャッチアップできていなかったので、こうやってpatchが送られてきて嬉しかった。 自分たちが作ったソフトウェアがよりよくなるということ、そして何よりどこかの誰かが使ってくれているということが目で見える形で分かったからだ。 ... Read more

Dockerで仮想化をはじめよう

仮想環境構築の方法のひとつにDockerを使ってみた。いままではVirtualBoxを使ってVagrantからつないでいく方法をやってみたけれど、仮想マシンをいちいち立ち上げる方法はどうも遅いのでDockerというもので試してみた。 Dockerの特徴は以下記事から抜粋。 http://apatheia.info/blog/2013/06/17/docker/ 仮想マシンを立ち上げるわけではなく、ホスト内の隔離された環境で動作するため起動が速い。LXCという技術のことらしい。ここでこの隔離されたシステムのことを コンテナ という。 AUFSを使っている。起動したときはディレクトリを重ねあわせておいて、更新の際に別の場所に書き込むというファイルシステムっぽい。立ち上げ時に... Read more