アルゴリズムの原理から推奨戦略まで

アルゴリズムの原理から推奨戦略まで

[[195281]]

推奨アルゴリズムの紹介

現在の推奨アルゴリズムは、一般的に次の 4 つのカテゴリに分類されます。

  • 協調フィルタリング推奨アルゴリズム
  • コンテンツベースの推奨アルゴリズム
  • ハイブリッド推奨アルゴリズム
  • 人気推奨アルゴリズム

協調フィルタリングのための推奨アルゴリズム

協調フィルタリング推奨アルゴリズムは、おそらく最も一般的に使用されている推奨アルゴリズムです。ユーザーの履歴データを使用して「ユーザー類似性マトリックス」と「製品類似性マトリックス」を構築し、ユーザーの好みに正確に合うように、関連するアイテムをユーザーに推奨します。たとえば、Amazon などの電子商取引 Web サイトにある「XXX を購入した人は、XXX も購入しました」というリンクは、協調フィルタリング アルゴリズムの応用です。

コンテンツベースの推奨アルゴリズム

コンテンツベースの推奨アルゴリズムは、アイテムの名前と紹介文をセグメント化し、TF-IDF値の大きい単語を特徴語として抽出し、これを基にアイテムに関連する特徴ベクトルを構築し、コサイン類似度に基づいて相関関係を計算して類似度マトリックスを構築するというものです。

ハイブリッド推奨アルゴリズム

ハイブリッド推奨アルゴリズムは、他のアルゴリズムによって推奨された結果に異なる重みを割り当て、最終的な総合的な結果を推奨する方法であるため、理解しやすいです。

たとえば、上では、協調フィルタリング アルゴリズムとコンテンツ ベースの推奨アルゴリズムにおけるユーザーベースとアイテムベースの協調フィルタリング推奨の 3 つの方法について説明しましたが、ハイブリッド推奨アルゴリズムでは、これら 3 つの推奨結果に異なる重みが割り当てられます。たとえば、ユーザーベースの協調フィルタリングの重みは 40%、アイテムベースの協調フィルタリングの重みは 30%、コンテンツ ベースのフィルタリング技術の重みは 30% です。その後、総合的な計算によって最終的な推奨結果が得られます。

人気推奨アルゴリズム

名前からわかるように、これはかなり基本的なものです。このアプローチでは、ダウンロード数や購入数などのアイテムの人気度を何らかの形で測定し、これらの人気アイテムを新規ユーザーに推奨します。よく見かける人気商品やホットなおすすめ商品と似ています。

推奨アルゴリズムの実用化に関する簡単な分析

一般的な原則を理解した後、推奨アルゴリズムが実際のシナリオでどのように使用されるかを見てみましょう。 (これは私が読んだことと私自身の理解に基づいた推測に過ぎないことをあらかじめ述べておきます。もし間違っていたらナイフを下ろしてください...)

さて、まずは協調フィルタリング アルゴリズムの実際の応用についてお話ししましょう。

協調フィルタリングアルゴリズム

協調フィルタリング アルゴリズムは一般的にどのように機能するのでしょうか? まず、本の推薦でどのように機能するかを見てみましょう。

協調フィルタリング (CF) は、おおまかに 2 つのカテゴリに分けられます。1 つは近隣ベースの推奨、もう 1 つはモデルベースの推奨です。近隣方式では、既存のアイテムに対するユーザーの好みを使用して、新しいアイテムに対するユーザーの好みを推測します。対照的に、モデルベースのアプローチでは、過去の行動データを使用して、学習した予測モデルに基づいて新しいアイテムの好みを予測します。通常のアプローチは、機械学習アルゴリズムを使用して、ユーザーがアイテムとどのように対話するかのモデルを見つけ、それによってデータ内の特定のパターンを見つけることです。 (モデルベースアプローチについてはよくわからないので、ここでは詳しく説明しません。興味のある方は関連情報を参照してください。)

[近隣ベースの推奨] – つまり、ユーザー類似性マトリックスと製品類似性マトリックスを構築する

次のように、ユーザーがいくつかの写真に対する好みを表現し、それに応じた評価を与えるとします。

異なる本は異なる次元を表し、評価はその次元における特徴ベクトルの投影長を表します。ユーザーの特徴ベクトルは、さまざまな本に対するユーザーの好みに基づいて確立され、その後、コサイン類似度に基づいてユーザー間の類似性を判断できます。類似度に基づいて、ユーザー類似度マトリックスを作成できます。

