1. 程式人生 > >【推薦系統篇】--推薦系統介紹和基本架構流程

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

方案 排序 技術分享 企業 生成 線上 系統 src 測試數據

一、前述

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

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