天天看點

推薦系統的定義及現狀

推 薦 系 統 的 定 義 及 現 狀 推薦系統的定義及現狀 推薦系統的定義及現狀

  • 推薦系統将會占據每一家的公司的

    命脈

    位置
  • 推薦系統将會成為未來商家必經之路
  • 推薦系統将會改變咱們的生活

Artificial intelligence (Al, also machine intelligence, MI) is intelligence exhibited by machines, rather than humans or other animals (natural intelligence, Nl). In computerscience, the field of Al research defines itself as the study of “intelligent agents”: any device that perceives its environment and takes actions that maximize its chance of success at some goal.[1] Colloquially, the term Martiician niengerith athar himana machine mimics " cognitive" functions that humans associate with other human minds, such as “learning” and "problem solving” .

從機器角度執行具體任務的目标最大化過程就是人工智能的表現。

推薦系統的定義及現狀

推薦系統是指通過人工和非人工向使用者建議購買/浏覽物品的

有規律

行動。

IMDB(資料集)

lnternet Movie Database【媒體庫】

  • 440萬個影片資訊
  • 包含電影、綜藝、電視劇等節目詳細資訊
  • 電影資料挖掘從業者必爬的網站

lnternet Movie Database【使用者資源】

  • 7千6百萬個注冊使用者
  • 專業電影看客比去的門戶網站
  • 通過增值服務盈利
推薦系統的定義及現狀

IMDB 打分規則

推薦系統的定義及現狀
w = weighted rating
R= average for the movie as a number from 1 to 10 (mean) = (Rating)
v = number of votes for the movie = (votes)
m = minimum votes required to be listed in the Top 250(currently25,000)
C = the mean vote across the whole report (currently 7.0)
           
推薦系統的定義及現狀

IMDB的優勢

  • 最悠久的曆史【27年】
  • 最忠實的使用者群體
  • 最完整的電影資訊

Netflix Algorithms

  • Personalized Video Ranker
  • Top-N Video Ranker
  • Trending Now
  • Continue Watching
  • Video-Video Similarity
  • Page Generation: Row Selection and Ranking
  • Evidence
  • Search

個性化推薦算法

  • 人口屬性
  • 地理屬性
  • 資産屬性
  • 興趣屬性 ·

如果能獲得上訴所有的屬性,用最簡單的推薦算法即可。

資料衍生的推薦算法

  • 協同過濾推薦算法
  • 基于内容的推薦算法
  • 混合推薦算法
  • 流行度推薦算法

為推薦系統選擇正确的推薦算法是非常重要的決定。

目前為止,已經有許多推薦算法可供選擇,但為你需要解決的特定問題選擇一種特定的算法仍然很困難。

每一種推薦算法都有其優點和缺點,當然也有其限制條件,在作出決定之前,你必須要一一考量。

在實踐中,你可能會測試幾種算法,以發現哪一種最适合你的使用者,測試中你也會直覺地發現它們是什麼以及它們的工作原理。

基 于 内 存 的 協 同 過 濾 ( 距 離 ) 基于記憶體的協同過濾(距離) 基于記憶體的協同過濾(距離)

相似統計的方法得到具有相似興趣愛好的鄰居使用者

UCF

ICF

距離算法

歐幾裡得距離(Euclidean Distance)以及歐式距離的标準化:歐幾裡得度量(euclidean metric)(也稱歐氏距離)是一個通常采用的距離定義,指在m維空間中兩個點之間的真實距離,或者向量的自然長度(即該點到原點的距離)。在二維和三維空間中的歐氏距離就是兩點之間的實際距離。

馬哈拉諾比斯距離( Mahalanobis Distance)

曼哈頓距離(Manhattan Distance)

切比雪夫距離(Chebyshev Distance)

明可夫斯基距離( Minkowski Distance)

