開源推薦系統Librec中recommender模塊算法瞭解——cf模塊

1.      k近鄰(k-NearestNeighbor)算法介紹及在推薦系統中的應用

https://zhuanlan.zhihu.com/p/25994179
k近鄰(k-NearestNeighbor)算法是一種基本分類和迴歸方法。分類問題的k近鄰法即給定一個訓練數據集,對新的輸入實例,在訓練數據集中找到與該實例最鄰近的K個實例,這K個實例的多數屬於某個類,就把該輸入實例分類到這個類中。(這就相似於現實生活中少數服從多數的思想)
算法注意點:K值選取(太小容易過擬合,過大大大下降預測準確率),特徵歸一化。html

https://www.jianshu.com/p/33dbf9906ff2
KNN算法步驟爲:
一、計算測試對象到訓練集中每一個對象的距離
二、按照距離的遠近排序
三、選取與當前測試對象最近的k的訓練對象,做爲該測試對象的鄰居
四、統計這k個鄰居的類別頻率
五、k個鄰居里頻率最高的類別,即爲測試對象的類別算法

KNN監督學習的過程
一、歸一化數據樣本集
二、劃分樣本集爲訓練集和測試集
三、以訓練集爲算法參考系,測試集來測試算法
四、計算預測樣品標籤和真實樣品標籤的比值來評估算法的準確率
五、調節不一樣的參數找到最優算法參數框架

KNN算法的優缺點
一、優勢很是簡單的分類算法沒有之一,人性化,易於理解,易於實現適合處理多分類問題,好比推薦用戶
二、缺點屬於懶惰算法,時間複雜度較高,由於須要計算未知樣本到全部已知樣本的距離樣本平衡度依賴高,當出現極端狀況樣本不平衡時,分類絕對會出現誤差可解釋性差,沒法給出相似決策樹那樣的規則向量的維度越高,歐式距離的區分能力就越弱。機器學習

cf模塊裏相關算法:學習

ItemKNNRecommenderUserKNNRecommender測試

 

2.      矩陣分解技術在推薦系統中的應用及相關算法

論文:2009-Matrix Factorization Techniques for Recommender Systems優化

可參考文章:https://zhuanlan.zhihu.com/p/27502172spa

cf模塊裏相關算法:
BiasedMFRecommender:添加了用戶物品偏置項的矩陣分解模型。.net

SVDPlusPlusRecommender:SVD++模型:加了用戶項目偏置項,和用戶的隱式反饋信息的改進的BiasSVD模型。3d

PMFRecommender

 算法相關論文:
2008-Probabilistic Matrix Factorization
Improving regularized singular value decomposition for collaborative filtering

可參考文章: https://blog.csdn.net/shenxiaolu1984/article/details/50372909
利用代數中SVD方法對矩陣進行分解。奇異值分解首先須要對評分矩陣進行補全,好比用全局平均值或用戶、物品平均值進行補全。而後對補全以後的矩陣進行SVD分解從而將高維評分矩陣分解成低維的U,I矩陣。可是這種方法有兩個問題:一是補全後的矩陣是一個稠密矩陣,存儲須要很大空間。二是SVD計算複雜度很高。

 

BPMFRecommender
算法相關論文:
Bayesian Probabilistic Matrix Factorization using Markov Chain Monte Carlo

BPMF(Bayesian Probabilistic Matrix Factorization)算法可參考文章 https://blog.csdn.net/shenxiaolu1984/article/details/50405659

MF PMF BPMF算法理解可參考文章 : http://www.javashuo.com/article/p-cooqtrdz-nr.html
PMF是從機率生成過程的角度來解釋user和item的隱式特徵矩陣,SVD是從優化目標出發,如何肯定user和item的隱式特徵矩陣會使得損失最少。

 

3.      基於排序學習的推薦方法中Pair-wise在推薦系統中的應用及相關算法

基於排序學習的推薦方法主要分爲三大類,分別是Point-wise,Pair-wise和List-wise(對三種排序方法的介紹):
http://www.cnblogs.com/kemaswill/archive/2013/06/01/3109497.html
http://baogege.info/2014/10/19/learning-to-rank-for-recommender-system/

 

