應用機器學習時被遺忘的兩個步驟

AI前線發表於2018-12-06
應用機器學習時被遺忘的兩個步驟
譯者 | 郝毅
編輯 | Vincent
AI 前線導讀:對於某些應用,人類設計的 AI 系統會表現的無能為力。但是對於另一類應用,專家則可以設計一些智慧系統並保證其正確性;這些 AI 應用是節省成本和提高效能的最佳解決方案(例如,在某些安防應用中)。因此,保證機器學習決策結果的正確性是一個關鍵問題,本文針對該問題提出三點關鍵步驟。

更多幹貨內容請關注微信公眾號“AI 前線”,(ID:ai-front)

應用機器學習時被遺忘的兩個步驟

如何入門機器學習 (ML)

關於人工智慧(AI)和機器學習(ML)如何改變商業實踐的故事越來越多,資料科學從業者被要求僅用模糊的或高層次的商業目標來“應用機器學習”。在實施人工智慧和從資料中創造商業價值方面存在很大差距,資料科學中的許多尚未解決的問題是導致這些差距的原因。本文試圖展示 AI 從業人員和企業管理人員如何彌合這一差距。入門 AI 的順序不同於大多數人所想的,應該遵循以下步驟:

  • 設立目標

  • 分析資料

  • 定義模型

大多數人都會忽略前兩個步驟,而急於求成的同時往往會適得其反。通過仔細地分析需求、應用和商業約束之後,你將得到非常詳細的問題描述。這樣,就可以使用機器學習的知識來更好地解決問題。

1. 設立目標

如果沒有一個正確的目標問題,機器學習不一定能得到好的結果。使用機器學習前,需要明白自己追求的目標是什麼,並給它一個明確的定義。為了使用機器學習,在實際的商業案例中,需要做許多方面的評估和考察,但是首先,需要搞清楚的就是你期望的結果是什麼:

定義問題

目標結果需要足夠的詳細,你應當先問自己幾個這樣的問題:

  • 機器學習模型應該輸出什麼? 它是對觀察到的資料的預測,還是在某種情況下的行動建議?例如,你需要一個模組來幫助一個騎自行車的機器人在一條滑坡上保持平穩。那麼你是否需要一個模型來預測自行車在給定情況下的行駛狀態?或者是能夠最快調整自行車執行軌跡的模型?

  • 模型的預期計算速度應該是多少? 使用的軟硬體能否為機器學習模型的準確預測提供良好的平臺?

  • 模型的可擴充套件性如何? 回到上面關於自行車機器人的例子:你的模型是隻在某個特定型號的自行車上工作就行還是在多個不同的自行車上都能良好執行?

測量問題

假設有人給你一個預訓練的模型。我們需要先對其效能進行評估,比如對於給定的輸入,模型應當能輸出預期的結果,並且應當測量對於大量的輸入預訓練模型的預測成本是多少。

你還應該考慮如何向機器發出訊號,說明結果是好的。這可以像使用真偽機一樣簡單(例如,某個專案是否成功),或者更復雜的方法是由應用程式決定。

使用問題

從商業角度來看,這個問題值得解決嗎?

  • 消費者會樂意為 ML 技術買單嗎?

  • 或者 ML 能降低製造成本嗎?

  • 也許,使用 ML 只會提供額外的營銷優勢?(想想蘋果的 Siri)

應用 ML 需要在 ML 工程專業進行投資,以及基礎設施的設定和維護。因此一定要確認 ML 帶來的回報是否能夠支撐得起其成本。

訓練與測試

當你訓練一個模型時,你的目標是提高它的效能。在測試過程中,你只需使用一個預訓練模型來生成預測結果,但是模型不會學到任何新的東西。

