1. 程式人生 > >資料探勘乾貨總結(六)--推薦演算法之CF

資料探勘乾貨總結(六)--推薦演算法之CF


本文共計1245字,預計閱讀時長八分鐘

推薦演算法(二)--CF演算法

推薦的本質

推薦分為非個性化和個性化非個性化推薦比如各類榜單而本系列主要介紹個性化推薦

在合適的場景合適的時機通過合適的渠道把合適的內容推薦給合適的使用者

推薦演算法的種類

1. 基於內容Content Based

2. 基於協同Collaboration Filtering

– User Based CF

– Item Based CF

、CF演算法詳解

1. 原理框架

原理

① User-Based CF

a.假設使用者喜歡那些跟他有相似愛好的使用者喜歡的東西

b.假設具有相似興趣的使用者在未來也具有相似興趣

c.給定使用者

u,找到一個使用者的集合N(u),他們和u具有相似的興趣N(u)喜歡的物品推薦給使用者

Item-Based CF

a.假設使用者喜歡跟他過去喜歡的物品相似的物品

b.假設歷史上相似的物品在未來也相似

c.給定使用者u,找到他過去喜歡的物品的集合R(u),把和R(u)相似的物品推薦給u.

優點

a.充分利用群體智慧

b.推薦精度高於CB

c.利用挖掘的隱含相關性

缺點

a.解釋性較差

b.對時效性強的item不適用

c.冷啟動問題

2. 處理過程:

① 資料準備

使用者user_id,物品item_id,打分score(score可以是使用者對某件物品的評分或者是根據使用者行為計算出的偏好度得分如曝光點選

收藏的加權得分具體權重可以參考漏斗模型),如下

user_id item_id score

id1 item1 3

id1 item2 2

id2 item2 2

id3 item3 4

... ... ...

計算相似性矩陣

CF演算法的關鍵在於得到useritem的相似度矩陣下面以User_Based為例

使用者之間的相似度計算是基於對相同的物品打過分可以將各個分值聯合起來作為一個向量然後計算餘弦相似度

去重後即得到上面的相似度矩陣

推薦:

根據相似度矩陣選擇與目標使用者相似度最高的幾位使用者在第一張表中選取各自打分較高的物品形成一個推薦候選集合準備推薦給目標使用者對於新聞

電影之類的資料可以在去重後再推送

如果是Item_Based的演算法則是計算各個item之間的相似度矩陣即對兩個item都打過分的id的打分情況作為向量同理得到item的相似度矩陣

item1 [id1:2, id2:3, id5:2] (2,3,2)

item2 [id1:3, id2:1, id5:1] (2,1,1)

3. 問題:

① 冷啟動及對應方案

case1:使用者冷啟動

• 提供熱門排行榜等使用者資料收集到一定程度再切換到個性化推薦

• 利用使用者註冊時提供的年齡性別、IP、登入時間等資料做粗粒度的個性化

• 利用使用者社交網路賬號匯入使用者在社交網站上的好友資訊然後給使用者推薦其好友喜歡的物品

• 在使用者新登入時要求其對一些物品進行反饋收集這些興趣資訊然後給使用者推薦相似的物品

case2:物品冷啟動

• 將新物品推薦給可能對它感興趣的使用者利用內容資訊將他們推薦給喜歡過和它們相似的物品的使用者

• 物品必須能夠在第一時間展現給使用者否則經過一段事件後物品的價值就大大降低了

• UserCFItemCF都行不通只能利用Content based解決該問題頻繁更新相關性資料

case3:系統冷啟動

• 引入專家知識通過一定高效方式迅速建立起物品的相關性矩陣

② Item_BasedContent-Based的區別

• 區別在於的CB中相似度是根據item的屬性向量計算得到CF中是根據所有使用者對item的評分向量計算得到

③ ALS 交替最小二乘(Alternating Least Squares)

• 算是ml中對CF演算法的一種優化

• 對於一個users-items-score的評分資料集,ALS會建立一個users*items的m*n的矩陣。其中,m為users的數量,n為items的數量。

• 這個資料集中,並不是每個使用者都對每個產品進行過評分,所以這個矩陣往往是稀疏的,使用者i對產品j的評分往往是空的。

