自動機器學習:團隊如何在自動學習項目中一起工作?(附鏈接)

  • 2020 年 2 月 20 日
  • 筆記

來源 | 數據派THU

作者 | Francesca Lazzeri

翻譯 | 王琦

責編 | Carol

出品 | AI科技大本營(ID:rgznai100)

去年11月,我寫了一篇關於使用自動機器學習來進行AI民主化(democratization)的文章(見下面鏈接)。

附鏈接:

https://medium.com/microsoftazure/democratize-artificial-intelligence-with-automated-machine-learning-169b348a9509

在今天這篇文章中,我將會向你展示自動機器學習的用例(發布在Github上了,見下面鏈接)。本文介紹了在零售商工作的數據科學家、項目經理和業務主管利用自動機器學習和Azure機器學習服務來減少產品庫存過剩的具體過程。

附鏈接:

https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/forecasting-orange-juice-sales/auto-ml-forecasting-orange-juice-sales.ipynb?WT.mc_id=azuremedium-blog-lazzeri

此外,本文還介紹了數據科學家、項目經理和業務主管各自如何使用自動機器學習來改進團隊合作和學習,並促進數據科學新方案的成功實現。

當談到在組織里執行機器學習項目時,數據科學家、項目經理和業務主管需要一起工作來部署最好的模型,從而滿足特定的業務目標。這一步的中心目標就是識別出需要在分析中預測的關鍵業務變數。我們將這些變數看成模型的目標,然後使用和它們相關的指標來確保項目的成功。

在這個用例中(該用例對公眾開放,發布在GitHub上),我們將會看到在零售商工作的數據科學家、項目經理和業務主管如何利用自動機器學習和Azure機器學習服務來減少商品的庫存過剩。Azure機器學習服務是一個你可以用來訓練、部署、自動化和管理機器學習模型的雲服務,所有這些都可以在雲提供的範圍內進行。Azure機器學習服務中的自動機器學習是獲取已定義目標特徵的訓練數據,並通過演算法組合和特徵選擇進行迭代,從而基於訓練分數來為你的數據自動選擇最好模型的過程。

多餘的庫存很快就變成了一個流動性問題,除非我們通過折扣和促銷來減少利潤,否則它就不能轉換成現金。或者更糟糕的是,當其累計到一定程度被送到其他渠道比如經銷店,這會延遲其銷售。提前確定哪些產品不會達到他們期望的周轉水平,並通過與銷售預測相符的庫存補給來控制補貨,這是幫助零售商實現投資回報率(ROI)的關鍵因素。讓我們看看團隊如何著手解決這個問題以及自動機器學習如何使整個公司的AI民主化。

為公司確定正確的業務目標

正確的產品組合和庫存水平可以取得豐厚的銷售額和利潤。要實現這一理想組合,就需要擁有最近的、準確的庫存資訊。手動處理不僅花費時間,導致當前的、準確的庫存資訊的延遲,而且增加了出錯的可能性。這些延遲和錯誤很可能會由於庫存過剩、庫存不足和缺貨而導致收入損失。

庫存過剩也可能佔用寶貴的倉庫空間,並佔用本應用於購買新庫存的現金。但以清算模式出售過剩的庫存可能會引起一系列問題,例如損害聲譽和衝擊其他現有同類產品的銷售。

作為數據科學家與業務運營之間橋樑的項目經理,與業務主管聯繫,討論使用其內部的、以往的銷售額中的一部分來解決其庫存過剩問題的可能性。項目經理和業務主管通過詢問和完善與業務目標相關的具體問題來定義項目目標。

此階段主要有兩個任務:

  • 定義目標:項目經理和業務主管需要識別業務問題,最重要的是,提出問題以定義數據科學技術可以針對的業務目標;
  • 識別數據源:項目經理和數據科學家需要找到相關數據來幫助回答定義項目目標的問題。

尋找正確的數據和流水線

這一切都要從找數據開始。項目經理和數據科學家需要識別包含業務問題答案的已知示例的數據源。 他們尋找以下類型的數據:

  • 與問題相關的數據。 他們是否有針對目標的指標以及與目標相關的特徵?
  • 可以準確衡量其模型目標和感興趣特徵的數據。

在此階段,數據科學家需要解決三個主要的任務:

  • 將數據應用到目標的分析環境中;
  • 探索數據以確定數據品質是否足以回答問題;
  • 建立數據流水線以對新數據或定期刷新的數據進行評分。

在將數據從源位置移動到可以運行分析操作的目標位置之後,數據科學家開始處理原始數據來產生乾淨的、高品質的數據集,該數據集與目標變數的關係是被充分理解的。在訓練機器學習模型之前,數據科學家需要對數據有充分的了解,通過創建數據摘要和可視化來審核數據的品質,並在準備好建模之前提供處理數據所需的資訊。

最後,數據科學家還負責開發數據流水線解決方案的架構,該架構會定期對數據進行刷新和評分。

通過自動機器學習預測橙汁的銷售

