岡野原 大輔さんの講演

私の一番のmotivationはこのセッションでした。

本発表では、SBMの推薦アルゴリズムにおける精度、処理性能向上のための手法を最新の研究成果も含めて解説する。また、実例として、はてなブックマークにおける「関連エントリ」を弊社のシステムがどのように実現しているかを解説する。


以下は私のメモです。

  • PFIはもともとPurely Functional Infrastructureやったんや
    • 岡野原さんではないが、(大田さんかな)Haskell好きだったらしい
  • CF(協調フィルタリング)に注目
  • hatenaとの開発話
    • Thrift RPCを使う
      • C++(PFI側)とPerl(hatena側)間のデータのやりとり
    • Bayesian Set解説サイト
    • はてブの「関連エントリ」、ほぼタグだけを使って計算して表示
    • 大規模レコメンデーション
      • 数が大きくないと、機械がレコメンドするメリットが薄い
      • 主記憶上に載せるのが最優先
      • 相関はO(n)は無理
      • 圧縮とLSH(Locally Sensitive Hash) O(log n)
        • LSHはいいのか?
      • LSH(解説サイト
        • この説明は容赦なかったですね。法線とかは絵を載せた方が良かったと思います。
        • 私は雑誌記事を読んでいたのでこの部分は分かりました。
  • SBMはデータがきれい(スパム少)
    • より明示的な入力ということか?
  • コメントが面白いという点は(SBMのコメントの内容を見ずに共起だけでも十分という研究をしていた)東工大さんのコメントを聞いてみたい
    • 後で松尾さんが質問
  • Q&A
    • なぜLSHなのか?次元圧縮など他にも方法はあるはずだが?
      • いろいろ試してLSHが一番良かった。
      • LSHはそんなには良くないと言っている人もいるけどなぁ?
    • なぜcosine距離なのか?(なぜL1, L2ではないのか?)
      • 他は試していないが、cosineは他のメトリックと関係性が高くはずしてないはずという予想
      • hotateではcosineでfilterして、その後に精度を上げる計算として独自のメトリックを使っている
    • タコつぼ化しないために、ユーザが知らないものを出すには?amazonでは買っていないを基準にしていいかも知れないがが、はてブではどう?
      • 重要でいいテーマ。まだやっていない。技術屋さんというより企画屋さんが決めること。
    • LSHの代表ベクトルをランダムでとるのは良い?うまく切れば良くなるのでは
      • 問題に合わせてうまく切れば良くなる可能性はある。今回は計算効率が良い点からやっていない
      • スペクトルハッシュ、主成分分析など