• ALS所做的事情就是將這個稀疏矩陣通過一定的規律填滿,這樣就可以從矩陣中得到任意一個user對任意一個item的評分,ALS填充的評分項也稱為使用者i對物品j的預測得分。

以上。

ps:

CF程式碼數量較多

這次就沒附上

需要的同學私信我就好

pps:

資料探勘系列的筆記都整理好了

包括往期的NLP,分類,聚類演算法

有需要的同學可以去公眾號看看

每天向你推送最實用的乾貨,記得收藏點贊置頂哦~

找到焦慮的導火索——非理性信念

通過辯論發現其存在的不合理性

進一步產生理性信念

從而克服眼下及未來的焦慮

本文共計1245字,預計閱讀時長八分鐘

推薦演算法(二)--CF演算法

推薦的本質

推薦分為非個性化和個性化非個性化推薦比如各類榜單而本系列主要介紹個性化推薦

在合適的場景合適的時機通過合適的渠道把合適的內容推薦給合適的使用者

推薦演算法的種類

1. 基於內容Content Based

2. 基於協同Collaboration Filtering

– User Based CF

– Item Based CF

、CF演算法詳解

1. 原理框架

原理

相關推薦

資料乾貨總結--推薦演算法CF

本文共計1245字,預計閱讀時長八分鐘推薦演算法(二)--CF演算法一、推薦的本質推薦分為非個性化和個性化,非個性化推薦比如各類榜單,而本系列主要介紹個性化推薦,即:在合適的場景,合適的時機,通過合適的渠道,把合適的內容,推薦給合適的使用者二、推薦演算法的種類1. 基於內容C

資料乾貨總結--推薦演算法CB

本文共計927字,預計閱讀時長六分鐘推薦演算法(一)--CB演算法一、推薦的本質推薦分為非個性化和個性化,非個性化推薦比如各類榜單,而本系列主要介紹個性化推薦,即:在合適的場景,合適的時機,通過合適的渠道,把合適的內容,推薦給合適的使用者二、推薦演算法的種類1. 基於內容Co

資料乾貨總結--NLP基礎