明らかに、歴史書に対するユーザーの評価を見ることで、その本に対するユーザーの好みを知ることができます。これに基づいて、ユーザーの特徴ベクトルを構築することができ、これにより、2 人のユーザーの本の好みの類似性をある程度判断できます。次に、A と B が類似している場合、B も A が好きな本を好むと想定できます。

ユーザー A に本を推奨する場合、ユーザー A との類似度が高い他のユーザーを見つけ、ユーザー A が読んだ本を除外し、類似ユーザーの本の好みとユーザーとユーザー A の類似度に基づいて本に重み付けします。推奨指数が高い本が最初に推奨されます。

これは、ユーザー間の類似性を利用して推奨を行う Douban などの書籍コミュニティで使用される推奨アルゴリズムの 1 つでもあります。もちろん、映画の推薦についても同様です。

同様に、ユーザーを次元として同様の方向でアイテムの特徴ベクトルを構築できます。 2 冊の本が類似しているかどうかを判断する必要がある場合、2 冊の本を評価したユーザーの構成が類似しているかどうかを確認します。つまり、本を評価するユーザー ベクトル (または配列) を使用して本を表します。つまり、2 冊の本の評価に高いレベルのユーザーの重複がある場合、2 冊の本は非常に類似していると見なすことができます。実際、それはユーザーの類似性に基づいています。 (同様の推奨アルゴリズムは「Big Data and Machine Learning in Plain Language」にも記載されており、興味のある方はご覧ください)。

協調フィルタリング アルゴリズムは、音楽の推奨にも使用されます。NetEase Cloud Music は、パーソナライズされた推奨を使用する典型的な音楽アプリです。

それでは、NetEase Cloud Musicの推奨アルゴリズムを見てみましょう。まず、ユーザーには過去に曲を聴いた履歴があります。音楽には関連する評価メカニズムがないため、ユーザーの音楽に対する行動に基づいて、好みのモデルを確立できます。たとえば、お気に入り-5ポイント、プレイリストに追加-4ポイント、シングルループ-3ポイント、共有-5ポイント、一度聞いた後に削除-0ポイント(元々、マイナスポイントはなくなるはずだと言いたかったのです)。このようにして、好みのリストを作成し、ユーザーのリスニング習慣に基づいてユーザーの特徴ベクトルを構築することができ、その後の推奨はスムーズなプロセスになります。

もちろん、協調フィルタリングアルゴリズムに基づくユーザー類似性マトリックスアルゴリズムは、NetEase Cloud が採用している推奨方法の 1 つにすぎません。他の方法については後ほど説明します。

協調フィルタリング推奨アルゴリズムは広く使用されており、優れた推奨効果がありますが、まだいくつかの欠点があることは注目に値します。

  • 協調フィルタリング (CF) は慣性データに基づいているため、その推奨には人気度の偏りがあります。人気のあるアイテムには多くのユーザーが注目しているため、より効果的な推奨メカニズムを確立できます。ただし、ニッチな製品やロングテール製品 (誰も使用していない、評価していない製品) の場合、効果的な推奨を行うことはできません。
  • コールドスタート問題(新規ユーザー問題、新規アイテム推奨問題とも呼ばれる)も慣性データの不足が原因で、最初は推奨アルゴリズムを確立することができません。このような問題は、人気度アルゴリズムを使用することである程度解決できますが、もちろん、コンテンツベースの推奨アルゴリズム(後述)を使用しても解決できます。

コンテンツベースのフィルタリングアルゴリズム

コンテンツベースのフィルタリング アルゴリズムの基本原理については、すでに概要で説明しましたので、ここでは繰り返しません。ここでは、その使用方法について詳しく説明します。

コンテンツベースのフィルタリング方法は、協調フィルタリングでユーザー類似性マトリックスを確立する方法に似ています。どちらも特徴ベクトルを使用してコサイン類似度を計算し、アイテムの類似性を判断します。

まず、単語分割技術を使用して本のタイトルと内容を処理し、重みが0の単語(「的」、「得」、「地」など)を削除します。

次に、TF-IDF値が大きい単語を特徴語としてラベルとして抽出します。

次に、特徴語に基づいて本の特徴ベクトルを確立します。

最後に、異なる書籍間のコサイン類似度を計算し、書籍間の類似度マトリックスを構築します。

コンテンツベースの協調フィルタリング アルゴリズムの最も重要な最初のステップは、単語分割テクノロジを使用してタイトルと紹介を処理し、特徴タグを形成することです。たとえば、書籍や映画の場合、名前と説明から特徴語を抽出して特徴ベクトルを構築できます。もちろん、Douban では、ユーザーが作品を評価するときに関連タグを確認できるようにするという、より便利な方法を見つけました。この方法では、ユーザーが選択できるように、さまざまなカテゴリに十分なタグを提供するだけで済みます (もちろん、これは私の推測です)。

