推荐系统入门:作为Rank系统的推荐系统(协同过滤)
???????? 知乎:如何學(xué)習(xí)推薦系統(tǒng)?????????????
???????? 知乎:協(xié)同過濾和基于內(nèi)容的推薦有什么區(qū)別?
???????? 案例:推薦系統(tǒng)實戰(zhàn)?? 數(shù)據(jù)準(zhǔn)備;實現(xiàn)推薦欄位;重構(gòu)接口;后續(xù)優(yōu)化。
???????? 簡書:實現(xiàn)實時推薦系統(tǒng)的三種方式?基于聚類和協(xié)同過濾;基于Spark;基于Storm;基于Kiji框架。
???????? 精品博客,事無巨細:推薦系統(tǒng):協(xié)同過濾collaborative filtering ???基于內(nèi)容的推薦content-based,協(xié)同過濾collaborative filtering,隱語義模型(LFM, latent factor model)推薦。這篇博客主要講協(xié)同過濾。事無巨細,有條不紊。 ?????????????????????????????????????????
???????? 自從1992年施樂的科學(xué)家為了解決信息負(fù)載的問題,第一次提出協(xié)同過濾算法,個性化推薦已經(jīng)經(jīng)過了二十幾年的發(fā)展。
推薦系統(tǒng)概述和常用評價指標(biāo)
1.1 推薦系統(tǒng)的特點
在知乎搜了一下推薦系統(tǒng),果真結(jié)果比較少,顯得小眾一些,然后大家對推薦系統(tǒng)普遍的觀點是:
(1)重要性:UI >數(shù)據(jù) >算法,就是推薦系統(tǒng)中一味追求先進的算法算是個誤區(qū),通常論文研究類的推薦方法有的帶有很多的假設(shè)限制,有的考慮工程實現(xiàn)問題較少,推薦系統(tǒng)需要大量的數(shù)據(jù)整理和轉(zhuǎn)化,同時更需要考慮公司業(yè)務(wù)特性以及與現(xiàn)有系統(tǒng)的集成,方能形成推薦系統(tǒng)和業(yè)務(wù)之間的良性循環(huán);
(2)推薦系統(tǒng)離線測試很好,上線后要么沒有嚴(yán)格的測試結(jié)果而只能憑感覺,要么實際效果差強人意,我想主要緣于離線測試比較理想,而在線AB冠軍測試無論對于前端還是后臺要求都很高,沒有雄厚的研發(fā)實力難以實現(xiàn);
(3)推薦系統(tǒng)受到的外部干擾因素特別多(季節(jié)、流行因素等),整個系統(tǒng)需要不斷的迭代更新,沒有一勞永逸的事情。
???????
Mahout 主頁:Apache Mahout: Scalable machine learning and data mining 語言:Java??????? Mahout 是 Apache Software Foundation (ASF) 開發(fā)的一個全新的開源項目,其主要目標(biāo)是創(chuàng)建一些可伸縮的機器學(xué)習(xí)算法,供開發(fā)人員在 Apache 在許可下免費 使用。Mahout項目是由 Apache Lucene社區(qū)中對機器學(xué)習(xí)感興趣的一些成員發(fā)起的,他們希望建立一個可靠、文檔翔實、可伸縮的項目,在其中實現(xiàn)一些常見的用于 聚類和分類的機器學(xué)習(xí)算法。該社區(qū)最初基于 Ngetal. 的文章 “Map-Reduce for Machine Learning on Multicore”,但此后在發(fā)展中又并入了更多廣泛的機器學(xué)習(xí) 方法,包括Collaborative Filtering(CF),Dimensionality Reduction,Topic Models等。此外,通過使用 Apache Hadoop 庫,Mahout 可以有效地擴展到云中。
??????? 在Mahout的Recommendation類算法中,主要有User-Based CF,Item-Based CF,ALS,ALS on Implicit Feedback,Weighted MF,SVD++,Parallel SGD等。
其它
一:混合推薦系統(tǒng)類型????????
?????? (1)加權(quán)型:就是將多種推薦技術(shù)的計算結(jié)果加權(quán)混合產(chǎn)生推薦。(2)轉(zhuǎn)換型:根據(jù)問題背景和實際情況采用不同的推薦技術(shù)。(3)合并型:同時采用多種推薦技術(shù)給出多種推薦結(jié)果,為用戶提供參考。(4)特征組合:將來自不同推薦數(shù)據(jù)源的特征組合起來,由另一種推薦技術(shù)采用。(5)瀑布型:后一個推薦方法優(yōu)化前一個推薦方法。(6)特征遞增型:前一個推薦方法的輸出作為后一個推薦方法的輸入。(7)元層次型用一種推薦方法產(chǎn)生的模型作為另一種推薦方法的輸入。
二.? 推薦系統(tǒng)的十個關(guān)鍵點????????????????????????? ?????????????
1、充分運用顯式\隱式反饋數(shù)據(jù):數(shù)據(jù)是一切推薦系統(tǒng)的基礎(chǔ)。良好的推薦效果一定是來自于豐富而準(zhǔn)確的數(shù)據(jù)。
2、 多種方法的融合
經(jīng)過多年的發(fā)展,很多種推薦算法被提出來。常見的推薦方法,從大類上分,有基于歷史行為(Memory-based)的方法、基于模型(Model-based)的方法、基于內(nèi)容(Content-based)方法等。在Memory-based方法這個方向,又可進一步細分為基于物品的協(xié)同過濾算法(item-based collaborative filtering)、基于用戶的協(xié)同過濾算法(user-based collaborative filtering)、關(guān)聯(lián)規(guī)則(association rule)等;Model-based方法常用的包括Random Walk、pLSA、SVD、SVD++等。每種方法在具體實施時,針對不同的問題又有很多不同的實現(xiàn)方案,例如在基于物品的協(xié)同過濾算法(item-based collaborative filtering)中,item之間相似度計算公式(Similarity)也可能有很多很多種變化。
在系統(tǒng)推薦的結(jié)果以外,還有一類傳統(tǒng)的方式是通過專家進行推薦。這些專家可以是一些有經(jīng)驗的編輯,也可以是社區(qū)中意見領(lǐng)袖等。這些領(lǐng)域?qū)<彝扑]的結(jié)果,在很多實際應(yīng)用中,可以作為算法推薦結(jié)果的有益補充。
事實上,在實踐中并沒有任何一種方法在實踐中始終占據(jù)壓倒性的優(yōu)勢,它們各有千秋,分別有其各自合適的應(yīng)用場景,因此因地制宜根據(jù)不同的場景,挑選不同的方法,并有機的結(jié)合起來,能讓推薦效果得到極大的提升。常見的融合方法包括Restricted Boltzmann Machines(RBM), Gradient Boosted Decision Trees(GBDT),Logistic Regression(LR)等,這方面歷次推薦競賽中有很多相關(guān)文章,可以看到為了提升推薦效果,將不同算法的結(jié)果能夠取長補短,各自發(fā)揮價值,是極為有效的。
3、重視時間因素:用戶的行為是存在很強的時間規(guī)律的。
4、特定推薦場景使用地域特征:有一些推薦場景是和用戶所處地域密切相關(guān)的,尤其對一些LBS、O2O的應(yīng)用來說,一旦離開地域這個特征,那么智能推薦的效果根本就無從談起。
5、 SNS關(guān)系的使用:社交網(wǎng)絡(luò)近年來得到了突飛猛進的發(fā)展,用戶不再是單純的內(nèi)容接收者,而是能夠主動的建立用戶之間的關(guān)系。
6、 緩解冷啟動問題:冷啟動是推薦系統(tǒng)最為悠久的一個問題,伴隨推薦系統(tǒng)誕生至今。這是因為推薦系統(tǒng)效果提升的關(guān)鍵天然在于數(shù)據(jù),而當(dāng)新用戶、或新物品等剛上線時,由于積累的數(shù)據(jù)極為稀少,大量方法在最初這段時間難以生效。
7、 推薦結(jié)果的展現(xiàn)方式:推薦系統(tǒng)絕不僅僅局限于推薦算法和架構(gòu),而是一個完整的系統(tǒng)。其中推薦結(jié)果的展現(xiàn)方案是這個系統(tǒng)中極為重要的一環(huán)。
8、明確優(yōu)化目標(biāo)和評估手段:在原有推薦效果的基礎(chǔ)上精益求精,更進一步。優(yōu)化目標(biāo)和評估手段的確定是解決這個問題的關(guān)鍵所在。
9、時效性問題:正所謂“天下武功,唯快不破”,推薦系統(tǒng)要能及時捕捉用戶需求的變化,反饋到模型中,并及時響應(yīng)用戶請求,實時提供在線服務(wù)。
10 、大數(shù)據(jù)挖掘和性能優(yōu)化
總結(jié):智能推薦系統(tǒng)是一個系統(tǒng)工程,依賴數(shù)據(jù)、架構(gòu)、算法、人機交互等環(huán)節(jié)的有機結(jié)合,形成合力。
三、基于物品的協(xié)同過濾的Item協(xié)同系統(tǒng)的MapReduce實現(xiàn)???
??????? 文章的UML圖比較好看.....
?
四、搜索引擎的查詢意圖分析(關(guān)聯(lián)分析) ?
通用搜索VS垂直搜索:
??????? 通用搜索特點:
????????????????抓取互聯(lián)網(wǎng)上一切有價值的頁面,同意建立索引,以關(guān)鍵字匹配為基本檢索方式,以網(wǎng)頁title和summary為展現(xiàn)方式
????????????????google, 百度,搜狗,搜搜,有道
????????垂直搜索特點:
????????????????以一特定類別為主題,只抓取與主題相關(guān)信息,根據(jù)主題特點有針對性的建立相應(yīng)的索引檢索方式,篩選方式,以及展現(xiàn)方式
????????????????機票搜索,地圖搜索,購物搜索(一淘)……???????????????
解決方法:通用搜索引擎 + 垂直搜索引擎
????????意圖識別
???????
總結(jié)
以上是生活随笔為你收集整理的推荐系统入门:作为Rank系统的推荐系统(协同过滤)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CNN结构:用于检测的CNN结构进化-结
- 下一篇: 了解这23种设计模式