當前位置:
首頁 > 科技 > AutoML 壞掉了

AutoML 壞掉了

作者:Piotr Plonski在Netezza和IBM擔任過軟體工程師,擔任過iQor的數據科學家,華沙理工大學的助理教授,現為MLJAR公司創始人。

自動化機器學習壞掉了

本文闡述了反對實施機器學習解決方案的若干理由,並介紹了面臨的問題不是機器學習問題,可能使用優化就能加以解決的場景。

按照維基百科的解釋,自動化機器學習(AutoML)是指使運用機器學習處理實際問題的整個端到端過程實現自動化。

典型的機器學習應用包括:

數據預處理

特徵提取、工程和選擇

演算法選擇

超參數優化

好多步驟!AutoML旨在使它們實現自動化,那樣你就可以將寶貴的時間用於處理更具挑戰性的任務上。聽起來很酷,但果真如此嗎?不妨仔細看看......

開始之前,你的問題是什麼?

在開始構建機器學習管道(自動或手動)之前,你需要知道:

你想要實現什麼樣的目標?

你想要解決什麼樣的問題?

你真的需要機器學習嗎?

這非常重要!也許你不需要複雜的機器學習解決方案。許多問題不是機器學習問題。它們可能是優化問題、探索性數據分析任務,或者是用簡單的統計方法就能解決的問題。

好了,現在你確信自己需要機器學習。

三個數據問題:什麼?哪裡?怎樣?

然後,你需要數據!

你需要什麼數據!

你已經擁有它了(在某個地方)嗎?

你需要購買嗎?

你需要手動標記嗎?

數據位於何處以及如何可以訪問它?

如何合併多個源數據?(這可能很重要)

許多人表示,上面概述的這些步驟是構建機器學習解決方案過程中最耗費時間的,因此也是最耗費資金的。在生產環境中運行這部分至少需要某種基本的抽取、轉換和載入(ETL)。

讓我們訓練模型吧(這部分很簡單)

數據準備好後,就可以運用AutoML。只要點一下滑鼠,你就可以訓練成百上千個模型,隨後這些模型在雲端並行訓練。你最終會得到一組模型,或者甚至全部模型,它們經過訓練,就某個驗證方案而言可優化某個指標。最好的那個(全面調優)模型會比擁有默認超參數的單個模型好幾個百分點。全部模型讓你可以在接下來改進幾個百分點。假設你最終改進了10%至25%,相當好,是不是?!在相同的情況下,這可以轉化為巨大的投資回報――想想交易解決方案或信用評分任務。

模型複雜性

不過你最終會得到一個複雜的模型,有以下屬性:

難以理解的黑盒子(是的,你可以嘗試使用AI解釋器,努力解釋模型及其預測)

計算預測所需要的時間可能很長(以全部模型為例,你需要計算來自所有模型的預測)

難以維護......

機器學習維護

模型維護是什麼意思?嗯,僅僅訓練精確、花哨的AI/機器學習模型還不夠。想在生產環境中使用機器學習模型,你應該:

監控數據質量,意識到可能出現的漂移(比如如果是自然語言處理即NLP,語言需要多年才有顯著變化,但如果是客戶數據,可能幾天內就會變化)

監控預測(模型拿訓練中未見到的新數據來計算預測,因此沒人知道會發生什麼)

提供反饋迴路,可用於監控用途和模型再訓練。

無聊的軟體

訓練機器學習模型令人興奮!這是Tigger最喜歡的!圍繞機器學習構建軟體並不同樣令人興奮。機器學習模型在生產環境中運行所需要的無聊軟體包括:

為訓練和生產準備輸入數據所用的軟體――你的ETL解決方案

為服務機器學習模型、監控數據質量和反饋迴路所用的軟體

為請求機器學習模型拿新的數據記錄計算預測,並進行操作所用的軟體(是的,你需要用預測做一些事情,為此還需要代碼)

在本地運行機器學習時,最後兩個步驟通常聯繫起來。所有使用的軟體同樣需要一些維護。

用預測做什麼?

你已成功完成上述所有步驟。恭喜!你現在可以拿新的數據記錄來計算預測。可以用預測做什麼?

你可以用預測來獲取洞察力(我認為這是最容易的方法,實際上這根本不使用機器學習模型,這是探索性數據分析)

你可以用預測來執行操作。有很多可能性,比如可用於提交匯兌交易或向客戶發送電子郵件。我認為這是整條機器學習管道中最出色的部分。基於數據行事。

結論:

1. AutoML解決方案可以調整機器學習模型,並藉助某種驗證模式和數據來提高準確性。它可以節省大量時間,數據科學家通常需要大量的時間來檢查不同的演算法和驗證(你不需要編代碼、不需要檢查庫版本或介面)。當然,擁有AutoML是一大優勢,很有必要。然而在我看來,就算你有AutoML魔法箱子,也需要大量資源(資金、時間和人力)來處理貴公司的機器學習。

2. 你需要提供無聊的軟體來處理數據並利用機器學習預測。我認為,機器學習管道的這部分被低估了,實際上它是數據驅動型解決方案的主力部分。

3. 此外,很多時候你不需要複雜的高精度模型。我認為最好從一個儘可能簡單的模型入手,看看你是否可以將它運用於實際生活中,它是否為貴公司提供改進/投資回報。就連簡單的機器學習模型也應該勝過根本就沒有模型(隨機處理)。簡單模型比複雜模型有顯著優勢:它們對人類而言是可讀的(是的,你可以理解它在做什麼!)。

4. 使用機器學習來執行操作。你會感受到自動化帶來的便利。機器學習模型基於你的數據來自學(你不需要為它編代碼),然後它可以幫你預測未來。用它來執行操作。

5. 商用AutoML解決方案價格不菲(每年5萬至20萬美元),因此只有大企業才負擔得起。除此之外,你仍需要大量資源才能在公司成功地部署機器學習。我認為,中小企業需要等待,等到這項技術趨於成熟,變得更經濟實惠。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲頭條 的精彩文章:

Gartner:2019 年運營支持系統魔力象限

TAG:雲頭條 |