海明距離((Hamming distance)

用人工的方法進行度量

基 于 鄰 域 的 協 同 過 濾 ( 相 似 度 ) 基于鄰域的協同過濾(相似度) 基于鄰域的協同過濾(相似度)

餘弦相似度(Cosine Similarity)以及調整餘弦相似度(Adjusted Cosine Similarity)

皮爾森相關系數(Pearson Correlation Coefficient)

Jaccard相似系數(Jaccard Coefficient)

Tanimoto系數(廣義Jaccard相似系數)

對數似然相似度/對數似然相似率

互資訊/資訊增益,相對嫡/KL散度

資訊檢索–詞頻-逆文檔頻率(TF-IDF)

詞對相似度–點間互資訊

基 于 模 型 的 協 同 過 濾 基于模型的協同過濾 基于模型的協同過濾

先用曆史資料得到一個模型,再用此模型進行預測。基于模型的推薦廣泛使用的技術包括神經網絡等學習技術、潛在語義檢索(latent seman2tic indexing)和貝葉斯網絡( bayesian networks).

用關聯算法做協同過濾

用聚類算法做協同過濾

用分類算法做協同過濾

用回歸算法做協同過濾

用矩陣分解做協同過濾

用神經網絡做協同過濾

用圖模型做協同過濾

用隐語義模型做協同過濾

聚類

K-Means

K-Means算法是無監督的聚類算法,它實作起來比較簡單,聚類效果也不錯,是以應用很廣泛。K-Means算法有大量的變體,本文就從最傳統的K-Means算法研起,仕具墊礎上講述K-Means的優化變體方法。包括初始化優化K-Means++,距離計算優化elkan K-Means算法和大資料情況下的優化Mini Batch K-Means算法。

BIRCH

BIRCH的全稱是利用層次方法的平衡疊代規約和聚類(Balanced Iterative Reducing andClustering Using Hierarchies),它是用層次方法來聚類和規約資料

用 分 類 算 法 做 協 同 過 濾 用分類算法做協同過濾 用分類算法做協同過濾

邏輯回歸原理(使用者排序)

如果我們根據使用者評分的高低,将分數分成幾段的話,則這個問題變成分類問題。比如最直接的,設定一份評分門檻值,評分高于門檻值的就是推薦,評分低于門檻值就是不推薦,我們将問題變成了一個二分類問題。雖然分類問題的算法多如牛毛,但是目前使用最廣泛的是邏輯回歸

  • 樸素貝葉斯算法

矩陣分解

推薦系統的定義及現狀

神經網絡

推薦系統的定義及現狀
推薦系統的定義及現狀

協同過濾優點

  • 實作快
  • 對商品和使用者沒有要求
  • 效果有保證

協同過濾缺點

  • 冷啟動
  • 馬太效應
  • 推薦解釋模糊

scikit-Learn

Machine Learning in Python

源于Google競賽算法

  • Simple and efficient tools for data mining and data analysis
  • Accessible to everybody, and reusable in yarious contexts)
  • Built on NumPy,SciPy, and matplotlib
  • Open source, commercially usable - BSD license

類目

  • Supervised learning
  • Unsupervised learning
  • Model selection and evaluation
  • Dataset transformations
  • Dataset loading utilities
  • Strategies to scale computationally: bigger data
  • Computational Performance

基礎規則推薦算法

  • k-means
  • mini-batch k-means
  • Birch
  • 相似度計算

資料集:MovieLens

基于劃分聚類算法(partition clustering)

推薦系統的定義及現狀

基于層次聚類算法:

推薦系統的定義及現狀

基于密度聚類算法:

推薦系統的定義及現狀

K-means

1.随機選擇k個初始質心;

2.如果沒有滿足聚類算法終止條件,則繼續執行步驟3,否則轉步驟5;

3.計算每個非質心點p到k個質心的歐幾裡德距離,将p指派給距離最近的質心;

4.根據上一步的k個質心及其對應的非質心點集,重新計算新的質心點,然後轉步驟2;

5.輸出聚類結果,算法可以執行多次,使用散點圖比較不同的聚類結果。