數據科學家和項目經理決定使用自動機器學習有以下幾個原因:自動機器學習讓有或沒有數據科學專業知識的客戶都能針對任何問題來確定端到端機器學習的流水線,從而在花費更少時間的同時來取得更高的準確性。 而且,它還可以運行大量實驗,從而加快了面向生產就緒型的智慧經驗的迭代。

讓我們看看使用自動機器學習進行橙汁銷售預測的過程如何實現這些好處。

在對業務目標以及應使用哪種類型的內部的以往數據來達成目標達成一致後,數據科學家將創建一個工作區。該工作區是該服務的頂級資源,為數據科學家提供了一個集中的地方來處理他們需要創建的所有工件。在Azure機器學習服務中創建工作區時,會自動添加以下Azure資源(如果它們在區域中可用):

  • Azure容器註冊表
  • Azure存儲
  • Azure應用程式洞見
  • Azure密鑰保管庫

要運行自動機器學習,數據科學家還需要做一個實驗。實驗是工作區中的一個命名對象,它代表一個預測性任務,該任務的輸出是經過訓練的模型和該模型的一組評估指標。

數據科學家現在已經準備好載入以往的橙汁銷售數據,並將CSV文件載入到簡單的pandas 中的DataFrame類型中。CSV中的時間列稱為WeekStarting ,因此它會被專門地解析為日期時間類型。

DataFrame中的每一行表示某個商店中某個橙汁品牌的每周銷售量。數據還包括銷售價格、用來顯示橙汁品牌每周是否在商店中做廣告的標記以及基於商店位置的一些客戶人口統計資訊。由於歷史原因,該數據還包括銷售數量的對數。

我們目前的任務是為「數量」列構建時間序列模型。重要的是我們要注意到該數據集由許多單獨的時間序列組成;每個時間序列都是針對商店和品牌的唯一組合。 為了區分各個時間序列,我們定義了grain,grain是其值能夠確定時間序列之間邊界的列。

為了以後的預測效果評估,我們將數據分為訓練集和測試集。在這之後,數據科學家開始建模來執行預測任務,並且自動機器學習使用針對時間序列的預處理和估計步驟。自動機器學習將執行以下預處理步驟:

  • 檢測時間序列樣本的頻率(例如每小時、每天、每周),並為不存在的時間點創建新記錄來讓序列變得有規律。 有規律的時間序列具有定義明確的頻率,並且在連續的時間間隔中的每個取樣點都有一個值;
  • 通過正向填充(forward-fill)和特徵列的列中位數來估算目標中的缺失值;
  • 創建基於grain的特徵來實現不同序列之間的固定效應;
  • 創建基於時間的特徵來協助季節性模式的學習;
  • 將分類變數編碼為數字量。

對於一個自動機器學習訓練任務,AutoMLConfig對象定義了設置和數據。以下是用於訓練橙汁銷售預測模型的自動機器學習配置參數的概要:

訪問GitHub以獲取有關預測的更多資訊(見下面鏈接)。每次迭代都在實驗中運行,並存儲來自自動機器學習迭代的序列化的流水線,直到它們找到在驗證集上表現最佳的流水線為止。

附鏈接:

https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/forecasting-orange-juice-sales/auto-ml-forecasting-orange-juice-sales.ipynb?WT.mc_id=azuremedium-blog-lazzeri

評估完成後,數據科學家、項目經理和業務主管再次會面以檢查預測結果。項目經理和業務主管的工作是了解輸出並根據這些結果選擇實際步驟。 業務主管需要確認最佳模型和流水線以滿足業務目標。此外,機器學習解決方案以可接受的準確性回答了把系統部署到生產中的各種問題,以供內部銷售的預測應用程式使用。

微軟在自動機器學習上的投資

自動機器學習基於Microsoft Research部門的一項突破。該方法結合了協同過濾和貝葉斯優化的思想,可以智慧、高效地搜索可能的機器學習流水線的巨大空間。

現在,它作為Azure機器學習服務的一部分提供給你。正如你在此處所看到的,無論有無數據科學專業知識,自動機器學習都可以使客戶確定端到端機器學習流水線,以解決任何問題,並在提高準確性的同時節省時間。它還可以運行大量實驗並加快迭代速度。自動機器學習如何使你的組織受益?你的團隊如何使用機器學習來更緊密地合作從而達到業務目標?

資源

  • 了解有關Azure機器學習服務的更多資訊: https://docs.microsoft.com/en-us/azure/machine-learning/service/?WT.mc_id=azuremedium-blog-lazzeri
  • 了解有關自動機器學習的更多資訊: https://docs.microsoft.com/en-us/azure/machine-learning/concept-automated-ml
  • 開始免費試用Azure機器學習服務: https://azure.microsoft.com/en-us/trial/get-started-machine-learning/?WT.mc_id=azuremedium-blog-lazzeri

作者簡介: Francesca Lazzeri是一位機器學習科學家、作家和演講者。她領導著一支由微軟的雲倡導者、數據科學家和開發人員組成的國際團隊。加入微軟之前,她是哈佛大學技術與運營管理部門的研究員。她還是微軟「Women@NERD」協會的董事會成員、麻省理工學院和哥倫比亞大學的數據科學導師以及AI社區的活躍成員。

【end】