Pairwise類算法的一種:Bayesian Personalized Ranking (BPR)
BPR是基於矩陣分解的一種排序算法,可是和funkSVD之類的算法比,它不是作全局的評分優化,而是針對每個用戶本身的商品喜愛分別作排序優化。所以在迭代優化的思路上徹底不一樣。同時對於訓練集的要求也是不同的,funkSVD只須要用戶物品對應評分數據二元組作訓練集,而BPR則須要用戶對商品的喜愛排序三元組作訓練集。


BPRRecommender
相關論文:Bayesian Personalized Ranking from Implicit Feedback
BPR算法介紹:http://www.javashuo.com/article/p-vqbbgbiz-gz.html

AoBPRRecommender

相關論文:
Improving Pairwise Learning for Item Recommendation from Implicit Feedback
均勻採樣策略下,經過隨機梯度降低方法求解時,會出現梯度消失的問題->融合內容信息的適應性採樣策略對BPR算法的改進。Pairwise適用場景:以隱式反饋類型爲主的推薦系統,須要從大堆東西里挑選出感興趣的一小堆東西的有序集。

4.      主題模型在推薦系統裏的應用和相關算法

wikipedia:
主題模型(Topic Model)在機器學習和天然語言處理等領域是用來在一系列文檔中發現抽象主題的一種統計模型。直觀來說,若是一篇文章有一箇中心思想,那麼一些特定詞語會更頻繁的出現。比方說,若是一篇文章是在講狗的,那「狗」和「骨頭」等詞出現的頻率會高些。若是一篇文章是在講貓的,那「貓」和「魚」等詞出現的頻率會高些。而有些詞例如「這個」、「和」大概在兩篇文章中出現的頻率會大體相等。但真實的狀況是,一篇文章一般包含多種主題,並且每一個主題所佔比例各不相同。所以,若是一篇文章10%和貓有關,90%和狗有關,那麼和狗相關的關鍵字出現的次數大概會是和貓相關的關鍵字出現次數的9倍。一個主題模型試圖用數學框架來體現文檔的這種特色。主題模型自動分析每一個文檔,統計文檔內的詞語,根據統計的信息來判定當前文檔含有哪些主題,以及每一個主題所佔的比例各爲多少。主題模型最初是運用於天然語言處理相關方向,但目前已經延伸至例如生物信息學的其它領域。

PLSARecommender
相關論文:
Latent semantic models for collaborative filtering


LDARecommender
相關論文:
Latent Dirichlet Allocation
Gibbs sampling in the generative model of Latent Dirichlet Allocation

LDA運用於推薦系統時:
users被當作爲documents
items被當作爲words
latent factors被當作爲topics

維基百科LDA解釋:
隱含狄利克雷分佈(英語:Latent Dirichlet allocation,簡稱LDA),是一種主題模型,它能夠將文檔集中每篇文檔的主題按照機率分佈的形式給出。同時它是一種無監督學習算法,在訓練時不須要手工標註的訓練集,須要的僅僅是文檔集以及指定主題的數量k便可。此外LDA的另外一個優勢則是,對於每個主題都可找出一些詞語來描述它。LDA首先由Blei, David M.、吳恩達和Jordan, Michael I於2003年提出(論文連接:http://jmlr.csail.mit.edu/papers/v3/blei03a.html),目前在文本挖掘領域包括文本主題識別、文本分類以及文本類似度計算方面都有應用。

理解能夠參考:
理順主題模型LDA及在推薦系統中的應用 https://blog.csdn.net/leiting_imecas/article/details/68961205,該篇文章中指出了pLSA與LDA兩種模型的區別。

算法求解:
最初:EM算法(Expectation-maximization algorithm)
後來:較爲簡單的Gibbs Sampling算法

 

URPRecommender

一個用於評分預測類推薦算法的LDA模型,treat items as documents and ratings as words
相關論文:

Modeling user rating profiles for collaborative filteringhttps://ieeexplore.ieee.org/document/5992572:Regularized Gibbs Sampling for User Profiling with Soft Constraints基於改進URP模型和K近鄰的推薦研究

相關文章
相關標籤/搜索