1 基于用戶的最近鄰推薦: 主要思想:找出與當前用戶有相似偏好的其他用戶,即對等用戶或最近鄰,然后對當前用戶沒有見過的產品P,利用其近鄰對p的評分計算預測值。 注意:相似偏好是指對物品的評分偏好,而不是相似個人資料的用戶。 對于具有相似偏好的用戶集,采用Pearson相關系數,給定評分矩陣R,用戶a和用戶b的相似度sim(a,b)的求法是對【(用戶a對產品pn的評價與用戶a的平均評分之差)乘以(用戶b對產品pn的評價與用戶b的平均評分之差)的積】求和(一共P個產品),再除以【(用戶a對產品pn的評價與用戶a的平均評分之差)的平方的求和】的平方根與【(用戶b對產品pn的評價與用戶b的平均評分之差)的平方的求和】的平方根。(如果你沒有看懂,請百度之......)。 pearson相關系數取值從+1(強正相關)到-1(強負相關)。 求完相似度,再根據最相似的N個近鄰與用戶a的平均評分的偏差,計算用戶a對物品p的預測值:a的平均評分加上,【近鄰b對產品p的評分與b的平均評分之差與相似度的積】求和(一共N個近鄰)再除以N個相似度之和。(具體的公式請百度之......) 在這里,P個產品和N個近鄰如何確定?沒有一個確定值,有研究表示,N在20到50之間比較合理。 2 基于物品的最近鄰推薦: 主要思想:利用物品間的相似度。注意:物品的相似度依然是其他用戶對其評分的相似度,不是物品名字屬性什么的相似度。 對于具有相似物品的集,采用余弦相似度,對于評分向量,點積除以模的積,相似度介于0和1之間,越接近1則表示越相似。但是基本的預先方法不會考慮用戶評分平均值之間的差異。改進版的余弦方法可以解決這個問題,像pearson方法一樣,在評分之中減去平均值。 相似度求完,再求N個(產品的相似度乘以該用戶對產品的評分)之和再除以N個產品相似度之和。(看不懂請百度之公式......) 對于大規模電子商務網站,他們通常選擇離線預計算數據:其想法是事先構建一個物品相似度矩陣,描述所有物品兩兩之間的相似度。 3 基于圖的方法: 主要思想:利用假定用戶品味的“傳遞性”,并由此增強額外信息矩陣。 該方法用于評分矩陣稀疏的時候,在物品和用戶之間連線,沒有評分則不連,標準的協同過濾方法會選擇距離為3的物品,但是這種思路會考慮5步距離或者更長的距離的物品。 4 矩陣因子分解: 主要思想:使用矩陣因子分解方法從評分模式抽取出一組潛在的(隱藏的)因子,并通過這些因子向量描述用戶和物品。 主要使用奇異值分解(SVD)方法發現文檔中的潛在因子,SVD將高度相關且在一起出現的詞語作為單獨因子,把通常很大的文檔向量矩陣拆解成更小階的近似矩陣。 SVD的原理可以通俗的表述為:將給定M分解成3個矩陣的乘積,其中U和V分別成為左、右奇異向量,A對角線上的值成為奇異值,即M=UAV T 。 5 主成分分析: 主要思想:用主成分分析對評分數據預處理,過濾得出數據中“最重要”的方面,以解釋大多數變量。 4和5都是降維方法,數學基礎不太好的人很難搞懂,嗯,有待進一步研究...... 6 關聯規則挖掘: 關聯規則X=>Y表示只要交易T包含X里的元素(規則體),Y里的元素(規則頭)就非常有可能也是相同交易的元素。關聯規則的衡量標準是支持度和可信度,支持度=交易量包含X交Y的集合/交易量集合,可信度=交易量包含X交Y的集合/交易量包含X的集合。支持度和可信度的最低閾值一般需要根據經驗確定。 主要方法,線下計算足夠高可信度和支持度的關聯規則集合。對物品根據規則進行可信度排序,如果有多條規則推薦一個物品,則取可信度最高的那條規則。然后返回不同物品的規則列表中最前的N個元素。有一種搜尋規則的挖掘算法利用領域特性專門搜尋規則頭中(即Y中)包含某種目標物品(用戶或物品)的規則。該算法不僅提高算法的效率,而且能夠發現很少購買物品的規則,這些物品可能會因為有限的支持度在全局搜索時被過濾掉。 7 基于概率分析的推薦方法: 用概率的方法實現協同過濾,最初非常簡單的方法是將預測問題看成是分類問題。提到概率方法的分類問題,不得不提貝葉斯分類器了。 |
|