協同過濾
簡介
協同過濾一般是指在海量的用戶中發掘出一小部分與你品味比較相似的用戶,然后根據他們喜歡的其他物品組成一個排序的目錄推薦給你。一般包括一下三個步驟:
1.收集用戶偏好
2.找到相似的用戶或者物品
3.計算推薦
user-based的協同過濾和item-based的協同過濾是兩個常用的技術,統稱為memory based 的協同過濾
基于用戶的協同過濾
user-based CF 基于用戶對物品的偏好找到相鄰的鄰居用戶,然后將鄰居用戶喜歡的物品而當前用戶沒有的物品進行推薦。計算上就是將用戶對所有物品的偏好表示成一個向量來計算用戶之間的相似度,找到K個近鄰后,根據相似度的權重以及他們對物品的喜好,計算得到一個物品的排序表作為推薦。
基于物品的協同過濾
基本思想與上面相似,只是在計算鄰居時采用的是物品本身,根據用戶對物品的偏好找到相似的物品,然后根據用戶對物品的歷史偏好找到相似物品進行推薦。在計算上,將所有用戶對某個物品的偏好作為一個向量,然后去尋找相似的物品,根據當前用戶的歷史偏好預測還有沒有表示偏好的物品。
適用場景
針對于用戶數量遠大于物品數量,且物品數量相對穩定不會頻繁更新,如電子商務等在線網站,item-based 更優;對于新聞,博客等信息類推薦系統,情況往往相反。然而,這兩種算法在數據稀疏的情形下表現較差,也就是說“冷啟動”問題。另一方面,對于user-based,假設了用戶會喜歡和他具有相同喜好所喜歡的東西,這種方法依賴于有多少相同喜好的人;item-based方法假設用戶會喜歡和他喜歡物品相似的東西;這樣的假設使得在推薦時,內容過于重復,容易引起“審美疲勞”。
關聯規則
使用數據挖掘技術從大量的過往交易數據中獲取規則。它可以是會同時被購買的商品之間的關聯規則,也可以是按時間依次被購買商品的序列模型。通過已瀏覽過或購買了A,B,C的人,有多少用戶也購買了D這種形式來做推薦
關聯規則和協同過濾的比較(敲黑板)
相同點及聯系
兩種方式都是集體智慧編程(collective intelligence)的運用,可以說關聯分析是協同過濾的理論基礎,都是基于大眾的行為數據做出決策,
不同點
兩者的面對對象不同:協同過濾面向事務數據庫,而協同過濾面向用戶對物品的評分;
協同過濾的過程是先協同,找到相似的人,在過濾,使用戶注重個性化的場景,如音樂電影之類,而關聯規則直接從數據中挖掘潛在的關聯,與個人的偏好無關,忽略了個性化的場景,適用于超市購物,汽車導航和交通規劃等