知乎:如何學習推薦系統?
前端
知乎:協同過濾和基於內容的推薦有什麼區別?算法
案例:推薦系統實戰? 數據準備;實現推薦欄位;重構接口;後續優化。
apache
簡書:實現實時推薦系統的三種方式?基於聚類和協同過濾;基於Spark;基於Storm;基於Kiji框架。性能優化
精品博客,事無鉅細:推薦系統:協同過濾collaborative filtering 基於內容的推薦content-based,協同過濾collaborative filtering,隱語義模型(LFM, latent factor model)推薦。這篇博客主要講協同過濾。事無鉅細,有條不紊。
網絡
自從1992年施樂的科學家爲了解決信息負載的問題,第一次提出協同過濾算法,個性化推薦已經通過了二十幾年的發展。
架構
推薦系統概述和經常使用評價指標框架
1.1 推薦系統的特色dom
在知乎搜了一下推薦系統,果然結果比較少,顯得小衆一些,而後你們對推薦系統廣泛的觀點是:機器學習
(1)重要性:UI >數據 >算法,就是推薦系統中一味追求先進的算法算是個誤區,一般論文研究類的推薦方法有的帶有不少的假設限制,有的考慮工程實現問題較少,推薦系統須要大量的數據整理和轉化,同時更須要考慮公司業務特性以及與現有系統的集成,方能造成推薦系統和業務之間的良性循環;oop
(2)推薦系統離線測試很好,上線後要麼沒有嚴格的測試結果而只能憑感受,要麼實際效果差強人意,我想主要緣於離線測試比較理想,而在線AB冠軍測試不管對於前端仍是後臺要求都很高,沒有雄厚的研發實力難以實現;
(3)推薦系統受到的外部干擾因素特別多(季節、流行因素等),整個系統須要不斷的迭代更新,沒有一勞永逸的事情。
其它
一:混合推薦系統類型
(1)加權型:就是將多種推薦技術的計算結果加權混合產生推薦。(2)轉換型:根據問題背景和實際狀況採用不一樣的推薦技術。(3)合併型:同時採用多種推薦技術給出多種推薦結果,爲用戶提供參考。(4)特徵組合:未來自不一樣推薦數據源的特徵組合起來,由另外一種推薦技術採用。(5)瀑布型:後一個推薦方法優化前一個推薦方法。(6)特徵遞增型:前一個推薦方法的輸出做爲後一個推薦方法的輸入。(7)元層次型用一種推薦方法產生的模型做爲另外一種推薦方法的輸入。
二. 推薦系統的十個關鍵點
一、充分運用顯式\隱式反饋數據:數據是一切推薦系統的基礎。良好的推薦效果必定是來自於豐富而準確的數據。
二、 多種方法的融合
通過多年的發展,不少種推薦算法被提出來。常見的推薦方法,從大類上分,有基於歷史行爲(Memory-based)的方法、基於模型(Model-based)的方法、基於內容(Content-based)方法等。在Memory-based方法這個方向,又可進一步細分爲基於物品的協同過濾算法(item-based collaborative filtering)、基於用戶的協同過濾算法(user-based collaborative filtering)、關聯規則(association rule)等;Model-based方法經常使用的包括Random Walk、pLSA、SVD、SVD++等。每種方法在具體實施時,針對不一樣的問題又有不少不一樣的實現方案,例如在基於物品的協同過濾算法(item-based collaborative filtering)中,item之間類似度計算公式(Similarity)也可能有不少不少種變化。
在系統推薦的結果之外,還有一類傳統的方式是經過專家進行推薦。這些專家能夠是一些有經驗的編輯,也能夠是社區中意見領袖等。這些領域專家推薦的結果,在不少實際應用中,能夠做爲算法推薦結果的有益補充。
事實上,在實踐中並無任何一種方法在實踐中始終佔據壓倒性的優點,它們各有千秋,分別有其各自合適的應用場景,所以因地制宜根據不一樣的場景,挑選不一樣的方法,並有機的結合起來,能讓推薦效果獲得極大的提高。常見的融合方法包括Restricted Boltzmann Machines(RBM), Gradient Boosted Decision Trees(GBDT),Logistic Regression(LR)等,這方面歷次推薦競賽中有不少相關文章,能夠看到爲了提高推薦效果,將不一樣算法的結果可以取長補短,各自發揮價值,是極爲有效的。
三、重視時間因素:用戶的行爲是存在很強的時間規律的。
四、特定推薦場景使用地域特徵:有一些推薦場景是和用戶所處地域密切相關的,尤爲對一些LBS、O2O的應用來講,一旦離開地域這個特徵,那麼智能推薦的效果根本就無從談起。
五、 SNS關係的使用:社交網絡近年來獲得了日新月異的發展,用戶再也不是單純的內容接收者,而是可以主動的創建用戶之間的關係。
六、 緩解冷啓動問題:冷啓動是推薦系統最爲悠久的一個問題,伴隨推薦系統誕生至今。這是由於推薦系統效果提高的關鍵自然在於數據,而當新用戶、或新物品等剛上線時,因爲積累的數據極爲稀少,大量方法在最初這段時間難以生效。
七、 推薦結果的展示方式:推薦系統毫不僅僅侷限於推薦算法和架構,而是一個完整的系統。其中推薦結果的展示方案是這個系統中極爲重要的一環。
八、明確優化目標和評估手段:在原有推薦效果的基礎上精益求精,更進一步。優化目標和評估手段的肯定是解決這個問題的關鍵所在。
九、時效性問題:正所謂「天下武功,惟快不破」,推薦系統要能及時捕捉用戶需求的變化,反饋到模型中,並及時響應用戶請求,實時提供在線服務。
10 、大數據挖掘和性能優化
總結:智能推薦系統是一個系統工程,依賴數據、架構、算法、人機交互等環節的有機結合,造成協力。
3、基於物品的協同過濾的Item協同系統的MapReduce實現
文章的UML圖比較好看.....
4、搜索引擎的查詢意圖分析(關聯分析)
通用搜索VS垂直搜索:
通用搜索特色:
抓取互聯網上一切有價值的頁面,贊成創建索引,以關鍵字匹配爲基本檢索方式,以網頁title和summary爲展示方式
google, 百度,搜狗,搜搜,有道
垂直搜索特色:
以一特定類別爲主題,只抓取與主題相關信息,根據主題特色有針對性的創建相應的索引檢索方式,篩選方式,以及展示方式
機票搜索,地圖搜索,購物搜索(一淘)……
解決方法:通用搜索引擎 + 垂直搜索引擎 意圖識別