読者です 読者をやめる 読者になる 読者になる

よしだのブログ

サブタイトルはありません。

書評 - 実践 機械学習 レコメンデーションにおけるイノベーション

IT、プログラミング 機械学習、ビッグデータ

f:id:yoshi0309:20140704072717p:plain

どうも!久しぶりに書評にチャレンジしてみます。今回は e-Book の「実践 機械学習 レコメンデーションにおけるイノベーション」です。フリーで読めます。ダウンロードは以下から。

http://www.hadoop-times.com/technology/pdf-practical-machine-learning.html

本書は Hadoop を使って、どのようにして実際に役に立つレコメンデーションエンジンを作るかを説いた本です。単にレコメンデーションの作り方を説いただけではなく、「実践的」であることがとても画期的でした。 Mahout で一応強調フィルタリングやってみたけど使えるとは思えない、という人は必読だと思います。 逆に言えば、応用編といった趣が強い本なので、レコメンデーション、Hadoop、機械学習、Solr (検索エンジン) が全く初めてという人にはピンと来ないと思います。ページ数もかなり薄く、詳細やコード、実際の実装内容やコマンドは全て省かれています。

  • レコメンデーション(共起分析)は様々なアルゴリズムがあるが、正直なところビジネスの視点からは大差がない。ならば、シンプルで実績のあるものを使おう(Mahout の RowSimilarityJob) 
  • 作成したインジケータ (共起分析の結果、アイテム同士の関連) は、アイテムのメタデータとともに Solr に投入しよう。そうすることで、関連度に従ったソートができる
  • 改善の手法として、ディザリング、アンチフラッド、マルチモーダルとクロスレコメンデーションを紹介

特に改善のディザリングを理由についてについてなるほどと思ったのは以下の箇所。

この行動は、レコメンデーションのエンジンに大きな影響があります。それは、ユー ザーが 2 ページ目以降の結果をまったく見ないのであれば、ユーザーからは、2 ペー ジ目の結果の良し悪しに関して、行動によるレコメンデーションエンジンへのフィー ドバックがまったく得られないということになるからです。その結果、レコメンデー ションエンジンが受け取るフィードバックは、すでに知っている結果に関するものが ほとんどになり、その時点の知識の境界線上にある結果については、ほとんどフィー ドバックが得られないことになるのです。

7.1 「ディザリング」より

このような状態を避けるために、関連度が低いアイテムをいくつかレコメンドに紛れ込ませる、という方法がディザリングです。いかにも当たり前の様にも見えるのですが、私だけかもしれませんがこのような現象を事前に予想しておき対策を予め打つことはなかなか難しいことだと思います。むしろ、蓄積されたノウハウというものはこのようにあとで見ると当たり前のようにしか見えないもので、当たり前のようにしか見えないがゆえに直感的に有用であることがわかるし、実際に役に立つと思うのです。

Solrを使うことについての、私なりの補足。

本書の残念な点は、検索エンジン Solr を使う理由を関連度に元づいてソートするため、としか書いていないことです。このため、Solr に入れるメリットがイマイチ伝わりません。が、おそらく、この点が最も本書の売りで画期的な点だと私は考えています。というわけで、私なりに補足を試みてみようと思います。

まず、説明にあたりどのようなレコメンドかの共通イメージを持たなければいけません。Amazon の商品詳細に表示されるこれをイメージしてください。

f:id:yoshi0309:20140704072250p:plain

(実際にはどうかはわかりませんが) このアイテムを、本書で説明されている方法で分析取得していると仮にします。表示している商品に対するレコメンドとして「こんな商品」を引いてくる、という目的だけであればDBやNoSQLでも十分です。また、ソートについても、アイテムのメタデータ(商品名や発売日、カテゴリーなど)をベースにできれば検索エンジンを使う理由は全くありません。ではなぜ検索エンジンを使うのでしょうか?

ポイントは、改善の章にあると考えています。以下のような改善の手法を一発の検索クエリで実現することができるのです。また、非常に高速かつスケーラビリティが高いことが、より実践向きであることは言うまでも無いでしょう。

  • ディザリングを使って、関連度の低い商品を紛れ込ませる (ファンクションクエリの log)
  • アンチフラッドを目的として同一カテゴリ内の商品の件数を2以下にする
  • キャンペーン中の商品を上位に表示する
  • 利用者が過去に購入した商品を除外する

というわけで「実践」の名に嘘偽りなく、レコメンデーションに興味がある人には必読の書でした。


関連エントリ

機械学習関連のセッションを中心に回ってきました。この「実践機械学習」に関するセッションのメモとスライドもあります。

勉強会メモ - Hadoop Conference Japan 2014 - よしだのブログ


ツイッターやってます


おすすめ書籍

Mahoutイン・アクション

Mahoutイン・アクション

  • 作者: Sean Owen,Robin Anil,Ted Dunning,Ellen Friedman,伊東直子,真鍋加奈子,堀内孝彦,都元ダイスケ
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2012/10/26
  • メディア: 大型本
  • 購入: 3人 クリック: 26回
  • この商品を含むブログ (10件) を見る

フリーソフトでつくる音声認識システム - パターン認識・機械学習の初歩から対話システムまで

フリーソフトでつくる音声認識システム - パターン認識・機械学習の初歩から対話システムまで

パターン認識と機械学習 上

パターン認識と機械学習 上

  • 作者: C.M.ビショップ,元田浩,栗田多喜夫,樋口知之,松本裕治,村田昇
  • 出版社/メーカー: 丸善出版
  • 発売日: 2012/04/05
  • メディア: 単行本(ソフトカバー)
  • 購入: 6人 クリック: 33回
  • この商品を含むブログ (15件) を見る