協同過濾,ARIMA,聚類

2021-09-11 04:36:46 字數 1285 閱讀 1110

基於使用者的協同過濾演算法

基於使用者協同過濾通過使用者對不同內容的行為,來評測使用者相似性,找到「鄰居」基於使用者這種相似性做出推薦

這種推薦本質是給相似的使用者推薦其他使用者喜歡的內容

即我們常看到的:和你類似的人還喜歡如下內容

歐幾里得距離評價

皮爾遜相關度評價

余弦相關係數

傑卡德相關係數

整體流程

開始->讀入使用者評分->計算目標使用者的相似使用者->根據相似性排序選擇前k個相似使用者->根據相似使用者物品評分,**目標使用者評分->過濾掉目標使用者瀏覽或購買過的物品->選擇**評分最高的前n個專案作為推薦列表->結束

侷限性首先每次計算使用者間相似度時,需要遍歷每個使用者和所有使用者評分,這樣在**使用者增長到一定程度後,計算使用者間的相似度過程將變得越發困難

同時,基於使用者的協同過濾演算法,並不是那麼容易從數學原理去解釋

使用者口味變化也很快,不是靜態的,所以興趣遷移問題很難反應出來

資料稀疏,使用者與使用者間有共同消費行為實際是比較少的,而且一般都是熱門物品,對發現使用者興趣幫助也不大

時間序列分析

確定性時序分析目的:克服其他因素,單純測度出乙個確定性因素對序列影響;推斷出各種確定性因素之間相互作用關係及它們對序列的綜合影響

時間序列趨勢分析目的:有些時間序列有非常明顯的趨勢,分析目的是找出序列中這種趨勢,並利用這種趨勢對序列發展做出合理**

常用方法:趨勢擬合法和平滑法

arima和arma的區別在於arima進行了差分;

差分後的arima會變為arma模型

聚類和分類的區別在於:聚類所要求劃分的類是未知的;聚類是搜尋簇的無監督學習過程,與分類不同,無監督學習不依賴預先定義的類或帶類標記的訓練例項

聚類分析提供由個別資料物件到資料物件所指派簇的抽象

資料降維

資料離散壓縮

有效發現最近鄰

層次聚類

層次聚類指遞迴地對物件進行合併和**,直到滿足某一終止條件為止的一類聚類演算法

層次聚類分為兩類

– 凝聚方法(自底向上):一開始將每個物件作為單獨的一組,然後根據同類相近,異類相異原則,合併物件,直到所有組合並成乙個,或達到乙個終止條件為止

– **方法(自頂向下):一開始將所有物件置於一類,在迭代每一步中,乙個類不斷地分為更小的類,直到每個物件在單獨乙個類中,或達到乙個終止條件

熵:所有資訊量的期望,詮釋了概率越小,資訊量越大的含義。

如果p(xi)表示事件的概率,那麼該資訊量大小表示為-log(p(xi)),則該事件所蘊含資訊的所有可能性的熵為該事件各個可能性的資訊期望p(xi)*[-log(p(xi))]的彙總

協同過濾 基於使用者的協同過濾itemCF

基於使用者的協同過濾演算法也被稱為最近鄰協同過濾或knn k nearest neighbor,k最近鄰演算法 其核心思想就是,首先根據相似度計算出目標使用者的鄰居集合,然後用鄰居使用者評分的加權組合來為目標使用者作推薦。通常這些演算法都可以總結成三步 首先,使用使用者已有的評分來計算使用者之間的相...

Item based協同過濾

item based top n recommendation algorithms 過程 1.構建乙個m m的矩陣,每一列最多有k個非0值,比如第j列,非0值代表和第j個item最相關的k個item。k一般10 20,不會很大,保持矩陣的稀疏性。3.上述矩陣相乘,等於是權重累加 比如使用者買過了a...

協同過濾演算法

3種形式的協同過濾 collaborative filtering 演算法 1 user based 相同 相似 使用者的喜好相同 2 item based 能夠引起使用者興趣的專案,必定與其之前評分高的專案相似 3 model based 先用歷史資料得到乙個模型,再用此模型進行 參考 這個位址是...