【推薦系統篇】--推薦系統介紹和基本架構流程

LHBlog發表於2018-03-26

一、前述

推薦系統是企業中常用的技術,所以系統的掌握推薦系統的知識是很有必要的。本專欄主要講述手機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、結果評估(推薦結果評估)

相關文章