推薦系統的定義及現狀

調優方向

  • 重新分析資料
  • 重選擇算法
  • 重新了解資料

關 聯 規 則 算 法 關聯規則算法 關聯規則算法

1.Apriori

Apriori算法是常用的用于挖掘出資料關聯規則的算法,它用來

找出資料值中頻繁出現的資料集合

,找出這些集合的模式有助于我們做一些決策。比如在常見的超市購物資料集,或者電商的網購資料集中,如果我們找到了頻繁出現的資料集,那麼對于超市,我們可以優化産品的位置擺放,對于電商,我們可以優化商品所在的倉庫位置,達到節約成本,增加經濟效益的目的。

“啤酒與尿布”的故事

1993年美國學者Agrawal提出通過分析購物籃中的

商品集合,進而找出商品之間關聯關系的關聯算法

,并根據商品之間的關系,找出客戶的購買行為,Agrawal從數學及計算機算法角度提出了商品關聯關系的計算方法——Apriori算法。

沃爾瑪從上個世紀90年代嘗試将Aprior算法引入到POS機資料分析中,并獲得了成功,于是産生了“啤酒與尿布”的故事。

如何尋找?

在曆史購物記錄中,一些商品總是在一起購買。但人看上去不是那麼的直覺的,而是隐蔽的。

讓計算機做這事,設計算法讓計算機自動去找,我到這樣的模式(規律)。

目标:尋找那些總是一起出現商品。

mahout實戰一>機器學習實戰

《mahout實戰》與《機器學習實戰》一起該買的記錄數占所有商品記錄總數的比例一一支援度(整體)

買了《mahout實戰》與《機器學習實戰》一起該買的記錄數占所有購買《mahout實戰》記錄數的比例一一置信度(局部)

需要達到一定的門檻值

支援度、置信度越大,商品出現一起購買的次數就越多,可信度就越大。

支援度:在所有的商品記錄中有2%量是購買《mahout實戰》與《機器學習實戰》
置信度:買《mahout實戰》的顧客中有60%的顧客購買了《機器學習實戰》


作用:找到商品購買記錄中反複一起出現的商品,幫能助營銷人員做更好的政策,幫助顧客友善購買。

政策:
1、同時購買的商品放一起
2、同時購買的商品放兩端


支援度、置信度轉化為數學語言進行計算:
A表示《mahout實戰》
B表示《機器學習實戰》


support(A->B)= P(AB)      (《mahout實戰》和《機器學習實戰》一起買占總的購買記錄的比例)
confidence(A->B)=P(A|B)   (購買了《mahout實戰》後,買《機器學習實戰》占的比例)

項集:項的集合稱為項集,即商品的組合。
k項集: k件商品的組合,不關心商品件數,僅商品的種類。
項集頻率:商品的購買記錄數,簡稱為項集頻率,支援度計數。
注意,定義項集的支援度有時稱為相對支援度,而出現的頻率稱為絕對支援度。
頻繁項集:如果項集的相對支援度滿足給定的最小支援度門檻值,則該項集是頻繁項集.
強關聯規則:滿足給定支援度和置信度門檻值的關聯規則



明确問題
1、要找總是在一起出現的商品組合—
2、提出衡量标準支援度、置信度(達到一定的閥值)
3、給出支援度、置信度直覺計算方法
4、在計算方法中起決定因素的是頻繁項集
5、由頻繁項集輕松找到強關聯規則

找關聯規則--------->找頻繁項集步驟:
1.找出所有的頻繁項集;這個項集出現的次數至少與要求的最小計數一樣。如在100次購買記錄中,至少一起出

2.由頻繁項集産生強關聯規則;這些關聯規則滿足最小支援度與最小置信度。

           

2.FPGROWTH

FpGrowth算法通過構造

一個樹結構來壓縮資料記錄

,使得挖掘頻繁項集隻需要掃描兩次資料記錄,而且該算法不需要生成候選集合,是以

效率會比較高