推薦システムの主なアルゴリズムの概要とYoutubeのディープラーニング推薦アルゴリズムの例

推薦システムの主なアルゴリズムの概要とYoutubeのディープラーニング推薦アルゴリズムの例

協調フィルタリング

協調フィルタリング (CF) とそのバリエーションは、最も一般的に使用される推奨アルゴリズムの 1 つです。データサイエンスの初心者でも、履歴書プロジェクトなど、自分専用の映画推奨システムを構築するために使用できます。

ユーザーに何かを推奨したい場合、最も論理的な方法は、そのユーザーと同じ趣味を持つユーザーを見つけ、その行動を分析して、同じものを推奨することです。あるいは、ユーザーが以前購入した商品に似たものに焦点を当て、類似の商品を推奨することもできます。

協調フィルタリング (CF) には、ユーザーベースの協調フィルタリング技術とアイテムベースの協調フィルタリング技術という 2 つの基本的な方法があります。

推奨アルゴリズムは、上記の各シナリオで 2 つのステップで構成されます。

1. データベース内のユーザー/アイテムのうち、対象のユーザー/アイテムに類似するものがいくつあるかを調べます。

2. 製品のユーザー/アイテムに類似するユーザー/アイテムの合計重みを考慮して、他のユーザー/アイテムを評価し、関連製品のユーザーに与える評価を予測します。

このアルゴリズムにおける「最も類似」とはどういう意味ですか?

ここで得られるのは、各ユーザーの嗜好ベクトル (行列 R の列) と、各製品に対するユーザー評価のベクトル (行列 R の行) です。

まず、両方のベクトルで値がわかっている要素のみを保持します。

たとえば、ビルとジェーンを比較したい場合、ビルはタイタニックを見たことがなく、ジェーンはバットマンを見たことがないとわかっている場合、彼らの類似性はスターウォーズによってのみ測定できます。スターウォーズを観ない人がいるでしょうか? (笑顔)

類似性を測定する最も一般的な方法は、ユーザー/アイテム ベクトルのコサイン類似度または相関を測定することです。最後のステップは、類似度に基づいて加重算術平均法を使用して、表内の空のセルを埋めることです。

推奨のための行列分解

もう一つの興味深いアプローチは、行列分解を使用することです。これはエレガントな推奨アルゴリズムです。通常、行列を因数分解するときに、結果の行列の行と列のどの項目が保持されるかについてはあまり考慮しないためです。しかし、推奨ツールを使用すると、u は i 番目のユーザーの興味に関するベクトルであり、v は j 番目の映画のパラメータに関するベクトルであることが明確にわかります。

次に、u と v のドット積を取ることで、x (i 番目のユーザーが j 番目の映画に付けた評価) を推定できます。既知の評価を使用してこれらのベクトルを構築し、それを使用して未知の評価を予測します。

たとえば、行列分解後、Ted のベクトル (1.4; .9) と映画 A のベクトル (1.4; .8) が得られます。これで、(1.4; .9) と (1.4; .8) のドット積を計算するだけで、映画 A-Ted の評価を復元でき、評価結果は 2.68 になります。

クラスタリング

以前の推奨アルゴリズムは比較的単純で、小規模なシステムに適していました。そして現在に至るまで、私たちは推奨問題を教師あり機械学習タスクとして捉えてきました。今こそ、このような問題に教師なしの方法で取り組むべき時です。

協調フィルタリングと行列分解に長い時間を要する大規模な推奨システムを構築していると想像してください。最初のアイデアはクラスタリングです。

ビジネスの初期段階では、事前のユーザー分類が不足していることが多く、クラスタリングが最適な方法です。

しかし、クラスタリングを単独で使用した場合、実際にはユーザーのグループを識別し、このグループ内のすべてのユーザーに同じものを推奨することになるため、クラスタリングは少し弱くなります。十分なデータがある場合は、最初のステップとしてクラスタリング手法を使用する方がよいでしょう。これにより、協調フィルタリング アルゴリズムで関連する近傍の選択を減らすことができます。複雑な推奨システムのパフォーマンスも向上します。

各クラスターには、そのクラスターに属するユーザーの好みに基づいて代表的な好みが割り当てられます。クラスター内の各ユーザー セットには、クラスター レベルで計算された推奨事項が送信されます。

レコメンデーションシステムのためのディープラーニング手法

過去 10 年間で、ニューラル ネットワークの開発は大きく進歩しました。現在、さまざまなアプリケーションで使用されており、従来の機械学習手法に徐々に取って代わっています。以下では、YouTube でディープラーニング手法がどのように使用されているかを示します。

言うまでもなく、このようなサービスのためのレコメンデーション システムを構築することは、その規模の大きさ、常に変化するコーパス、そしてさまざまな観測不可能な外部要因のため、非常に困難な作業です。

