推薦理論(8):推薦系統中的數據挖掘方法


點擊上方藍字關注「公衆號」web

哈嘍,你們好~機器學習和數據挖掘你們應該都已經很熟悉了,今天咱們的標題是推薦系統中的數據挖掘方法,可是重心會傾向於一些數據挖掘算法在推薦系統領域中的影響。但願能夠給你們帶來一些學習工做中的靈感~
面試









首先咱們會介紹一下數據預處理的一些方式,以及對推薦結果(數據挖掘結果)的評估方法;而後介紹數據挖掘中的哪些方法在推薦系統中比較適合應用,會分別從監督學習和無監督學習來介紹。算法


對機器學習比較瞭解的同窗應該會很容易理解內容,並沒有太多難度,可是給出的一些經驗性的總結可能會對您有幫助。
微信




數據預處理網絡

記得去年秋招面試的時候就和麪試官聊到數據預處理,我說在學校期間都是用標準數據集,乾淨整潔有條理,不多考慮預處理的問題。在去了平安科技和IBM實習後,才發如今數據預處理部分真的是花時間。
機器學習




A) 類似度度量方法工具

具體的定義咱們前面的文章中介紹過不少,最簡單的就是歐幾里得距離了,除此以外,馬氏距離,餘弦類似度,皮爾遜相關性也是很常見的類似度度量的一些方法。性能


對於類似度的使用在推薦系統中很是常見,協同過濾就能夠看做是類似度方法的一個應用。此外類似度也能夠加入到樣本對於模型貢獻的權重中去。學習


比較有意思的一個點在於有一些工做【1】驗證了這些類似度的效果,發如今推薦系統中餘弦類似度可能表現更好,甚至在有的工做【2】中發現,類似度的變化對推薦結果並無什麼顯著的影響
測試




B) 抽樣

抽樣在數據挖掘中是很是常見的一個步驟,從衆多的數據集中選擇出來一個子集,核心是要具備原始數據集的表明性,這也是爲了緩解在處理完整數據集計算開銷過大的狀況。


抽樣能夠有放回和無放回的抽樣,經驗上將抽取到的數據按照 4:1 的比例劃分爲訓練集和測試集,固然有時候也會選擇加入驗證集來學習超參數。


抽樣的方法已經有不少種了,固然仍是要看具體的應用場景,好比是和時序相關的場景,則須要重點考慮最近的數據。




C) 降維

在當今時代,降維是一個很是常見且重要的操做了,由於現有網絡上的數據體量實在太大了。一樣的,推薦系統中數據稀疏和維度災難也是反覆遇到的問題。經過有效的降維能夠緩解上述狀況。


最熟悉的降維算法當屬 PCA 和 矩陣分解了吧。PCA 經過計算特徵向量,能夠按照特徵值的大小來選擇哪些特徵向量更做爲新的維度空間的座標軸,實現對高維空間的降維。


SVD(奇異值分解)也是一個強大的降維工具。具體的內容咱們在前面的文章中介紹過,這裏作一些經驗性的總結。首先 SVD 的關鍵問題是發現低維特徵空間,這些新特徵表明一個個「概念」,並且每一個「概念」在概念集合中的重要性均可以量化。


因此 SVD 能夠用來發現用戶與產品之間的潛在關係,一樣也有一些增量算法來計算近似的分解【3】。所以矩陣分解方法不只能夠做爲預處理和降維的方法,由於整個推薦問題均可以看做是一個評分矩陣的填充問題,因此矩陣分解的方法就能夠獨立完成推薦的過程。




監督學習

A) 分類方法

分類在不少領域都有應用,而推薦系統問題自己也能夠看做是一個分類,對每一個物品分類爲用戶是否會喜歡或選擇。下面咱們簡單說一下一些分類方法在推薦系統的應用中值得留意的點。


首先 knn 是最簡單的分類算法,它和以前文章中介紹的基於領域的協同過濾息息相關,核心思路都是選擇最類似的內容。