重要的是要記住,測試的計算要求明顯小於訓練。要訓練一個模型,你需要訪問你所有的訓練資料,耗費很久的訓練時間。根據你的 ML 任務,一個更好的遊戲計算機可能提供足夠的計算能力來訓練你的模型;而在某些情況下,則可能需要一個計算叢集。一旦模型被訓練,你通常可以刪除大部分的訓練資料,並將模型儲存為一個小檔案。許多 ML 模型只需要很少的資源,例如嵌入式裝置或手機來測試。這已經暗示了訓練和測試的分離。

對於訓練過程,軟體基礎設施所需的複雜性和敏捷性比測試過程高得多。這種分離提供了訓練作為服務的商業模型(也稱為訂閱模型)。

2. 分析資料

AI 不能學到所有的東西,因此訓練過程需要大量的資料。主要考慮因素包括設計資料、資料可防衛性、資料採集、資料結構、資料清洗以及隱私和法律問題。良好資料的標準如下:

  • 可量化: 資料應當是可以量化的,可以使簡單的是或否的,或者是更詳細的測量結果。

  • 同分布:訓練資料應該服從獨立同分布。通常,這意味著確保你正在使用的資料集是一致測量和記錄的。當你收集更多的資料,你需要確保一致的測量。

  • 多樣性:你應該有一個足夠大的樣本大小以覆蓋整個空間的潛在結果。這應包括足夠的覆蓋範圍的罕見的事件,模型應當能夠區分隨機錯誤和罕見事件。例如,如果你想建立一個愛預測未來股票市場的崩潰,僅使用 2009 年至 2017 年的資料會限制太多。

  • 捕獲額外資料:一些額外資料會影響到模型的預測結果,因此需要採集這些資訊以產生良好的預測。打個比方,如果想要一輛汽車的價格,僅知道方向盤的大小和油箱容量是遠遠不夠的,如果知道里程和車型將更好預測它的價格。

3. 成功建模

這是管理人員希望使用 AI 的最初原因。在機器學習中,模型是非常重要的部分,機器學習研究者通常會在這方面積累很多。然而,機器學習的成功實施需要從一開始就將深層的戰略和設計整合起來。

簡而言之,在目標結果和資料限制未知時,不能盲目的設計一個機器學習模型。一個好的模型應該具備以下幾點:

  • 可行性和可用性:在給定的資料、技術約束和設計約束的情況下,目標問題是否有可能被解決?在沒有測試的情況下,很難解決先驗問題。

  • 可擴充套件性:這決定了模型的計算效率。當增加資料大小時,應當考慮到計算和訓練成本的增加。考慮到模型的擴充套件,基礎設施的成本是不可忽視的。

人工智慧的實現面臨的主要問題是商業和產品策略。這並不是說技術部分容易實現,而是技術約束往往是已知問題,是可以解決的。對於 AI,我們知道其能力,也知道它能夠完成哪些工作。

AI 和 ML 的未來仍存在一些不確定性。一般來說,即使是經驗豐富的資料科學家也不可能預測需要多少資料來訓練模型。此外,模型訓練過程中的微調也需要依靠豐富的經驗,以及訓練過程中模型對資料中的異常值敏感程度也難以掌握。

最後,將一個訓練過程從早期的原型移植到成熟的產品所需的時間具有高度的不確定性。這種情況下,需要記住大多數機器學習演算法具有很強的隨機性。即使在相同的資料集上訓練,模型的模型的表現也會有所差異,而在不同的資料集上訓練,這種差異會更大。一般來說,獲取資料需要巨大的時間成本,而自動化的模型訓練方法則在獲得一個成熟化的產品過程中起著不可或缺的作用。這就需要在最開始的原型階段由機器學習專家的人為的設定一些過程:資料清洗、對特定資料集的訓練過程的調整和自動模型選擇。

因此,將每個機器學習專案都是視為一個具有高風險和潛力的研究專案是明智的。機器學習不是魔法——它是一個非常強大的工具,但只有在一些需要它的應用上才能發揮作用。

檢視英文原文:

https://medium.com/axiomzenteam/the-two-steps-people-forget-to-take-when-applying-machine-learning-dc0e3797442b

相關文章