一、前述
推薦系統是企業中常用的技術,所以系統的掌握推薦系統的知識是很有必要的。本專欄主要講述手機APP下載的專案。
常用的推薦方法有兩個,分別是基於物品的推薦和基於使用者的推薦。
基於使用者的推薦原理是:跟你喜好相似的人喜歡的東西你也很有可能喜歡(userBaseCF)。
基於物品的推薦原理是:跟你喜歡的東西類似的東西你也可能喜歡(itemBaseCF)。
我們這裡用到的是itembaseCF,本質是依據特徵找使用者喜好規律。
顯式的使用者反饋:這類是使用者在網站上自然瀏覽或者使用網站以外,顯式的提供反饋資訊,例如使用者對物品的評分,或者對物品的評論。
隱式的使用者反饋:這類是使用者在使用網站時產生的資料,隱式的反應了使用者對物品的喜好,例如使用者購買了某物品,使用者檢視了某物品的資訊等等。
本專案基於隱式的使用者反饋。
二、協同過濾演算法詳述
結論:對於使用者A,根據使用者的歷史偏好,這裡只計算得出一個鄰居使用者C,然後將使用者C喜歡的物品D推薦給使用者A
結論:基於使用者的推薦(長虛線)---1和5比較相似,5買了104商品,所以把104推薦給使用者1。
基於物品的推薦(短虛線)---101物品和104物品比較相似,所以當使用者買了101,把104也推薦給他。
三、lambda架構(所有推薦系統的父架構)
四、本文系統架構
lmbda架構(手機APP下載)
解釋:1.選用邏輯迴歸演算法原因是使用者要麼下載,要麼不下載。
2.生成特徵索引(實際上是一個文字檔案)的原因是格式化測試資料,也是相當於降維,當一個userId進來時找到推薦服務,然後通過服務路由去查詢HBase中的資料,並根據特徵索引來取對應的特徵,所以這一步相當於一個降維。
線上架構(測試集架構):
關聯特徵:儲存的是同現矩陣。
流程:核心思想(計算使用者對所有APP(除去歷史下載部分)的評分,按分值排序,然後取topn)
問題:
五、需求分析(架構推薦方案)
1、資料清洗(得到訓練資料)
2、演算法建模(得到模型結果)
3、模型使用(得到推薦結果)
4、結果評估(推薦結果評估)