集合知をプログラミングする

Programming Collective Intelligence takes you into the world of machine learning and statistics, and explains how to draw conclusions about user experience, marketing, personal tastes, and human behavior in general -- all from information that you and others collect every day. Each algorithm is described clearly and concisely with code that can immediately be used on your web site, blog, Wiki, or specialized application.

Programming Collective Intelligence: Building Smart Web 2.0 Applications

Programming Collective Intelligence: Building Smart Web 2.0 Applications

リアルタイムで膨張する巨大データベース群であるWebから、機械学習と統計の力をもって価値ある知恵を抽出する方法を解説しているそーです。昨今、CGMWeb2.0だとお祭り状態ですけど、その巨大データベースをいかに活用できるかが今後重要になってくるんだと思います。

いわゆるGooglePageRankであったり、Amazonの「この商品を買った人はこんな商品も買っています」であったり、Last.Fmの「このアーティストを聞いている人はこのアーティストも聞いてます」ってやつをいかにプログラムするか? なんかWebって知識工学の壮大な実験場みたいですよね。

いちおう内容を箇条書きしておくと、こんな感じ。

  • オンラインの小売業者が商品やメディアを推薦できるようにする協調フィルタ技術
  • 巨大なデータ群の中からよく似たアイテムのグループを発見するクラスタリング手法
  • 検索エンジンの特徴 - クロール、インデクサ、クエリエンジン、ページランクアルゴリズム
  • 一つの問題に対する何百万もの可能解を探し、最適な解を選択する最適化アルゴリズム
  • 単語の種類や他の特徴でドキュメントを分類するスパムフィルタで使われているベイジアンフィルタリング
  • 予測だけでなく、決定された方法を模倣するための決定木の利用
  • 数値予測よりも価値モデル構築のための分類
  • デートサイトにおけるマッチングを行うベクタマシンの支援
  • データ集合の非依存特徴を見つけるための非負行列の因数分解
  • 問題解決のための知識展開 - いかにコンピュータが、ゲームをするよりコードを改善してスキルを発展させるか

ーーー

しかしまー、これ読むより、もっと読まないといけない本が山ほどあるんですけどね^^;