2011年3月12日土曜日

帰宅難民:リアルタイム情報検索法

昨日、今までに経験したこともない大きな地震にあい、帰宅難民になってしまいました。僕は会社で一泊しただけですみましたが、悲惨なニュースを見るにつけ、日本の一刻も早い復旧を祈ります。

帰宅のためにいろいろインターネットを使って情報収集し、電車の運行状況等を的確に見ることが出来ました。皆様にもお役に立つ部分があるかと思いますので、あえてこの時期に投稿させて頂きます。

昨日、会社周辺の電車がすべて停止してしまい、帰宅難民になり、今日ようやく昼過ぎに帰ることが出来ました。歩くとGoogleMap換算(GoogleMapで起点と終点を右クリックでここからのルート、ここへのルートとして指定し、左側の人が歩いているマークをクリックする。下の図参照)で8時間(これは休まずに1時間5km換算のようで、実際には10時間以上かかりますね)だったのでちょっと諦め、会社に泊まってました。


JRで帰りたかったので復旧を待っていたのですが、なかなか復旧しません。会社の最寄り駅のある京浜東北線は今日の20時頃の復旧で待ちきれず、東海道線の様子を見ながら11:30頃出発し、上大岡→戸塚→東海道線で帰りました。戸塚ではかなりぎゅうぎゅうでしたが、大船でまあ満員くらいになり、その後はゆったり帰れました。京急、地下鉄は空いておりました。振替輸送ということで定期を見せればそのまま通していただけました。ありがとうございます。

会社ではインターネットが生きていましたので情報収集に活用しましたが、Twitterなどのリアルタイム情報がとても役に立ちました。

Twitterの運行情報をまとめてくれている Jorudan live



Googleによる最新情報チェック

で、 状況を把握することができました。情報を提供してくださっているみなさま、ありがとうございます。なかなか電話も繋がらない中、確実に情報を追うことが出来、安心して対処できました。また、たまたま子どもがディズニーランドに行ってたのですが、ディズニーランドの状況もリアルタイムでチェックでき、把握することが出来ました。インターネットのすばらしさに感謝です。

Googleでの最新情報は、Googleリアルタイム検索で検索するか、通常のGoogle検索を行って出てくる次のような画面の左の欄の「最新」をクリックすると見ることが出来ます。ここでは新たな情報が入れば自動的に画面が更新されていきますので便利です。



なんかのタイミングで左の欄で期間指定が出ていないこともありますが、その場合にはGoogleの検索フィールドの右下にある検索オプションをクリックし、


Google検索ボタンを押すと左の欄に出てきますので、そこで「最新」を押してください。

2011年3月5日土曜日

Googleの自動運転車

昨日、Thrunさんの話を書いたら、今日はGoogleの車が駐車場で走りまわってます(^^; まったくすごいです。これなら駐車場に止めなくてもほっておいたら車同士が適当に駐車して、必要なときに出てくるようなシステムができそうですね。そうすれば駐車スペースも有効に使えそうです。

2011年3月4日金曜日

Scilab5.3.1

Scilab5.3.1が出ています。5.3.0ではWindowsXPでグラフを描くと落ちていました(僕の環境だけ?)が、今度のは落ちません。またUI関係が充実したようで、3Dのグラフィックスをぐるぐる回したりするのが簡単になっているような感じです。

ひなまつり

昨日はひなまつり。


ちらし寿司とあさりのおすまし、ワインでお祝いです(^^V

OpenCV:CUDA,GPU

OpenCV, CUDAで調べていたらこんなものが見つかりました。

GPU Technology Conference 2010

KeynoteでStanford(Google)のSebastian ThrunのDARPA Grand/Urban Challengeの自動車ロボットの話
Grand Challengeでは砂漠の中の道を状況に応じてスピードを変えて駆け抜け、Urban Challengeでは回りのロボットカーの動きを読んで上手くかわしたりしながら走っていきます。すごい!ですね。

こっちではOpenCVでのGPU利用の話がされています。

こういうものもフリーで見せてくれるんですねえ。

2011年3月1日火曜日

OpenCV:RandomTrees

OpenCVで機械学習手法であるRandomTreesを使っています。今までは分類問題(trueかfalseかを分けるような問題)に使用していましたが、回帰問題(regression, 例えばfalse(0)から true(1)の間を連続値として返すような問題)に使う必要が生じました。結局、学習するときに連続量の指定をしてモデルを作り、そのモデルを使ってやれば連続量として返してくれるようです。

Mommaさんのページの例題のbuild_rtrees_classifier関数の中の

//最後の1つ(出力でもあるresponsesの形式)を質的データに指定
cvSetReal1D( var_type, data->cols, CV_VAR_CATEGORICAL );



cvSetReal1D( var_type, data->cols, CV_VAR_ORDERED);

として学習し、ここで出来たモデルを使ってpredictするだけでよいようです。

ですので、まとめると、

train()で学習するときにCV_VAR_ORDERED(連続量)を選ぶと回帰問題になる。CV_VAR_CATEGORICAL(2値)を選ぶと分類問題となる。このモデルを読み込んでpredict()するとそれぞれ回帰問題・分類問題に対する戻り値が得られる。戻り値は学習データにつけていたカテゴリが1,0だったとすると、ASCIIコードでは1(49)と0(48)なので、分類問題のときにはdoubleで48.0と49.0になり、回帰問題のときにはdoubleの48.0~49.0の連続値となる。