用Azure Machine Learning服務構建推薦系統
譯文【51CTO.com快譯】推薦系統用于從零售、新聞到媒體的各行各業。如果你之前用過根據你之前看過或買過的內容提供建議的流媒體服務或電子商務網站,就與推薦系統打過交道。由于大量數據可供使用,許多公司將推薦系統作為關鍵的收入驅動因素。然而找到合適的推薦算法對數據科學家來說可能很耗時。這就是為什么微軟提供了附帶Python***實踐示例的GitHub存儲庫,便于用Azure Machine Learning服務構建和評估推薦系統。
什么是推薦系統?
推薦系統主要有兩種:協作過濾和基于內容的過濾。協作過濾(常用于電子商務場景)識別用戶與他們評價的品類之間的交互,從而推薦他們之前并未見過的新品類。基于內容的過濾(常被流媒體服務使用)識別有關用戶概況或品類描述的特點,以便推薦新內容。這兩種方法還可以組合成一種混合方法。
推薦系統使客戶在商家網站上停留的時間更長,他們與更多的產品/內容進行交互,并推薦客戶可能購買的產品或內容。下面,我們將介紹這個存儲庫是什么、如何為構建和實施推薦系統的數據科學家減少麻煩。
為數據科學家簡化流程
推薦算法GitHub存儲庫提供了用于構建推薦系統的示例和***實踐,以Jupyter筆記本的形式來提供。這些示例詳細介紹了我們對五項關鍵任務的了解:
- 數據準備:為每種推薦算法準備和加載數據。
- 建模:使用各種經典和深度學習推薦算法來構建模型,比如交替最小二乘(ALS)或極深因子分解機(xDeepFM)。
- 評估:用離線度量指標評估算法。
- 模型選擇和優化:為推薦模型調整和優化超參數。
- 運作:在Azure上的生產環境中運作模型。
reco utils中提供了幾個實用程序以支持常見任務,比如加載采用不同算法支持的格式的數據集,評估模型輸出,以及分割訓練/測試數據。實施了幾種***進的算法,用于自學或者在企業組織或數據科學家自己的應用環境中定制。
下圖顯示了存儲庫中可用的幾種推薦算法。我們總是在添加更多的推薦算法,請進入到GitHub存儲庫,查看***列表。
下面較詳細地介紹推薦算法存儲庫如何解決數據科學家的痛點。
1. 評估推薦算法的不同選項很耗時。
推薦算法GitHub存儲庫的一大優點是它提供了一組選項,顯示哪些算法最適合解決某些類型的問題。它還提供了如何在不同算法之間切換的粗略框架。如果模型性能準確度不夠,則需要一種更適合實時結果的算法,或者起初選擇的算法并非最適合使用的數據類型,數據科學家應換成不同的算法。
2. 選擇、理解和實施推薦算法系統的新模型可能成本很高。
從頭開始選擇合適的推薦算法并為推薦系統實施新模型可能成本很高,因為除了大量的計算能力外,還需要足夠的時間來訓練和測試。推薦算法GitHub存儲庫簡化了選擇過程,通過節省數據科學家測試許多不適合其項目/場景的算法方面的時間來節省成本。再結合Azure的各種定價選項,可降低數據科學家的測試成本和企業的部署成本。
3. 實施更先進的算法難度很大。
被要求構建推薦算法系統時,數據科學家常常將目光投向更常用的算法,以減少選擇和測試更先進算法所需要的時間和成本,即使這些更先進的算法可能更適合項目/數據集。推薦GitHub存儲庫提供了一套知名且***進的最適合某些場景的推薦算法。它還提供了***實踐;若遵循這些***實踐,可以更輕松地實施更先進的算法。
4. 數據科學家不熟悉如何使用Azure Machine Learning服務來訓練、測試、優化和部署推薦算法。
***,推薦算法GitHub存儲庫提供了有關如何在Azure和Azure Machine Learning(Azure ML)服務上訓練、測試、優化和部署推薦模型的***實踐。實際上,有幾個筆記本介紹了如何在Azure ML服務上的存儲庫中運行推薦算法。數據科學家還可以使用已創建的任何筆記本,將其提交給Azure,幾乎不需要更改。
Azure ML可廣泛用于與AI模型開發有關的任務,比如說:
- 超參數調整
- 跟蹤和監控度量指標,以改進模型創建過程
- 縱向擴展和橫向擴展DSVM和Azure ML Compute等計算
- 將Web服務部署到Azure Kubernetes服務
- 提交管道
原文標題:Building Recommender systems with Azure Machine Learning service,作者:Heather Spetalnick
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】