タグ

MachineLearningとhashに関するtnalのブックマーク (2)

  • 最速の疎ベクトルはどれだ - Preferred Networks Research & Development

    海野です。 自然言語処理などで機械学習を行おうとすると、非常に疎なベクトル表現を使いたくなります。疎、というのはほとんどの要素が0である、という意味です。前々から疎ベクトルライブラリのパフォーマンスに関して気になっていたので、幾つか調べてみました。 Jubatus Workshopでも話したとおり、機械学習を適用しようとすると、普通は対象のデータをベクトル表現に落とします。特に言語データの場合は、それぞれの単語や文字などを特徴次元とするため、非常に疎なベクトルとなってしまいます。純粋な配列(C++で言えばstd::vector)を使ってしまうと、大量にメモリをってしまうため疎ベクトル専用の表現を使うのが普通です。 今日は様々な疎ベクトルライブラリのパフォーマンス比較を行おうと思います。比較したライブラリは以下のとおり。真の意味で、疎ベクトルのライブラリは、Eigenとublasだけで、残

    最速の疎ベクトルはどれだ - Preferred Networks Research & Development
  • ハッシュ表 - Negative/Positive Thinking

    はじめに perlのプログラムをc++に移したいという話で、連想配列をどうするかでハッシュの話が出てきたので調べてみた。 ハッシュ関数とは あるデータ(key)に対応する数値(value)を得るための関数 例えば、文字列(key)に対応する数字(value)、など 優れたハッシュ関数とは、「計算に時間がかからず(低コスト)」「同じキーに対して常に同じハッシュ値を返し(決定性)」「等確率でハッシュ値を出力する(一様性)」ような関数 完全ハッシュ関数 ありうる入力に対し、ハッシュ関数が単射であるようなハッシュ関数 衝突が起きないが、あらかじめ入力となるキー集合がわかっていてしかも静的でなければならない 文字列に対し完全ハッシュ関数を返してくれる生成器に「gnu gperf」がある(らしい) 最小完全ハッシュ関数 完全ハッシュ関数で、かつ、キーの数がn個のとき出力されるハッシュ値もn個の連続な整

    ハッシュ表 - Negative/Positive Thinking
  • 1