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

ナイーブベイズ再考

ナイーブベイズは単純ベイズともいうそうな.ナイーブのウムラウトが気になるのかね. さて,以前非常に冗長な表現でナイーブベイズを説明しましたが, 今度はシンプルに,実装したときに思ったことなどを. 昨日は休日だったので,遊びでComplement Naive B…

機械学習のお勉強

本当に今更ながら,ナイーブベイズをインプリしました. 世の中の実アプリは猫も杓子もナイーブベイズ, 研究レベルのアプリは釈迦も達磨もSVMかCRF,これはちゃんと勉強しなきゃ. 勉強するにはインプリするのが一番の近道.というわけです. (なんで実ア…

中学生にもわかるかもしれないナイーブベイズ

というわけでナイーブベイズのおさらいを,直感的な説明でしてみます. 厳密な説明は数多あるので,僕の出番はございません. 間違い等沢山あると思いますので,気づいた方はご一報をお願いします. ナイーブベイズは,データを分類します.が,今回はテキス…

テンプレート・テンプレート・パラメータ in Visual C++ 2010

C++

久しぶりに書きますね. 本日はVisual C++ 2010(下位バージョンはしらない)において, テンプレート・テンプレート・パラメータを使う場合に, デフォルトパラメータを用いたいときに起こった問題, という極端にマニアックな問題についてメモっておきます…

vectorのイテレータから配列の添え字を取り出す

C++

タイトルの通りなのですが、C++でSTLのvectorをいじっている時、 イテレータがvectorのどの要素(何番目)かを知りたいときがあると思います。 たとえば要素番号に何らかの意味を持たせていたりする場合です。 それ自体があまりいいやり方ではない気がします…

最適化

C++

という言葉が大好きです。ここのところ必要があって、C++の最適化ばかりやっています。 しかし最近のコンパイラは人間より賢いらしく、下手なことしないでまかせっきりにしといたほうがいいとか。 何よりキリがないし。 というわけで、並列化とかアルゴリズ…

Android on VMWare

相変わらずandroidがビルドできませんが、代替案があることがわかりました。これようはCDブートになるわけですが。なんて楽なんだ…。 どうしてもビルドがしたかったわけではなく、動く環境を見てみたかったのでこれにて。 そのうちまた自前でビルドに挑戦し…

プログラミングのテキストについて

2009/07/14の日記について。 とまあ、Accelerate C++についてえらそうなことを書いたら、Amazonでも同じ様な書き込みがいっぱいでした。 なのでもうちょっと。 Amazonではすごくいい!っていう人と、ぜんぜん駄目!っていう人にぱっかり分かれています。 本…

積読解消中

C++の高速化を勉強したくて衝動買い。Accelerated C++―効率的なプログラミングのための新しい定跡 (C++ In Depth Series)作者: アンドリューコーニグ,バーバラ・E.ムー,Andrew Koenig,Barbara E. Moo,小林健一郎出版社/メーカー: ピアソンエデュケーション発…

CentOSとか

ちと忙しくてプライベートでパソコンいじる時間がありませんでした。 とはいえパソコン自作したり色々とやってはいましたが。 というわけで誰にも聞かれていないのにスペックを。 CPU: i7 920 D0 Memory: 3Gbyte M/B: Asus P6T HDD: 1Tbyte x2 Graphic: GTS2…

Ubuntuとか.

IT業界ではLAMPというキーワードというのが重要視されているそうな. 仮想化だのクラウドだの,よくまあ色んな言葉を作るねみんな. そんな僕はLAMPのほとんどをちゃんとはいじれませんよ.悪かったですよ. そんなに責めなくてもいいじゃないですか.winで…

おしえて おしえて セジウィック さん

大昔に買ったはいいものの,全然読んでいなかったSegiwickのAlgorithm in Cをぱらぱら見てて思ったんですが, 日本語第1巻で,ユークリッドの互除法に触れてますよね. ユークリッドの互除法って,gcd(a, b)なら n_0 = a mod b n_1 = b mod n_0 n_2 = n_0 mo…

ソートのアルゴリズムおまけ

まあ要は必要になったから,勉強がてらソートのアルゴリズムを実装しまくっているんですね. というわけでおまけ. template<class T> void Sort<T>::insertion_sort(T target[], int length) { T key = 0; for(int i=1; i<length; ++i) { key = target[i]; int j=i-1; while(j>=0 && target[j] > key) { target[j+1] = target</length;></t></class>…

ソートのアルゴリズム

ちょっと分けあってソートについて調べています. いやはや,奥が深いんですな. 僕は中の下程度の知識しか無いし,今更そんなもん必要じゃないだろと思って大した勉強をしたことが無いんですが. これまでbubble, insertion, selection, quick, heap, shell…

勢いあまって

自分にスターを付けてしまうという.どんだけ自分すきなのだ. 修行のたらなさを感じる今日この頃.精進,精進.

Problem 68, 69

Problem 68は手で解けます.というか手で解きました. 内側の5角形が6〜10の場合と外側の5つが6〜10というケースがありえる 外側が6〜10の方が連結した数字が大きくなるので,後者で考える. とりあえずこの前提だけでマスは埋められると思います. そんで,…

気づいたら

2週間ほど放置していたことに気づく.なんていう継続性のなさだろうか. でもちょっと今は忙しいのでこんな感じがもう少し続く.決して継続性が無いわけではない.はずだ. ところで,某ショートコーダーおじいさんのBlogで面白いものが紹介されていたのでこ…

Lv2突入

やっとLv2です. あ,Project Eulerの話です. 最近忙しくて余りできません.というわりにガッツリ取り組んでますが. だんだん難しくなってきました.というか難しいです.50番台でこれですか. 正直みんな凄いと思う.自分はまだまだ修行が足らん. いや,…

くどいけどProject Euler 97

もうちょっとでLV2です.先は長い. なんだか生活に支障が出てきたので解くスピード下げようかと... とりあえず簡単な問題から解いていく方針に変更. 指標は解いたユーザー数. 97番は90番台なのにやたら解いた人が多かったので見てみたところ,とても簡…

ハッカソン

ハッカソンしてきました.内容は,某社の某データを使って何か面白いものを作ること. 自分は共起を利用したクラスタリング・ネットワーク取得のコードを書きました. やってて思ったことは,当然なのですが,適材適所というのはプログラミングにも当てはまる…

相変わらずProject Euler24, 48

もはやProject Euler日記になっている.いい加減抜けださないと生活に支障が出る(苦笑) ハッカソンでであった人に影響されて,Pythonを書きたくなったのでPythonで解きました.問題24 0〜9の数字を辞書順に並べたときの1M番目先頭が0である場合の数 9! 先…

Project Euler 18と67

三角形の行列を下にたどり,通った数字の最大値を求める. ご丁寧に,問題18では行列が小さいからbrute forceでもいけるけど, 問題67は同じ問題だけど行列がでかいからキツイぜ,とか書いてある. これは面白い.当然一般的な解法をここで考えて二つとも解…

P_E_17

とか何とか言って(16番の続き),17番. one, two, three...one thousandまでの文字数をカウント. うっわ,ひどい.問題も,僕のコードも. natural f17() { natural sum = 0; map<int, int> lnum; map<int, int> part; part.insert(make_pair(1, 3)); //one part.insert(make_</int,></int,>…

Project Euler 16

Project Euler,一体何のマラソンなんだかよく分からなくなってきました. 16番は2の1000乗の各桁を足すというもの. Cとかだと組み込み型ではオーバーフローするから工夫が必要だよね,とかそういうことなのかなぁ? 微妙に出題の意図が分からない. きっと…

Project Eulerとか

Project Eulerというサイトがあるらしい. 要は,数学チックな問題がいっぱいあって,プログラミングして解きましょうという問題集のサイト. PKU Judge Onlineみたいな感じです. こういうのハマるので困ります. 自分は低脳なので一つ一つ解くのに時間が掛…

Project EulerのProblem12番

三角数で約数が500より多い(つまり5001以上)ものはいくつ? まあ,三角数を求めるところは工夫の余地無い気がしますが, 約数を探すところで,ナイーブに1から順番に割れるかどうか?みたくやったらすごく遅くて回答出る前にこっちの我慢の限界. 最適化す…

XOR Trick

普通,変数x, yの中身を交換しようとした場合,テンポラリ変数を使って int x=1, y=2, temp; temp = x; x = y; y = xというようにするしかないとずっと思っていた.ところが世の中にはXOR trickというものがあるらしい. x^=y; (1) y^=x; (2) x^=y; (3)なん…

古今Perl

時代の流れには逆らえないもので,何の因果かこの私こと不肖kogecooもネットワークプログラミングなどと言ふ振興文化圏で何かと話題のハイカラ文化に手を出すことと相成りました.思えば10余年前,Perlは5.0,HTMLのタグがネスケとIEで対応非対応があるだと…

ブログはじめました

時代の流れには逆らえないもので,何の因果かこの私こと不肖kogecooも,ブログなどと言ふ振興文化圏で何かと話題のハイカラ文化に手を出すことと相成りました.思えば10余年前,NetscapeがWindowsシェルIE統合作戦にて大敗を喫した頃からInternet文化圏は驚…