Netflix Prizeは、Netflixが主催した公開コンペティションであり、映画に対するユーザーの評価を予測する最良の協調フィルタリングアルゴリズムを開発することを目的とした。2006年10月2日に開始されたこのコンテストは、Netflix自身のレコメンデーションアルゴリズムであるCinematchを、二乗平均平方根誤差(RMSE)で10%改善できたチームに、賞金100万米ドルを授与するものだった。このコンペティションは、Netflixと関係のない人物で、キューバや北朝鮮などの特定の対象国に居住していない人物なら誰でも参加できた。2009年9月21日、グランプリはチームBellKor's Pragmatic Chaosに授与され、Cinematchに対して10.06%の改善を達成した。
このコンペティションはMachine learningの分野における画期的な出来事であり、アンサンブル手法の威力を示し、協調フィルタリング技術への広範な関心を喚起した。また、大規模でユニークなデータセットと明確な目標を提供し、150以上の国から20,000以上のチームを引き付けた。
問題とデータセット
Netflixは、480,189人のユーザーが17,770本の映画に対して行った100,480,507件の評価からなるトレーニングデータセットを提供した。各トレーニング評価は、<ユーザー、映画、評価日、評価値>という形式の4つ組であり、ユーザーと映画は整数ID、評価値は1から5の整数だった。資格データセットには、<ユーザー、映画、評価日>という形式の2,817,131件以上の3つ組が含まれており、評価値は審査員のみが知っていた。参加チームのアルゴリズムは、資格セット全体の評価値を予測する必要があったが、チームにスコアが通知されたのはデータの半分、すなわち1,408,342件の評価からなるクイズセットのみだった。残りの半分、1,408,789件の評価からなるテストセットは、審査員が賞の受賞者を決定するために使用された。どの評価がクイズセットに含まれ、どの評価がテストセットに含まれるかを知っていたのは審査員だけであり、テストセットへの過適合を困難にしていた。
提出された予測は、真の評価値に対してRMSEを用いてスコアリングされ、目標はこの誤差を可能な限り減らすことだった。Netflixはまた、トレーニングデータセット内の1,408,395件の評価からなるプローブサブセットを特定し、これはクイズセットとテストセットと同様の統計的特性を持つように選択された。トレーニングセットは、平均的なユーザーが200本以上の映画を評価し、平均的な映画が5,000人以上のユーザーによって評価されるように構築されたが、ばらつきは大きかった。一部の映画はわずか3件の評価しかなく、一方で1人のユーザーは17,000本以上の映画を評価していた。顧客のプライバシーを保護するため、一部の評価データは、評価の削除、代替評価や日付の挿入、評価日付の変更によって意図的に改変された。
RMSEを定義する指標として選択したことにはいくつかの論争があり、RMSEの1%の改善でも、ユーザーに対する上位10件の推奨映画のランキングに大きな影響を与える可能性があると主張された。
賞
賞は、Netflix自身のアルゴリズムであるCinematchに対する改善、またはチームが特定の閾値を超えて改善した場合は前年度のスコアに対する改善に基づいて授与された。各映画の平均評価値を予測する自明なアルゴリズムは、クイズセットで1.0540のRMSEを生成した。Cinematchは、多くのデータ調整を伴う単純な統計的線形モデルを使用し、クイズデータで0.9514のRMSEを記録し、自明なアルゴリズムに対して約10%の改善となった。グランプリを獲得するには、チームはテストセットで0.8572のRMSEを達成する必要があり、これはCinematchに対する10%の改善に相当した。
グランプリを獲得したチームがいない限り、年間進歩賞として50,000ドルが毎年授与され、アルゴリズムがクイズセットのRMSEを前年の進歩賞受賞者(または初年度はCinematch)に対して少なくとも1%改善した場合に限られた。賞を請求するには、参加者は1週間以内にソースコードとアルゴリズムの説明を審査員に提供し、検証後にNetflixに非独占的ライセンスを提供する必要があった。Netflixは説明のみを公開し、ソースコードは公開しなかった。チームは、最初は週に1回、後には1日に1回、任意の数の予測セットを提出できた。チームが10%の改善を達成すると、審査員は最終通告を発行し、全チームに最終エントリーを提出する30日間の猶予を与えた。コンテストはグランプリ受賞者が宣言されるまで続く予定だったが、少なくとも5年間(2011年10月2日まで)に受賞者が現れなかった場合、Netflixの裁量で終了されることになっていた。
長年にわたる進歩
コンペティションは2006年10月2日に開始された。10月8日までに、WXYZConsultingというチームがすでにCinematchの結果を上回っていた。10月15日までに、3つのチームがCinematchを上回り、そのうち1つは1.06%の改善で、年間進歩賞の資格を得るのに十分だった。2007年6月までに、150以上の国から20,000以上のチームが登録し、2,000のチームが13,000以上の予測セットを提出した。
最初の1年間で、いくつかの有力チームが首位を入れ替えた。これには、WXYZConsulting(Wei XuとYi Zhang)、University of TorontoのGeoffrey Hinton教授が率いるML@UToronto A、ブダペスト工科大学のGravity、AT&T LabsのBellKorが含まれる。これらのチームは、行列分解、Ensemble Learning、Neural networkアプローチなど、さまざまな手法を採用し、多くの場合、複数のモデルを組み合わせて段階的な改善を達成した。
影響と遺産
Netflix Prizeは、レコメンダーシステムとMachine learningの分野に大きな影響を与えた。これは、最先端の結果を達成するために多くの予測モデルをブレンドすることの有効性を示し、この手法は業界で広く採用されるようになった。また、このコンペティションは、大規模で現実世界のデータセットに対するデータマイニングの重要性を浮き彫りにし、協調フィルタリングアルゴリズムの研究を促進した。優勝チームであるBellKor's Pragmatic Chaosは、制限ボルツマンマシンや行列分解の変種を含む100以上の異なるモデルを組み合わせて、最終的な10.06%の改善を達成した。
このコンペティションはまた、データ共有におけるプライバシー問題への認識を高めた。Netflixは後に、ユーザーを特定できる可能性のあるデータセットの公開をめぐって訴訟に直面した。これらの懸念にもかかわらず、Netflix PrizeはArtificial intelligenceとデータサイエンスの歴史におけるベンチマークであり続け、同様のコンペティションに影響を与え、ストリーミングサービスや電子商取引プラットフォームで使用される現代のレコメンデーションシステムの開発に貢献した。
関連項目
- Machine learning
- collaborative-filtering
- recommender-systems
- data-mining