推薦係統中構建一個廣而深的模型
筆記本電腦使用的例子,本文帶您經曆建築有很大的推薦係統模型。構建一個機器學習的管道廣而深的推薦係統涉及到這個圖中所示的階段:
這個參考解決方案涵蓋了藍色所示的階段:
模型訓練和評估
模型導出和版本管理
批處理模式推理
在線服務模型
信息未涉及的步驟,請參閱項目階段不覆蓋。
筆記本用戶描述數據集
這個筆記本中使用的數據集包含以下三角洲表:
user_profile
:包含user_id
值和靜態配置文件item_profile
:包含item_id
值和靜態配置文件user_item_interaction
:包含事件,用戶與一個項目。這個表是隨機分成三個三角洲表構建和評估模型:火車
,驗證
,測試
。
這數據格式是常見的推薦問題。一些例子:
對於廣告推薦係統,項目是廣告和user-item交互記錄用戶點擊廣告。
對於網上購物推薦係統,項目產品和user-item交互的用戶審核或訂單曆史記錄。
當你適應這個筆記本數據集,您隻需要保存的數據增量表並提供表名稱和位置。加載數據主要是可以重用的代碼。
有關詳細信息,請參閱數據集一代筆記本。
筆記本的廣而深的模型
廣而深的模型結合了多種線性模型和深層神經網絡處理所需的記憶和歸納好的建議。
這個模型隻是一個例子在許多深度學習模型的推薦問題或對任何機器學習管道。這裏的重點是展示如何構建工作流。你可以交換不同模型對自己的用例和調優模型更好的評價指標。
項目階段不覆蓋
讓筆記本專注於顯示如何實現一個推薦係統,不包括以下階段。這些階段是在工作流圖中顯示為灰色塊。
數據收集和探索性數據分析。看到磚上運行你的第一個ETL工作負載。
工程特性。特性工程是一個重要的推薦係統的一部分,和多的信息可以在這個話題。這個筆記本假定你有一個策劃數據集包含user-item交互。本筆記本中使用的數據集的詳細信息,明白了筆記本用戶描述數據集。工程特性的更多信息,請參閱以下資源:
磚的解決方案加速器筆記本個性化的客戶體驗的建議展示功能的示例工程推薦係統。
預處理的數據機器學習更深的學習特性的例子工程與scikit-learn MLlib學習和轉移。
模型調優。現有管道的模型調優涉及修改代碼,包括工程特點、模型結構、模型hyperparameters,甚至更新數據收集階段,提高模型的性能。關於工具的更多信息模型調優在磚上,看到的Hyperparameter調優。