ビッグ データ コース K18 - Spark の ALS アルゴリズムと明示的な行列因数分解

記事著者の電子メール: [email protected] 住所: 広東省恵州市

 ▲ この章のプログラム

⚪ Master Spark の ALS アルゴリズムと明示的な行列分解。

⚪ Spark の ALS アルゴリズムの原理をマスターします。

1. ALS アルゴリズムと明示的な行列分解

1。概要

レコメンドシステムを実装する際、処理対象となるデータがユーザ自身の嗜好データである場合、このデータを明示的嗜好データと呼び、顕在化した嗜好データによって構築される行列を明示的行列と呼びます。この種類のデータには、アイテムの評価、いいね、いいねなど、アイテムに対するユーザーの評価が含まれます。

このデータは、ユーザーを行、項目を列とする 2 次元行列に変換できます。マトリックスの各データは、特定のアイテムに対するユーザーの好みを表します。ほとんどの場合、1 人のユーザーが接触するアイテムは少数であるため、行列内のデータのごく一部だけが非ゼロになります (つまり、行列は非常に疎です)。実稼働環境では、通常、優先行列は疎です。

簡単な例として、映画に対する次のユーザー評価データがあるとします。

トム、スターウォーズ、5

ジェーン、タイタニック、4

ビル、バットマン、3

ジェーン、スターウォーズ、2

ビル、タイタニック、3

これらは次のように評価マトリックスに変換できます。

レコメンデーション システムをより適切に実装するには、この疎行列をモデル化する必要があります。一般に、行列分解 (または行列補完) を使用できます。

具体的には、2 つの低次元行列を求め、その積が元の行列になるようにします。したがって、これも次元削減手法です。ユーザーとアイテムの数がそれぞれ U と I であると仮定すると、次の図に示すように、対応する「ユーザー - アイテム」行列の次元は U×I になります。

「ユーザーアイテム」行列に近似する k 次元 (低次) 行列を見つけるには、最終的に次の 2 つの行列を取得する必要があります。ユーザーを表す U×k 次元行列と、k×I 次元行列です。項目を表す行列。これら 2 つの行列は因子行列とも呼ばれます。彼らの積は、元の評価マトリックスの近似値です。次の図に示すように、元の評価行列は通常非常に疎ですが、因子行列は密 (フルランク) であることに注意してください。

このタイプのモデルは、「ユーザーアイテム」行列の固有の行動構造に対応する潜在的な特徴 (ここでは因子行列として表現されている) を発見しようとするため、潜在的な特徴モデルとも呼ばれます。隠された特徴や要因は直接説明することはできませんが、映画の特定の監督、ジャンル、スタイル、特定の俳優の好みなど、何かを示している可能性があります。

「ユーザー-アイテム」行列は直接モデル化されるため、これらのモデルによる予測は比較的簡単です。特定のユーザーによるアイテムの期待評価を計算するには、ユーザー要因行列とアイテム要因行列から対応する行を選択します(ユーザー因子ベクトル) と列 (アイテム因子ベクトル) を計算し、

おすすめ

転載: blog.csdn.net/u013955758/article/details/132567561