音楽の推薦はどうでしょうか?関連する紹介がなく、曲名も方向性が足りません。この場合、フォーク、ロック、ノスタルジアなど、音楽自体のカテゴリをラベルとして使用して特徴ベクトルを構築することができます。これは、NetEase Cloud Musicが採用している推薦方法でもあると思います。

36Kr のような情報ウェブサイトに関しては、どのような推奨アルゴリズムが使用されているかをある程度理解しておく必要があります。原則は似ています。

コンテンツベースの推薦は慣性データがあまり必要ないので、コールドスタート問題と人気バイアスを部分的に解決できます。つまり、協調フィルタリングアルゴリズムの欠点の一部を補うことができます。したがって、2つを組み合わせて使用​​することができます。たとえば、ハイブリッド推薦アルゴリズムはこのアプローチを採用しています。第二に、コンテンツベースのフィルタリングアルゴリズムのみを使用すると、過剰特化の問題が発生し、推薦リストにほとんど同じものが表示されることに注意してください。同様の現象を観察した友人もいるかもしれません。たとえば、Amazonで本(Java関連など)を購入すると、推奨される本がすべてJava関連であることがわかります。これは、過剰特化の現象によるものです。

結論

推薦アルゴリズムの原理は、実は数学的な原理(ベクトル、コサイン類似度など)に基づいて解決されています。実は、他の種類のアルゴリズムでも同じことが言えます。それらはすべて、数学に基づいたアイデアから導き出すことができます。例えば、感情判断に使われるナイーブベイズアルゴリズムは、人間だけが理解できる感情の問題を、基本的な確率の問題に変換することで解決します。これには、自然言語処理(NLP)や音声認識などが含まれます。これは、数学がいかに奥深いかを示しています。

ジュニア製品開発者として、アルゴリズムの原理の観点からいくつかの実用的な問題を理解することは非常に役立ちます。もちろん、開発を始めるには、開発のクラスメートの強力な支援が必要です。

<<:  顔認識技術が明らかに、未来はもうすぐ「手の届くところ」に!

>>:  アクセンチュアが世界の主要12産業を分析、AIは2035年までに中国に7兆ドルの生産をもたらす

ブログ    
ブログ    

推薦する

...

バブルソートに加えて、Python の組み込みソートアルゴリズムをご存知ですか?

プログラミング アルゴリズムに関して、多くの読者が学校で最初に学ぶのはバブル ソートかもしれませんが...

...

さあ、アルゴリズムの複雑さをもう一度理解しましょう!

[[346356]] 0. はじめにみなさんこんにちは。私は、複数選択パラメータのプログラマーポッ...

中国のこの場所で:人工知能の新たな革命が起こる - 中国におけるAIの現状分析

中国はなぜ米国と同じくらい多くの人工知能研究者を育成しているにもかかわらず、機械学習などの主要分野で...

世界初!人間の脳のようなスーパーコンピュータ「シェナン」がまもなく発売され、ムーアの法則を破り、エネルギー消費を数桁削減する

人間の脳は地球上で最も効率的な計算装置です。わずか 20W の電力と 1.3kg の質量で、1 秒間...

2020年を振り返ると、我が国のドローンは4つの新たな変化を遂げた。

2020年は紆余曲折の多い年であり、ドローン開発にとっては革新と変化の年です。今年、我が国のドロー...

AIとMLの自動化テストを加速する5つの方法

[[395482]] [51CTO.com クイック翻訳]近年、人工知能 (AI) と機械学習 (M...

2018 年の人工知能の商業化に関する 5 つの洞察

[[252389]]人工知能囲碁プログラム「AlphaGo」が囲碁の世界チャンピオンを破って以来、人...

AIGCとアップグレードにより、PC販売は2024年に8%回復する可能性がある

Canalysのアナリスト、ベン・キャディ氏とキーレン・ジェソップ氏は最近、一部の消費者が新世代のP...

GenAIの課題に対応するためにデータガバナンスはどのように進化する必要があるか

最近、データ ガバナンスが気になっていたので、ChatGPT に「データ ガバナンスとは何ですか?」...

...

...

ハッカーはパニックに陥っています!サイバーセキュリティにおける機械学習の包括的な説明

[51CTO.com からのオリジナル記事] 現在、インターネット上には機械学習 (ML)、人工知能...