推薦係統中構建一個廣而深的模型

筆記本電腦使用的例子,本文帶您經曆建築有很大的推薦係統模型。構建一個機器學習的管道廣而深的推薦係統涉及到這個圖中所示的階段:

工作流的廣而深的推薦

這個參考解決方案涵蓋了藍色所示的階段:

  • 模型訓練和評估

  • 模型導出和版本管理

  • 批處理模式推理

  • 在線服務模型

信息未涉及的步驟,請參閱項目階段不覆蓋

廣而深的模型是什麼?

一個有效的選擇推薦係統,廣而深的模型結合了線性模型和深學習模型的功能。線性模型分析曆史數據與客戶選擇,而深度學習能力泛化擴展相關的選擇建議。

欲了解更多,請看:

磚工具的亮點

筆記本封麵提供幾個工具簡化構建機器學習管道磚,即:

  1. SparkDatasetConverter

  2. MLflow模型注冊

  3. MLflow模型服務

筆記本用戶描述數據集

這個筆記本中使用的數據集包含以下三角洲表:

  • user_profile:包含user_id值和靜態配置文件

  • item_profile:包含item_id值和靜態配置文件

  • user_item_interaction:包含事件,用戶與一個項目。這個表是隨機分成三個三角洲表構建和評估模型:火車,驗證,測試

這數據格式是常見的推薦問題。一些例子:

  • 對於廣告推薦係統,項目是廣告和user-item交互記錄用戶點擊廣告。

  • 對於網上購物推薦係統,項目產品和user-item交互的用戶審核或訂單曆史記錄。

當你適應這個筆記本數據集,您隻需要保存的數據增量表並提供表名稱和位置。加載數據主要是可以重用的代碼。

有關詳細信息,請參閱數據集一代筆記本。

生成並保存數據集的筆記本

在新標簽頁打開筆記本

筆記本的廣而深的模型

廣而深的模型結合了多種線性模型和深層神經網絡處理所需的記憶和歸納好的建議。

這個模型隻是一個例子在許多深度學習模型的推薦問題或對任何機器學習管道。這裏的重點是展示如何構建工作流。你可以交換不同模型對自己的用例和調優模型更好的評價指標。

廣而深的模型構建和服務推薦係統的筆記本

在新標簽頁打開筆記本

項目階段不覆蓋

讓筆記本專注於顯示如何實現一個推薦係統,不包括以下階段。這些階段是在工作流圖中顯示為灰色塊。

  1. 數據收集和探索性數據分析。看到磚上運行你的第一個ETL工作負載

  2. 工程特性。特性工程是一個重要的推薦係統的一部分,和多的信息可以在這個話題。這個筆記本假定你有一個策劃數據集包含user-item交互。本筆記本中使用的數據集的詳細信息,明白了筆記本用戶描述數據集。工程特性的更多信息,請參閱以下資源:

  3. 模型調優。現有管道的模型調優涉及修改代碼,包括工程特點、模型結構、模型hyperparameters,甚至更新數據收集階段,提高模型的性能。關於工具的更多信息模型調優在磚上,看到的Hyperparameter調優