タグ

2010年1月5日のブックマーク (3件)

  • 乱数ジェネレータの実装。その1-EngineとDistribution- - while( c++ );

    boostのvariate_generatorを思い出したので、適当に実装してみます。 C++0xでは使えないそうです。 参考サイト Boost Random Number Library Variate Generator - 1.41.0 letsboost::random の虫: C++0xの新しい乱数ライブラリ、random Mersenne Twisterを使う Cの標準関数rand()はいろいろ問題があるので、まずはMersenne Twisterを使いましょう。 以下のサイトからダウンロードします。 Mersenne Twister: A random number generator (since 1997/10) init_gen_rand( seed ); //シード値の設定 uint32_t r = gen_rand32(); //32bitの乱数を取得 XorSh

    乱数ジェネレータの実装。その1-EngineとDistribution- - while( c++ );
    tettsyun
    tettsyun 2010/01/05
    乱数
  • 転置インデックスの圧縮 - tsubosakaの日記

    Managing Gigabytes勉強会で転置インデックスの圧縮の話が出たので実際に圧縮を行った場合にどれくらいのサイズになるかを計測してみた。 利用したデータは英語版Wikidiaの全記事で 文書数 2,872,589 単語数 2,735,620 転置インデックスのポインタの数 397,603,176 ぐらいのサイズのデータです。 無圧縮の転置インデックスのフォーマットは 単語ID,文書数,文書1,....文書N, 単語ID,...で各項目4byteとなっており、1.5Gぐらいのサイズになっています。 これに対して各圧縮アルゴリズムを適用した結果は アルゴリズム 無圧縮 Variable Byte Code unary符号 γ符号 δ符号 Rice Coding pforDelta(仮) サイズ 1537MB 497MB 239475MB 474MB 407MB 367MB 455MB

    転置インデックスの圧縮 - tsubosakaの日記
  • [機械学習] AROWの落ち穂拾い2 - tsubosakaの日記

    とりあえず以下のコードをollのoll.cppに突っ込むことによってAROWを使うようにできる。(あとoll.hppやoll_train.cppの学習手法が並んでいるところにAROW用の値を付け加える) バイアスの部分とかはちゃんとなってるかあまり自信ないです。 CW(Confidence-weighted)のコードと非常によく似たコードになっている。 // // Adaptive Regularization Of Weight Vector // void oll::updateAROW(const fv_t& fv, const int y, const float alpha) { for (size_t i = 0; i < fv.size(); i++){ if (cov.size() <= fv[i].first) { w.resize(fv[i].first+1); con

    [機械学習] AROWの落ち穂拾い2 - tsubosakaの日記