タグ

algorithmとnlpに関するgologo13のブックマーク (2)

  • HyperLogLogで遊ぶ - Negative/Positive Thinking

    はじめに 「さぁ、お前の罪の異なり数を数えろ!」と言われたときに使えそうな「HyperLogLog」という異なり数をカウントする方法を教えてもらったので、遊んでみた。 いつもながら論文ちゃんと読んでないので、条件やコード間違ってるかも。。。 HyperLogLogとは cardinalityと呼ばれる、要素の異なり数を決定する問題 かなり省メモリで精度のよい異なり数を推定できる方法 要素をそのまま保存せず、ハッシュ値に変換したものをうまくレジスタに保存しておく ので、レジスタサイズ程度しかメモリを使わない 並列化もできて、最近のbigdataとかで注目されている また、googleが並列計算用に改善したHyperLogLogを提案してるみたい http://blog.aggregateknowledge.com/2013/01/24/hyperloglog-googles-take-on-

    HyperLogLogで遊ぶ - Negative/Positive Thinking
  • 「高速文字列解析の世界」を読む前に知っておくと良いこと - EchizenBlog-Zwei

    「高速文字列解析の世界」という大変すばらしいが発売された。わりと敷居が高いではあるので読む前に知っておくとよさそうなことを書いておく。 「高速文字列解析」とは 書でいう高速文字列解析というのは主に2つのことを指している。ひとつはデータを圧縮して小さくしてディスクよりメモリ、メモリよりキャッシュというようにより高速な記憶装置で扱いましょう、という話。もうひとつはデータ構造を工夫することで複雑な操作もそこそこ高速に扱えますよ、という話。つまり「圧縮」の話と「効率的なデータ構造」の話があると考えておくと良い。 キーワードは3つ オビにも書いてあるけれど、書が主に扱うのは「BWT」「簡潔データ構造」「ウェーブレット木」の3つ。具体的には「BWT」が「圧縮」に関わっていて「ウェーブレット木」が「効率的なデータ構造」に関わっている。「簡潔データ構造」は基的な道具として書の色々なところで出て

    「高速文字列解析の世界」を読む前に知っておくと良いこと - EchizenBlog-Zwei
  • 1