2009-06-28 12 views
18

私はちょうどBellKorのPragmatic ChaosチームがWiredのwinning the Netflix Challengeであることを読んでいますが、この種のアルゴリズムがどのように動作するのかが不思議です。私はチームのBellkorのソリューションがフィールド上の革新的なものでなければならないことを知っています..しかし、フィールドは通常どのように機能しますか?マルコフ連鎖が何度も何度も繰り返されている、本当に詳細なデータベースなのでしょうか?自動推奨アルゴリズムは通常どのように機能しますか?

答えて

11

フィールドは通常どのように機能しますか?

これはデータマイニング技術です。データマイニングは、ビジネスインテリジェンス(データウェアハウスなど)の一部として、膨大な量のデータで関係や情報を検索するために使用されます。これはコンピュータ科学の分野であり、一般的な機械学習にも対応しています。パターン認識。自動推奨はAssociation Miningです。高いサポートとの関連付けが推奨として示されています。 k-nearest-neighborアルゴリズムは、機械学習/データマイニングの人々が使用する多くのアルゴリズムのうちの1つに過ぎません。

基本理論に興味がある場合は、Ian H. WittenのData Mining: Practical Machine Learning Tools and Techniquesをお勧めします。

Javaの場合、のマシン学習パッケージassociation miningを実行することができます。 Ian WittenもWEKAの著者の一人です。

11

このウィキペディアの記事をご覧ください:Euclidean Distance

基本的な考え方は、(ユークリッドのような)距離メトリックを使用して、人や物を互いに比較することです。

新しいO'Reillyの書籍「Programming Collective Intelligence: Building Smart Web 2.0 Applications」には、このトピックに関する素晴らしい章があります。

+0

もう1つのアプローチは、マンハッタン距離(またはTaxicabジオメトリ)です(計算は速く、ユークリッドはあまり正確ではありません) – adhg

5

ほとんどのNetflix Competition応募者はSingular Value Decompositionのバリエーションを使用しました。このアルゴリズムは、大きな行列を取り出し、それを近似2x2行列に単純化することによって動作する。この2×2行列は、2次元空間上にプロットすることができ、2次元空間において、互いに近接する点は、元の行列内で互いに親和性を共有する。

Netflixの場合、ムービーが列で、ユーザーが値[i、j]がiユーザーがムービーjを与えた格付けである行であるマトリックスを作成できます。これは、非常に大きなマトリックスであり、それは、大きなマトリックスの近似として働く2次元マトリックスを生成するためにそれに適用されるSVDを有することができる。この飛行機にプロットされたときに互いに近くにいるユーザーは同様の評価を共有するため、あるユーザーが他のユーザーがこの航空機に近くにいる人を見たムービーを見なかった場合、そのことが新しいユーザーに推奨される可能性があります。

優勝したソリューションは、SVD ++と呼ばれるストレートSVDアルゴリズムのバリエーションを設計し、他のエッジケースと組み合わせて、賞を獲得するために必要な10%を超えるアルゴリズムを試作しました。

関連する問題