タグ

ブックマーク / echizen-tm.hatenadiary.org (3)

  • 実装が簡単で高性能な線形識別器、AdaGrad+RDAの解説 - EchizenBlog-Zwei

    機械学習では、データがどのクラスに属するかを識別するという問題が基的です。 この識別問題は線形識別器というモデルを使うことで解くことができます。 この記事では、実装が簡単で高性能な線形識別器、AdaGrad+RDAの解説を行います。 AdaGrad+RDAの詳細な解説は以下の論文を参考にしてください。 http://www.magicbroom.info/Papers/DuchiHaSi10.pdf こちらはAdaGrad+RDAの実装例です。 http://d.hatena.ne.jp/echizen_tm/20140726/1406376207 識別問題は、通常データを2つのクラスに分類します。どうやって分類するかというと、線形識別器が正の値を返したか、負の値を返したかでクラスを分けます。 具体的には、線形識別器は以下の形式をしています。 y = Σ(x_i * w_i) データを表

    実装が簡単で高性能な線形識別器、AdaGrad+RDAの解説 - EchizenBlog-Zwei
  • 「4人のロシア人の方法」で編集距離を高速化する - EchizenBlog-Zwei

    ちょっと前に「4人のロシア人の方法(Method of Four Russians)」というのを論文で見かけて面白かったので紹介しておく。 簡単に言ってしまうと、ある処理を高速化したい時にデータ全体を小さなブロックに分割してブロック単位での結果を事前に計算したテーブルで持っておくよ、というアルゴリズム。 名前は知らなくてもアルゴリズム自体は知ってる人は多いかもしれない。 Method of Four Russians - Wikipedia, the free encyclopedia アルゴリズム自体は汎用的なものだが編集距離の高速化を例として説明するのが一般的なようなのでそれに倣う。 文章で書くとごちゃごちゃするのでスライドで。もっふる。 http://www.scribd.com/doc/94190119/MoFR ※追記:↑のスライド、正直自分でもわかりやすいとは思えないので余裕が

    「4人のロシア人の方法」で編集距離を高速化する - EchizenBlog-Zwei
  • 30分でわかる高性能な圧縮符号vertical code - EchizenBlog-Zwei

    検索エンジンの転置インデックスなどデータ列を小さいデータサイズで持たせたい、という状況がある。こういう場合圧縮符号を使うのが一般的でunary符号やgamma符号、delta符号など様々な種類がある。 圧縮符号の中でイチオシなのがvertical code(vcode)。これは岡野原(@hillbig)氏によって提案された圧縮符号で単純な仕組みでdelta符号並の性能を誇っている。 記事ではvcodeのポイントを絞って30分でわかるように解説してみる。 vcodeは棚にを並べる作業を連想すると理解しやすい。棚は予め高さが決まっているので全てのが入るような棚を用意する。つまり というようなものを想像する。 この棚は8冊のが並んでいるが左から5冊目のが他よりも背が高い。このため5冊目のに合わせて背の高い棚が必要になる。だが他のは5冊目のほどに背が高くないので、5冊目が

    30分でわかる高性能な圧縮符号vertical code - EchizenBlog-Zwei
  • 1