本文共計1463字,預計閱讀時長八分鐘 NLP-基礎和中文分詞 一、本質 NLP (Natural Language Processing)自然語言處理是一門研究計算機處理人類語言的技術 二、NLP用來解決什麼問題 語音合成(Speech synth

資料乾貨總結--NLP進階-詳解Jieba分詞工具

NLP進階-詳解Jieba分詞工具 一、Jieba分詞工具 1. 三種模式 • 精確模式:將句子最精確的分開,適合文字分析 • 全模式:句子中所有可以成詞的詞語都掃描出來,速度快,不能解決歧義 • 搜尋引擎模式:在精確模式基礎上,對長詞再次切分,提高召回 2.實現的演算法 • 基於Tri

MADlib——基於SQL的資料解決方案26——聚類k-means方法

        “物以類聚,人以群分”,其核心思想就是聚類。所謂聚類,就是將相似的事物聚集在一起,而將不相似的事物劃分到不同的類別的過程,是資料分析中十分重要的一種手段。比如古典生物學中,人們通過物種的形貌特徵將其分門別類,可以說就是一種樸素的人工聚類。如此,我們就可以將世界

Python資料學習筆記12淘寶圖片爬蟲實戰

       所謂圖片爬蟲,即是從網際網路中自動把對方伺服器上的圖片爬下來的爬蟲程式。 一、圖片爬蟲前的網頁連結分析 1.首先開啟淘寶首頁,在搜尋框中輸入關鍵詞,如“神舟”,在搜尋結果介面中點選下一頁,分別開啟第一頁,第二頁,第三頁的搜尋結果,並記下每一頁結果的URL至記

Python資料學習筆記1文字挖掘入門

一、準備階段: (1)開啟cmd,pip安裝jieba(pip install jieba) (2)開啟python安裝目錄的Lib->site-packages->jieba,開啟dict.txt,可以看到這是jieba模組的詞典:          每

MADlib——基於SQL的資料解決方案17——迴歸Cox比例風險迴歸

一、Cox比例風險迴歸簡介        Cox比例風險迴歸模型(Cox’s proportional hazards regression model),簡稱Cox迴歸模型,由英國統計學家D.R.Cox於1972年提出,主要用於腫瘤和其它慢性病的預後分析,也可用於佇列研究的

MADlib——基於SQL的資料解決方案21——分類KNN

一、分類方法概要1.  分類的概念        資料探勘中分類的目的是學會一個分類函式或分類模型,該模型能把資料庫中的資料項對映到給定類別中的某一個。分類可描述如下:輸入資料,或稱訓練集(Training Set),是由一條條資料庫記錄(Record)組成的。每一條記錄包含

MADlib——基於SQL的資料解決方案8——資料探索描述性統計

        對資料進行統計是從定量的角度去探索資料,是最基本的資料探索方式,其主要目的是瞭解資料從統計學上反映的量的特徵,以便我們更好地認識這些將要被挖掘的資料。        我們先要清楚兩個關於統計學的基本概念:總體和樣本。統計的總體是人們研究物件的全體,又稱母體,如

資料 文字分類特徵提取

        上一篇我們做完了詞頻統計,下面就該提取文字特徵了。其實詞的頻率就是文字最重要的特徵了,但是我們如果只靠詞的頻率去判斷文字的分類的話,顯然正確率是很低的。         當然,文字的特徵提取有很多辦法了,我上這門課程老師著重介紹的是TF-IDF和卡方校驗兩種

資料 文字分類 訓練和測試

         今天來個大結局吧,我們有了chi值或者TF-IDF值以後,就可以拿他們用lib-svm工具進行訓練了。          當然我們還要對資料進行一些標準化處理,我們需要將某詞與該詞對應的值作為一個向量處理,這個就是特徵向量了。          舉個例子,

資料 文字分類蒐集中文語料庫與ICTCLAS分詞

           在上一篇部落格中簡單介紹了實驗環境和流程,這一篇我們繼續。            第一步,下載搜狗中文語料庫。連結:http://www.sogou.com/labs/dl/c.html                            我們下載

關於2015阿里移動推薦演算法大賽的總結——推薦演算法

雖然開始走錯了路,但是也學到了東西,美團技術團隊的文件還是不錯的,喜歡的童鞋可以經常去瞅瞅,後面我會給連結的~~~~ —————————————————————————————————————————————————————————————— 具體流程 基本流程如

資料乾貨系列--Spark總結

Spark總結一、本質 Spark是一個分散式的計算框架,是下一代的MapReduce,擴充套件了MR的資料處理流程二、mapreduce有什麼問題1.排程慢,啟動map、reduce太耗時2.計算慢,每一步都要儲存中間結果落磁碟3.API抽象簡單,只有map和reduce兩

社交網站的資料與分析高清版PDF

社交網站的資料探勘與分析(高清版)PDF百度網盤連結:https://pan.baidu.com/s/1ia57ZMxvdTtq7eragsITzg 提取碼:5hth 複製這段內容後開啟百度網盤手機App,操作更方便哦內容簡介 · · · · · · Facebook、Twitter和LinkedIn產生了大

機器學習&資料筆記_16常見面試機器學習演算法思想簡單梳理

  前言:   找工作時(IT行業),除了常見的軟體開發以外,機器學習崗位也可以當作是一個選擇,不少計算機方向的研究生都會接觸這個,如果你的研究方向是機器學習/資料探勘之類,且又對其非常感興趣的話,可以考慮考慮該崗位,畢竟在機器智慧沒達到人類水平之前,機器學習可以作為一種重要手段,而隨著科技的不斷髮展,

資料結構與演算法總結詞典

詞典結構:dict允許多個詞條擁有相同的關鍵碼。詞條為關鍵碼與值的合成結構。 對映結構:map要求不同詞條的關鍵碼互不相同。 例如跳轉表:一種高效的詞典結構,基於列表構造,時間複雜度為O(logn)。就是橫層連結串列代表關鍵碼,縱向列表代表值。一個關鍵碼代表多個一樣的值。 詞典dict操

資料一般流程資料清洗,特徵提取,建模,調參

最近一直在實習,好長時間沒更新部落格了。哎,懶惰之心不可有啊!! 實習的崗位是資料探勘相關的,所以正好把到目前為止實習期間遇到的一些問題、學到的一些東西總結一下,並參考了一些部落格,自我提升。嘿嘿嘿~

freemarker寫select組件報錯總結

type freemark user source ftl data reference res value 1、錯誤描寫敘述 六月 26, 2014 10:53:26 下午 freemarker.log.JDK14LoggerFactory$JDK14Log