在經典的推薦算法中,協同過濾推薦應該是佔有很重要的一部分,在論文「One-Class Collaborative Filtering「(連接:https://pdfs.semanticscholar.org/7d54/15874e0f8b8f9eda49187a9030ce6bca41b1.pdf)」介紹到協同推薦(Collaborate filtering)爲:The collaborative filtering is aiming at predicting the preferences of items for a particular user based on the items previously rated by all users. 所以咱們不難知道其實協同過濾的本質爲:經過其餘用戶的歷史數據來爲目標用戶進行協助推薦,以使得推薦更加精準;像傳統的系統過濾推薦算法有User based collaborative filtering(經過用戶之間的日誌數據(如購買數據,瀏覽數據等)來計算用戶之間的類似度(計算方法如Cosine Similarity, Pearson Correlation Coefficient等等),經過相鄰用戶對於目標物品的喜愛程度來反觀目標用戶對於目標物品的喜愛程度,從而爲目標用戶作出推薦), Item based collaborative filtering(與User Based Collaborative Filtering類似,經過計算兩個物品被相同用戶購買過的程度來計算兩個物品之間的類似度,最後經過在目標物品的近鄰物品集合與目標用戶購買過的物品集合中取出交集,經過交集物品來計算目標用戶關於目標物品的喜愛程度,從而爲目標用戶進行推薦), Hybrid collaborative filtering(結合User Based Collaborative Filtering 與 Item Based Collaborative Filtering,分別給這兩個方法的預測喜愛程度加上不一樣的權重係數來進行喜愛程度的判斷), etc;算法
在上述論文中還說起到了OCCF問題,在不少數據中,每每只有正反饋的結果而沒有負反饋的結果,舉個例子來講:在100部電影的喜愛反饋中(只有喜歡或者不喜歡兩種反饋結果,1表示喜歡,0表示沒看過或者不喜歡),然而若是出現一個用戶只對其中的10電影進行了分值1的評價(喜歡),那剩餘的90部電影反饋回來的都是0,那麼在下一次爲該用戶推薦電影的時候,用到用戶的歷史數據,90評分爲0的電影並不意味着用戶不喜歡,由於也有可能表明着用戶沒有看過這些電影,可是倒是喜歡這些電影(若是後期去看)的可能性。所以OCCF解決的就是這麼一類的問題:"We refer to collaborative filtering with only positive examples given as One-Class Collaborative Filtering(OCCF)".日誌