「YouTube 推奨システム向けディープ ニューラル ネットワーク」に関する関連研究によると、YouTube 推奨システム アルゴリズムには、ニューラル ネットワークの 2 つの部分が含まれています。1 つは候補生成用、もう 1 つはソート用です。時間が足りない場合は、ここで簡単に要約します。

候補生成ネットワークは、ユーザーの履歴を入力として使用することで、ビデオの数を大幅に削減し、大規模なコーパスから最も関連性の高いビデオのセットを選択できます。生成された候補セットはユーザーにとって最も関連性が高く、このニューラル ネットワークの目的は、協調フィルタリングを通じて幅広いパーソナライゼーション サービスを提供することです。

このステップでは、ユーザーのニーズに近い候補結果の数が少なくなります。私たちの現在の目標は、最善の決定を下せるよう、すべての候補者を慎重に分析することです。このタスクはランキング ネットワークによって実行され、ビデオを説明するデータとユーザーの行動に関する情報を使用する目的関数に従って各ビデオにスコアを割り当てます。

2 段階のアプローチを使用すると、大規模なビデオ コーパスからビデオを推奨できますが、これらの推奨のうち、パーソナライズされ、実際にユーザーによって適用されるのはごくわずかであることが確実です。この設計により、他のリソースによって生成された結果とこれらの候補結果を混在させることもできます。

推奨タスクは、極端な多クラス分類問題のようなもので、予測問題は、特定の時間 t におけるユーザー (U) とコンテキスト (C) に基づいて、コーパス (V) 内の何百万ものビデオの中から特定のビデオ (wt) をクラス (i) に正確に分類する問題になります。

独自の推奨システムを作成する前に注意すべき重要なポイント:

  • 大規模なデータベースがあり、それをオンライン推奨に使用したい場合、この問題を 2 つのサブ問題に分割するのが最適です。1) 上位 N 個の候補結果を選択する、2) それらをランク付けする。
  • モデルの品質をどのように測定しますか?標準化された品質指標に加えて、推奨問題に関する特定の指標として、Recall@k、Precision@k などがあります。推奨システムの最もわかりやすい指標を確認することもできます。
  • 分類アルゴリズムを使用して推奨問題を解決する場合は、ネガティブサンプルの生成を検討する必要があります。ユーザーが推奨アイテムを購入した場合、それをポジティブサンプルとして追加したり、残りをネガティブサンプルとして扱ったりしないでください。
  • アルゴリズムの品質のオンラインとオフラインのスコアリングを検討してください。過去のデータのみでトレーニングされたモデルは、アルゴリズムが将来の新しいトレンドや好みに関する知識を持たないため、単純な推奨事項を生成する可能性があります。

<<:  【WOTI】English FluencyのLin Hui氏:教育分野でのAIはまだ初期段階にある

>>:  機械学習は増加傾向にありますが、そのアルゴリズムの結果は公正なのでしょうか?

ブログ    
ブログ    
ブログ    

推薦する

自動運転車の台頭は半導体業界に発展のチャンスをもたらす

現在市販されている「手動運転」の自動車には、ナビゲーション、車載インフォテインメントシステム、道路監...

...

...

ユニサウンドがマルチモーダルAIチップ戦略を発表、同時に開発中の3つのチップを公開

昨年5月に業界初となるモノのインターネット(IoT)向けAIチップ「Swift」とそのシステムソリュ...

AIがワンクリックでタトゥーを除去し、数秒でスターの「素顔」を見ることができる

時には、他人のタトゥーを真似されないように隠す必要があることもあります。時々、人々は単に好奇心から、...

...

AIはスマートシティの人材採用に役割を果たすのでしょうか?

AI ツールとテクノロジーはスマート シティと IoT 主導の業界にとってゲームチェンジャーとなっ...

機械学習エンジニアとデータサイエンティストの違い

今日では、データ サイエンティストの仕事は非常に一般的になり、機械学習もその中に完全に含まれる可能性...

7,000万以上の店舗と10億以上の商品を持つWeidianは、どのようにAIシステムを構築しているのでしょうか。

[51CTO.com からのオリジナル記事] AI テクノロジーは電子商取引にとって不可欠ですが、...

...

...

...

PyTorch と TensorFlow のベンチマーク: どちらのプラットフォームが NLP モデル推論をより速く実行しますか?

PyTorch と TensorFlow のどちらが優れているかという議論は、決して終わることはあ...

ソフトウェア配信における機械学習の活用方法

現代のほとんどのソフトウェア チームにとって、ソフトウェアの配信は継続的なプロセスです。ソフトウェア...

ByteDanceは、ロボットの成功率と操作効果を高めたVi-PRoMビジュアル事前トレーニングソリューションを提案した。

近年、大規模な実世界データを使用した視覚事前トレーニングは大きな進歩を遂げており、ピクセル観察に基づ...