協同過濾

為瞭解決內容篩選的一些限制 協同過濾會使用使用者之間的相似度 項目,提供推薦內容。這樣一來, 自動提供推薦內容也就是協同過濾 模型可以根據使用者的 找出類似使用者 B此外,還可透過模型 自動切換機制,不必親自動手。

電影推薦範例

假設電影推薦系統是由訓練資料組成 提供意見矩陣,其中:

  • 每一列都代表一個使用者。
  • 每欄各代表一個項目 (電影)。

我們會提供下列兩種電影的意見回饋:

  • 煽情露骨內容:使用者指定自己喜歡某部電影的程度 來評分
  • 隱含:如果使用者觀看電影,系統會推論使用者的 興趣

為簡化流程,我們假設意見回饋矩陣為二進位。也就是 1 表示對電影感興趣。

使用者造訪首頁時,系統應推薦電影 須符合兩項條件:

  • 與使用者過去喜歡的電影相似度
  • 類似使用者喜歡的電影

為了幫助大家閱讀圖片,我們來手動設計電影的部分功能吧 如下表所述:

電影 評分 說明
黑暗騎士:黎明 PG-13 守護高手為了拯救高譚市的核電危機 這張續集 The Dark Knight 位在 DC 設定 宇宙宇宙。
《哈利波特:神秘的魔法石》 PG 一隻孤兒的男孩發現自己是個巫師,因此註冊了 霍格華茲學院 女巫和巫師,為了首次對抗的場面而備戰 惡魔王
史瑞克 PG 可愛的食人魔與驢子組隊展開任務 以便拯救菲奧納公主 曾被龍進化的城堡中
貝爾維爾三角區 PG-13 專業自行車手 Champion 探索 環法自行車賽 他的祖母和一隻狗在海外尋求救助, 為三名年長爵士歌手的幫助
Memento R 一位裔美國人夢想謀殺妻子的謀殺案 而是將線索放在自己的身體上

1D 嵌入

假設我們為每部電影指派一個純量, \([-1, 1]\) 該電影適合兒童 (負值) 還是成人 (正值)。 假設我們也為 \([-1, 1]\) 中的每個使用者, 使用者對兒童電影 (近 -1 歲) 或成人的興趣 電影 (至少 +1)。電影嵌入和使用者的產物 嵌入內容應該較高 (接近 1) 按讚。

圖片:多部電影和使用者,沿一維嵌入空間排列顯示。根據這個軸的位置,每部電影的位置都說明這是兒童電影 (左側) 還是成人電影 (右側)。使用者的位置表示對兒童或成人電影感興趣。

下圖中每個勾號標記的是某部電影。 使用者觀看的內容。第三和第四位使用者的偏好 這個功能很清楚 — 第三位使用者喜歡看電影 第四位使用者喜歡成年人看電影不過,第一個和第二項 使用者這一項功能無法充分說明偏好設定。

意見回饋矩陣的圖片,其中一列代表使用者,欄則對應一部電影。每位使用者和每部電影都會對應到一維嵌入 (如上圖所示),讓兩個嵌入的乘積接近意見回饋矩陣中的真值值。

2D 嵌入

部分功能不足以解釋所有使用者的偏好。克服挑戰 這次我們來加入第二個功能:每部電影的播放程度 電影票房或藝術電影第二項功能可以呈現 分別使用下列二維嵌入功能:

這張圖片顯示數部電影和使用者,在 2D 嵌入空間上排列。每部電影沿著水平軸的位置都說明這是兒童電影 (左側) 還是成人電影 (右側)。沿著垂直軸的位置指出這是一部賣座大片 (上部) 還是藝術電影 (底部)。使用者位置反映出他們對各類別的興趣。

我們再次將使用者置於相同的嵌入空間, 意見矩陣:我們希望每組 (使用者、項目) 配對 使用者嵌入的內積和項目嵌入 當使用者觀賞電影時的值設為 1,否則傳回 0。

相同意見回饋矩陣的圖片。這次,每位使用者和每部電影都會映射到二維嵌入 (如上圖所示),因此兩個嵌入的點積會估算意見回饋矩陣中的真值值。

在這個範例中,我們手動為嵌入進行了工程,實務上 每次都自動學習,也就是結合協作篩選的強大力量 我們來看評估分類模型成效時 的喚回度和精確度指標在接下來的兩節中,我們將討論要學習的不同模型 以及如何訓練這些嵌入

模型學習到 和一些嵌入假設電影的嵌入向量是固定的。接著: 模型就能學習嵌入向量 他們的偏好。因此,系統就能嵌入有類似偏好設定的使用者 因為兩者都會密切整合同樣地,如果使用者的嵌入是固定的 就能學習電影嵌入,以最有效的方式解釋意見回饋矩陣 因此,由類似使用者喜歡的電影嵌入功能將接近 嵌入空間

隨堂測驗

模型會向使用者推薦購物應用程式,因為最近他們 並安裝了類似的應用程式這種做法屬於哪一種篩選設定?
依據內容篩選
太棒了!依據內容篩選不會考量其他使用者。
協同過濾
協同篩選會將其他使用者納入考量。在 有時候,我們只會關註一個使用者