為瞭解決內容篩選的一些限制 協同過濾會使用使用者之間的相似度 項目,提供推薦內容。這樣一來, 自動提供推薦內容也就是協同過濾 模型可以根據使用者的 找出類似使用者 B此外,還可透過模型 自動切換機制,不必親自動手。
電影推薦範例
假設電影推薦系統是由訓練資料組成 提供意見矩陣,其中:
- 每一列都代表一個使用者。
- 每欄各代表一個項目 (電影)。
我們會提供下列兩種電影的意見回饋:
- 煽情露骨內容:使用者指定自己喜歡某部電影的程度 來評分
- 隱含:如果使用者觀看電影,系統會推論使用者的 興趣
為簡化流程,我們假設意見回饋矩陣為二進位。也就是 1 表示對電影感興趣。
使用者造訪首頁時,系統應推薦電影 須符合兩項條件:
- 與使用者過去喜歡的電影相似度
- 類似使用者喜歡的電影
為了幫助大家閱讀圖片,我們來手動設計電影的部分功能吧 如下表所述:
電影 | 評分 | 說明 |
---|---|---|
黑暗騎士:黎明 | PG-13 | 守護高手為了拯救高譚市的核電危機 這張續集 The Dark Knight 位在 DC 設定 宇宙宇宙。 |
《哈利波特:神秘的魔法石》 | PG | 一隻孤兒的男孩發現自己是個巫師,因此註冊了 霍格華茲學院 女巫和巫師,為了首次對抗的場面而備戰 惡魔王 |
史瑞克 | PG | 可愛的食人魔與驢子組隊展開任務 以便拯救菲奧納公主 曾被龍進化的城堡中 |
貝爾維爾三角區 | PG-13 | 專業自行車手 Champion 探索 環法自行車賽 他的祖母和一隻狗在海外尋求救助, 為三名年長爵士歌手的幫助 |
Memento | R | 一位裔美國人夢想謀殺妻子的謀殺案 而是將線索放在自己的身體上 |
1D 嵌入
假設我們為每部電影指派一個純量, \([-1, 1]\) 該電影適合兒童 (負值) 還是成人 (正值)。 假設我們也為 \([-1, 1]\) 中的每個使用者, 使用者對兒童電影 (近 -1 歲) 或成人的興趣 電影 (至少 +1)。電影嵌入和使用者的產物 嵌入內容應該較高 (接近 1) 按讚。
下圖中每個勾號標記的是某部電影。 使用者觀看的內容。第三和第四位使用者的偏好 這個功能很清楚 — 第三位使用者喜歡看電影 第四位使用者喜歡成年人看電影不過,第一個和第二項 使用者這一項功能無法充分說明偏好設定。
2D 嵌入
部分功能不足以解釋所有使用者的偏好。克服挑戰 這次我們來加入第二個功能:每部電影的播放程度 電影票房或藝術電影第二項功能可以呈現 分別使用下列二維嵌入功能:
我們再次將使用者置於相同的嵌入空間, 意見矩陣:我們希望每組 (使用者、項目) 配對 使用者嵌入的內積和項目嵌入 當使用者觀賞電影時的值設為 1,否則傳回 0。
在這個範例中,我們手動為嵌入進行了工程,實務上 每次都自動學習,也就是結合協作篩選的強大力量 我們來看評估分類模型成效時 的喚回度和精確度指標在接下來的兩節中,我們將討論要學習的不同模型 以及如何訓練這些嵌入
模型學習到 和一些嵌入假設電影的嵌入向量是固定的。接著: 模型就能學習嵌入向量 他們的偏好。因此,系統就能嵌入有類似偏好設定的使用者 因為兩者都會密切整合同樣地,如果使用者的嵌入是固定的 就能學習電影嵌入,以最有效的方式解釋意見回饋矩陣 因此,由類似使用者喜歡的電影嵌入功能將接近 嵌入空間