root権限の無い哀れな子魚ちゃんたちのためのgcc野良インストール(Linux)

僕の専門は画像パターン認識でして,魚画像からの種類判別とかいつかやっていみたいなぁとか思ってるんですがなかなかこれは問題として難しそうです.ここ(PDF注意)とかにそういう文献が出てるんですがこれは何の本なんでしょう?知ってる方いたら教えて欲しいです.使われてる技術を見ると2000年代以降のものではないなという印象.それより昔のことは体系的には知りません・・・w

さて,常に最新のgccが使いたいという人のためのにgccを野良ビルドしてインストールする手順を以前さかな前線 » GCC 4.6.2が出たので手動インストール方法メモ(Linux)に書きました.

一方で,共用計算機などではroot権限がなく勝手にプログラムをインストールできないことがよくあります.
そんなときでも,自分の領域が割り当てられていればそこに野良ビルドしてインストールして使うことは可能です.
そういう構成を可能にするためのgccのビルド方法をメモっときました.
今回はGCC 4.7.2を64bit版Linuxに入れることを考えています.

基本的にはさかな前線 » GCC 4.6.2が出たので手動インストール方法メモ(Linux)と同じです.
ただし一部,gcc4.6.2の手動インストールメモ – N_Nao’s logを参考にしています.

Continue reading

C++11のstd::discrete_distributionでノンパラメトリックな分布の乱数生成

おさかなおさかなって言ってたらリアルにお魚好きになってしまったって話は前もしたと思うんですが,そのせいでホントに魚が食べたい今日このごろです.調理法としては,お刺身の次点くらいで焼き魚と酒蒸しが好きです.お刺身はそのままスーパーで買ってくればいいし(美味しいかと言われると微妙ですが),焼き魚も買ってきてグリルで焼くだけなので気軽にできるんですが,酒蒸しはちょっと自宅ではできなくて食卓が寂しいです.

さて,C++11では乱数関連のライブラリについてもboost由来の大幅強化がされまして,ホントに強力なものになっています.
まず乱数エンジンでは,よりよい擬似乱数アルゴリズムが豊富に取り揃えられており,さらにはハードウェアを利用した真の乱数も扱えます.
また生成される乱数の分布の点でも,通常の一様分布や各種の確率分布(GaussianやPoissonなど)が利用できます.

今日お話するのは分布の中でも,出力される各値の確率をユーザが指定できるノンパラメトリックな分布を実現するstd::discrete_distributionのお話.

なおboost::randomからstd::randomへは大きな設計変更がありましたけれども,今回の話に関しては普通にstd::discreted_distributionをboost::random::discrete_distributionとそのまま読み替えてもらっても大丈夫です.

Continue reading