你有沒有想過視頻網站是如何向你推薦電影的?你有沒有想過,有時候很多推薦的電影都是你最近喜歡看的? 所有這些都是推薦系統的神奇之處,它利用機器學習為您提供了非常準確的推薦。推薦系統背后的想法是,它基本上會瀏覽你過去看過的所有電影,并給它們打分,了解你喜歡什么,并推薦你接下來想看哪部電影。 讓我為你們詳細介紹一下這兩種著名的推薦系統;協同過濾和基于內容的過濾。 讓我們先來看看協同過濾方法: 協同過濾系統:協作過濾系統根據其他類似用戶過去喜歡的內容預測您喜歡的內容。 在這種方法中,算法遵循如下步驟 1、考慮用戶X 2、查找評分與X的評分“最相似”的其他用戶的集合N(用戶X的鄰域) 3、根據N中用戶的評分來估計X的評分 讓我們將一組四個用戶(U1,U2,U3,U4)視為表格的行和一組電影(M1,M2 ... M7)作為表格的列。想象一下從0到5的評分等級。我們有一些用戶為單元格中相應電影給出的評分,而有些單元格為空或缺少值。 如果我們仔細查看上表,我們會注意到U1和U2只共同評價了一部電影(M1),但評分相當高。這意味著用戶U1和UI具有相似的品味或興趣。盡管用戶U1和U3共同評價了兩部電影,但相當低。因此,我們可以直觀地得出結論,用戶U1和U3是不相似的,U1和U2是相似的。 SIM (U1, U2) > SIM (U1, U3) 為了計算兩個點U1和U2之間的相似度矩陣,我們使用余弦相似度: SIM (U1, U2) = cosine (RU1, RU2) 其中RU1,RU2分別是U1和U2的評分向量。 但是為了實現余弦相似,我們需要計算并填充空值。所以,我們不需要余弦相似度,我們需要通過減去行均值來歸一化評分,并使用所謂的“中心余弦相似度”。 下面是我們將評分歸一化后得到的表格: 如果您觀察到,您會注意到為特定用戶添加的所有評分均為零。這是因為評分現在以零為中心。高于零的評級顯示正或高評分,低于零的評分表示評分為負或低。現在,計算用戶U1,U2和U1,U3之間的“中心余弦相似度”,我們得到: SIM (U1, U2) = cosine (RU1, RU2) = 0.09, and SIM (U1, U3) = cosine (RU1, RU3) = -0.56 SIM (U1, U2) > SIM (U1, U3) 結果表明U1和U2高度相似,而U1和U3彼此非常相似。 既然我們已經對相似和不同的用戶進行了估算和分組,那么下一步就是為用戶進行評分預測。 評分預測: 假設用戶x具有評分向量Rx,并且我們需要為該用戶對項目i進行評分預測。使用中心余弦相似度,我們找到與用戶x最相似的一組k個用戶(具有評級項目i)的neighborhood N. 為此,我們采用加權平均值。在該方法中,對于鄰域N中的每個用戶y ,我們對項目i的y評分進行加權并將其乘以x和y的相似度。最后,我們通過將乘積除以兩者之間的相似度之和來對其進行歸一化x和y。結果給出了用戶x和項y的估計。 其中Sxy = SIM(x,y) 我們上面使用的技術有時也被稱為 User-User Collaborative Filtering,因為我們試圖找到具有類似興趣的其他用戶,以便為其他類似用戶做出預測。協同過濾的雙重方法是Item-Item協同過濾,其中不是從用戶開始,而是從項目i開始并找到與i類似的一組其他項目。然后我們根據類似項目的評分估算項目i的評分。我們可以使用與User-User模型相同的類似度量和預測方法。 讓我們考慮一組用戶U1,U2 ... U12作為表的列和一組電影M1,M2 ... M6作為表的行。 黃色單元格具有已知的評分(在1至5的范圍內),而白色未評分。我們的目標是通過用戶5(U5)找到電影1(M1)的評分。第一步是找到與M1類似的其他電影。為了計算相似度,我們使用Pearson Correlation技術,它類似于我們之前使用的Centered Cosine技術。因此,我們獲取所有電影并計算它們各自的中心余弦距離并將它們列入M1中。 如果我們考慮與M1具有正中心余弦相似性的電影,我們在鄰域N中有兩個鄰居,即N = 2。使用與用戶 - 用戶協作過濾相同的方法, 我們計算M1和M3之間以及M1和M6之間的相似性。我們得到: SIM(M1,M3)= 0.14,SIM(M1,M6)= 0.59 采用加權平均值(使用前面提到的公式),我們發現電影M1的用戶U1的預測評級是2.6。 現在我們已經學習了Collaborative Filtering,讓我們深入了解基于內容的推薦系統。 基于內容的推薦系統:基于內容的推薦系統根據您過去喜歡的內容預測您喜歡的內容。 上圖顯示了基于內容的推薦系統的基本行動計劃。我們在以下幾點解釋了它:
現在我們有了用戶和Item Profile,接下來的任務就是向用戶推薦某些item。
|
|