タグ

algorithmに関するchezouのブックマーク (25)

  • 乱択データ構造の最新事情 −MinHash と HyperLogLog の最近の進歩− - iwiwiの日記

    日,PFI セミナーにて「乱択データ構造の最新事情 −MinHash と HyperLogLog の最近の進歩−」というタイトルで話をさせてもらいました.スライドは以下になります. Ustream の録画もあります. http://www.ustream.tv/recorded/48151077 内容としては,以下の操作を効率的に行うための集合に関するデータ構造 (Sketch) の最近の進歩を紹介しました. 集合の類似度の推定 (Jaccard 係数) 集合異なり数の推定 (distinct counting) どちらも重要かつ基礎的な操作で,b-bit MinHash や HyperLogLog など,既に実用的な手法が提案されており,実際にも使われています.しかし,2014 年になって,Odd Sketch や HIP Estimator という,これらをさらに改善する手法が立て続

    乱択データ構造の最新事情 −MinHash と HyperLogLog の最近の進歩− - iwiwiの日記
  • wavelet行列で高速な「もしかして友だち?」検索 | 株式会社サイバーエージェント

    業務経歴: Sierでのソフトウェア開発・大手メディアでのサービス運用を経て2012年サイバーエージェント入社。 アメーバ事業部コミュニティサービスの開発責任者を経て、現在はアドテクスタジオで広告配信技術に注力。 好きな分野はグラフ探索とチューリングマシン。 ソーシャルサービスでは、ユーザ間のつながりやユーザ同士の類似性がとても重要です。 つながりの近いユーザや自分と似ているユーザを「もしかして友だち?」とサジェストすることでユーザ間のつながりを伸展させることができます。 そこで、ユーザの「つながり」具合が似ているユーザを「友だちかもしれないユーザ」としてサジェストを行うことを考えました。 しかし「つながり」のデータというのはユーザ数のベキ乗であるため、容量が大きくなりやすい性質があります。 即ち、「つながり」類似度の算出には時間がかかる、ということです。 この「つながり」類似度算出

  • https://15799.courses.cs.cmu.edu/fall2013/static/papers/stonebraker-sigmod-record-2013.pdf

    chezou
    chezou 2014/02/16
    parallel LSH with Julia and SciDB
  • K-means hashing (CVPR'13) とハッシング周り

    K-means hashing (CVPR'13) の論文解説と、関連する iterative quantization や optimized product quantization の紹介、最近のhashing系論文リスト。

    K-means hashing (CVPR'13) とハッシング周り
  • 圧縮情報処理ノススメ - An Encouragement of Compression 坂本比呂志 (PDF)

    圧縮情報処理ノススメ An Encouragement of Compression 坂比呂志 データをどれだけ小さくできるかという根源的な問いは,現在もデータ圧縮の主要テーマであり続けている.一方で, データ圧縮は時代とともに新しい価値を獲得してきた.例えば,文字列データを圧縮することで高速検索する理論が 1990 年代に提案され,様々な分野で活用されている.そして現代は,圧縮しなければならない巨大なデータ,圧縮デー タに高速アクセスするための理論,それを実現するハードウェアの全てがそろっている.そこで,文字列圧縮について解 説し,初学者の道標としたい. キーワード:データ圧縮,文字列アルゴリズム,文法圧縮,ストリームデータ .は じ めに どんな大きな情 縮前後のサイズの比が 1% 未満というのは損失がない可 逆圧縮の条件の下では通常考えられない値である. さて前置きが

  • SPYSEEのつながりマイニングのはなし。 - TMBのおぼえがき

    オーマ×クックパッド勉強会に参加しました ごはんが美味しかった。 まえおき http://spysee.jp/のなかのひとです。 フロントエンドやインフラ系はシャッチョーやid:amachangがやっているので、それ以外のところやってます。主にアルゴリズム。つながりの抽出手法や同姓同名処理手法を開発しました。 時々、なかのひととしていろんな会合に出没してます。そのたびに、 「つながりどうやってできてんのー?」 「同姓同名どうなってんのー?」 など聞かれますが、詳細に答えたことはありませんでした。about SPYSEE的な話はIVSのLaunch Pad(動画)などで話したことはありますが、アルゴリズムの詳しいところまでは時間なくて話しておりません。 さて先日、オーマ×クックパッド合同勉強会 を開催しました。そこでお時間いただき、「SPYSEEのつながりマイニング手法」という題目で講演させ

    SPYSEEのつながりマイニングのはなし。 - TMBのおぼえがき
  • GitHub - Mendeley/mrec: A recommender systems development and evaluation package by Mendeley

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - Mendeley/mrec: A recommender systems development and evaluation package by Mendeley
    chezou
    chezou 2013/10/12
    Mendeleyの推薦ライブラリ。あとでためそう
  • バケットソート - Wikipedia

    バケットソート(英: bucket sort)は、ソートのアルゴリズムの一つ。バケツソート、ビンソート(英: bin sort)などともいう。バケツ数 k 個使った場合、オーダーはO(n + k)となり、ソートする要素数nとk を無関係にできる場合線形時間ソートとなるが、要素間の全順序関係を用いるソートとは異なり、キーの取りうる値がk種類である、という入力により強い制限を要求するソートである。 概念[編集] バケットソートの概念 整列したいデータの取りうる値がm種類であるとき、m個のバケツを用意しておき、値ごとに1個のバケツを対応づける。元のデータ列を走査して、各データを対応するバケツに入れていく。この処理が終わった後、整列したい順序に従ってバケツから値を取り出せば、データをソートすることができる。 安定ソートを実現するためには、同じバケツに入っているデータは入れたときと同じ順序で取り出す

    バケットソート - Wikipedia
    chezou
    chezou 2013/09/30
    "スリープソート バケットソートのバケツをメモリ空間の代わりに時間に置き換えたものである"
  • ウェーブレット行列のrankを2倍高速化する案について著者からコメントをいただいた - EchizenBlog-Zwei

    一年くらい前にウェーブレット行列のrank計算を2倍高速化する方法を思いついた。 詳細はDSIRNLP発表資料(http://ja.scribd.com/doc/102636443/Wavelet-Matrix)のP.56以降。 当にイケているのか自信がなかったのでウェーブレット行列論文のfirst authorであるF. Claude氏に"アドバイスお願いします"と送ったメールに返信があった。 "I guess that if your alphabet is not bit, this might be a very good alternative to pointer-based wavelet trees! :D"とのこと。めでたしめでたし。

    ウェーブレット行列のrankを2倍高速化する案について著者からコメントをいただいた - EchizenBlog-Zwei
  • 多腕バンディット テスト - アナリティクス ヘルプ

    Google アナリティクス ウェブテストの基盤を成す統計手法について説明します。Google アナリティクスでは、ウェブテストの手法として多腕バンディット方式を採用しています。多腕バンディット テストには、次のような特徴があります。 最も利益の大きい選択肢の特定を目標とする ランダム分布がテストの進行とともに更新される 「多腕バンディット(multi-armed bandit)」という名前は、それぞれに異なる見込み配当率が設定された、「One-armed bandit(片腕の盗賊)」というスロット マシンが複数並んでいる状況を模した仮説テストという意味を持っています。スロット マシンのプレイヤーは、最も見込み配当率が高いスロット マシンを見つけ出す必要がある一方で、利益を最大化する必要もあります。この状況では、これまでの配当率が最も優れているマシンのみをプレイするか、それともさらに配当率

  • 第28回助教の会

    今回は数理情報学第1研究室の多淳也さんに発表していただきました。タイトルは「多腕バンディット問題における漸近最適戦略について」です。多さんは数理4研で修士をされ、その後数理1研で博士号を今年3月に所得し春から1研で助教をされています。多さんは情報理論と統計的機械学習の両方に興味をお持ちで、今回の話は主に後者の問題を扱っています。 多腕バンディット問題というのは、ギャンブラーがスロットマシンで金儲けを狙う場合に、 $k$台ある性能の異なるマシンの中から$n$回($n>> k$)プレイする中で各マシンの報酬の期待値を推定し、それに応じて各台のプレイ回数を報酬ができるだけ大きくなるように決める問題です。仮定としては各マシンの報酬がある確率分布の集合に属すること、またその集合(例えばベルヌーイ分布、または正規分布であること)は既知であることです。応用例はギャンブルの他にいくつもあるそうです。

    第28回助教の会
    chezou
    chezou 2013/08/07
    多腕バンディッドのお話
  • バンディットアルゴリズムによる最適化手法

    書は、「多腕バンディット問題」と呼ばれる問題を解くためのアルゴリズムを、Webサイトの最適化という例をもとに解説する書籍です。 バンディットアルゴリズムに関する基的な知識について、既存研究についての理解を十分に得て、多腕バンディット問題についての資料を自力で読めるようにすることを目的としています。 A/Bテストのような2者択一ではなく、新しいアイデアの探索と、既存のアイデアから最大限の利益を引きだすという矛盾する2つの問題を解決するための一助となるでしょう。なお書はEbookのみの販売となります。 yuku_tさんによる書の英語版とバンディットアルゴリズムに関するまとめ http://qiita.com/yuku_t/items/6844aac6008911401b19 まえがき 1章 2種類のキャラクター:「探求」と「活用」 科学者とビジネスマン 「探求」と「活用」のジレンマ 2

    バンディットアルゴリズムによる最適化手法
    chezou
    chezou 2013/08/04
    日本語版出てたんだ。買おう
  • 高速かつ省メモリなbit vector「sucBV」を作る

    はじめに 大規模なデータを扱うアプリケーションでは、速度とともに作業領域量も大きな問題となります。作業領域がメインメモリに収まらない場合、スワッピングが発生し、大幅な速度低下につながります。そのため近年、データ構造は高速なだけでなく、作業領域量が小さいことも求められています。今回紹介するデータ構造は「操作付きbit vector(SUCcinct Bit Vector:sucBV)」です。sucBVは、圧縮索引やSuccinct Data Structureなど、データをコンパクトに表現する際に重要なデータ構造です。STLのvector<bool>と同様に、bit列情報B[0....n-1]を保存します。このbit列情報は前もって与えられ、変更が無いことを前提とします。sucBVは、次の二つの操作を定数時間でサポートします。 rank(p,bit)――B[0...p]中のbit(bitは1

    高速かつ省メモリなbit vector「sucBV」を作る
  • kfka.net

    The domain kfka.net may be for sale. Please send an inquiry to info@first1.com

  • A/Bテストよりすごい?バンディットアルゴリズムとは一体何者か - Qiita

    オバマ大統領の再選に大きく寄与したことで大きな注目を集めているA/Bテスト。A/Bテストを導入した、することを検討している、という開発現場も多いのではないだろうか。 そんな中、Web上で次のような議論を見つけた。 20 lines of code that will beat A/B testing every time Why multi-armed bandit algorithm is not “better” than A/B testing 一言でまとめると「A/Bテストよりバンディットアルゴリズムの方がすごいよ」「いやいやA/Bテストの方がすごいし」ということだ。 で、バンディットアルゴリズムとは一体何者なのか? そこでBandit Algorithms for Website Optimization (O'REILLY)を読んでみた。その結果分かったことを踏まえてざっくりと

    A/Bテストよりすごい?バンディットアルゴリズムとは一体何者か - Qiita
    chezou
    chezou 2013/04/03
    本よもう。活用で使う方法と探求で使う方法の重み付けの問題に落とすのか
  • 劣モジュラ - 機械学習の「朱鷺の杜Wiki」

    劣モジュラ (submodular)† 離散最適化問題を解くとき,目的関数に劣モジュラ性があれば,多項式時間で解くことができる. 有限集合 \(V\) に対して,その任意の部分集合 \(X\subseteq V\) から実数への関数を \(f(X)\) とする.この関数が劣モジュラ関数であるとは,任意の部分集合 \(X,Y\subseteq V\) に対して次の性質があること: \[f(X)+f(Y)\ge f(X\cap Y)+f(X\cup Y)\] これは次の性質と等価 \[X\subseteq Y\subseteq V,\, x\in V\backslash Y,\;f(X\cup\{x\})-f(X)\ge f(Y\cup\{x\})-f(Y)\] 劣モジュラ関数を最小化する部分集合は,\(|V|\) の5〜6乗の多項式時間で解くことができる. さらに,\(f(X)=f(V\ba

  • GoogleNewsのレコメンドの中身 - UMEko Branding

    先日、全体ゼミで発表したときの内容ですが、ここにまとめときます。。GoogleNewsのレコメンドの中身を追った論文の要約です。少し前の全体ゼミで用いた資料です。ソース:Abhinandan Das,Mayur Datar,Ashutosh Garg,Shyam Rajaram,"Google News Personalization: Scalable OnlineCollaborative Filtering",WWW2007不勉強な個所が多々ありますので、誤っている箇所等ありましたら、是非ご指摘ください。 個人的には、最近のモデルベースの手法の勉強・おさらいという意味で用いているので、GoogleNews独自の拡張なり実装の部分の内容が省かれている場合があります。また、データ構造やMapReduceを用いた計算の仕組みの部分は、ここでは省略しています。。一応、 全体像 ・LSH(Lo

    chezou
    chezou 2013/03/10
    MinHashingとpLSIを使って動的に変化するvectorに対してrecommendationしてるのか!
  • たぶん30分でよくわかるLOUDS入門 - EchizenBlog-Zwei

    IMEの効果でLOUDSの認知度が高まってきた気がする。が、一方で難しいという意見もチラホラある様子。 というわけでLOUDSをどこまでわかりやすく説明できるか?ということに挑戦したくなったので記事を書いてみるよ。 LOUDSというのは木を表すデータ構造。木というのは以下のようなものを想像すればよい。 この木を表すデータ構造を作りたい。単純に考えると各ノード毎に子ノードのIDを持たせておけばよい。つまり 0 => {1, 4, 5} 1 => {2, 3} 2 => {} 3 => {} 4 => {} 5 => {6} 6 => {7}というようなものを考える。ここで各IDと子ノード数を各1バイトで管理したとして 0 => {1, 4, 5} # 1 + 3 = 4バイト 1 => {2, 3} # 1 + 2 = 3バイト 2 => {} # 1 + 0 = 1バイト 3 => {}

    たぶん30分でよくわかるLOUDS入門 - EchizenBlog-Zwei
  • Tree Edit Distanceと自然言語処理への応用 - Preferred Networks Research & Development

    海野です。ちょっと時間があいてしまいましたが、昨年の12月に開催されたNTCIR-9という会議のRecognizing Inference in TExt (RITE)というタスクに、前職の方々と共著で出場しました。 Syntactic Difference Based Approach for NTCIR-9 RITE Task. Yuta Tsuboi, Hiroshi Kanayama, Masaki Ohno and Yuya Unno. NTCIR-9, 2011. [pdf] 含意関係認識といわれるこのタスクは、大雑把に言うと与えられた2つの文が同じ意味のことを言っているかどうか判定しなさいというタスクです(厳密には一方からもう一方が帰結できるかの判定です)。今日は、その中で使ったTree Edit Distance (TED) について解説します。 TEDは2つの順序付き木が

    chezou
    chezou 2012/02/13
    Tree Edit Distance面白い
  • Blog

    Numerical optimization is at the core of much of machine learning. In this post, we derive the L-BFGS algorithm, commonly used in batch machine learning applications.

    chezou
    chezou 2011/10/19
    onlineの分類来