決策樹是按照屬性值進行逐層劃分的方法。在推薦系統中常見應用在基於模型的方法中,不過純粹使用決策樹進行完成的推薦系統每每效果不佳,可是決策樹能夠被用來模擬系統的一個特殊部分,好比先得到初始的帶推薦人羣。


貝葉斯分類器也是得到一個簡易推薦系統的常見方法。樸素貝葉斯在冷啓動時能夠有效的提升性能;直接利用貝葉斯分類器進行推薦也是一種;還有利用貝葉斯網絡進行推薦;此外分層的貝葉斯網絡也在一些環境下能夠被使用。


邏輯迴歸將全部數據點都考慮進去尋找一個分類超平面,優勢是簡單,不利之處在於容易被異常點干擾。支持向量機則是以邊界最大化來尋找分類超平面,關於 SVM 已經有很成熟的技術,而且也的確有一些工做應用它在推薦系統中。


人工神經網絡伴隨着深度學習的興起又從新回到了人們的視野中,利用神經網絡的擬合能力,對特徵的提取很是有效,尤爲是在時序信息中,前兩天有身邊的同窗在他的號上寫了利用 CNN 來提起時序特徵的文章。現有的不少工做都是結合傳統的機器學習方法和深度學習來共同提取特徵信息,合做完成最終的推薦。




B)集成與評估

利用集成學習的思路,上述的分類器能夠集成合做完成分類任務,常見的集成學習方法有 Bagging 和 Boosting。在 Netflix 的獲獎方案中結合使用了 107 種方法【4】。


另外一方面,對推薦結果的評估方法你們也有不少見解。對精度方面的評估,和數據挖掘中的常見精度衡量方式基本一致,如 precision,recall,F1,ROC 和 AUC 等。在以前的文章中咱們介紹了常見的評估方法,介紹了不少指標的意義,都淺顯易懂。


可是具體的指標的重要性,確定要視不一樣的場景而定。




無監督學習

無監督學習也就是以聚類爲表明的方法,將數據中的規律交給模型來本身總結。聚類主要的內容也就是分層和劃分。


要說聚類,最熟悉的就是 k-means 算法,經過聚類獲得一些類似物品的集合。有工做利用這種方法來爲協同過濾得到初始的領域選項。


固然 k-means 也有一些缺陷,對 k 的設置,最初的聚類對於初始中心點很是敏感,會產生空聚類,對聚類是不一樣大小、密度、非球狀的數據處理不佳。可是一樣有了不少相關工做來完善這些缺點並在推薦系統中進行應用。


如基於局部敏感哈希(LSH),貝葉斯非參數模型等。其中 LSH 由於性能好且具備可伸縮性,在工業界推薦系統的預處理階段被用來分組類似用戶。




總結

本週的文章咱們介紹了一些常見的數據挖掘技術在推薦系統中的應用,咱們沒有拘泥於具體的算法細節,而是儘量的從推薦系統的角度來看待這些技術會產生什麼樣的做用。


在設計一個推薦系統時,選擇合適的數據挖掘技術自己就是一個複雜的任務,會受到具體應用場景的許多約束。但願本週的文章能夠給你們在作決策時帶來一些幫助。




參考文獻

[1] Evaluating similarity measures: A large-scale study in the orkut social network.

[2] The effect of correlation coefficients on communities of recommenders.

[3] Incremental svd-based algorithms for highly scalable recommender systems.

[4] The bellkor solution to the netflix prize.



往期回顧

推薦理論(1):推薦系統的今天與明天

推薦理論(2):協同過濾基礎-基於鄰域的方法

推薦理論(3):協同過濾進階之SVD家族

推薦理論(4):協同過濾究極進化-各類協同過濾進階思路

推薦理論(5):NLP+基於內容的推薦

推薦理論(6):基於約束的推薦系統

推薦理論(7):情景感知推薦系統



長按關注我喲



以爲內容還不錯的話,給我點個「在看」唄



本文分享自微信公衆號 - 機器學習與推薦系統(ml-recsys)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索