人工智能現在在每個人的腦海中。成熟的公司正在擾亂自己,並且正朝着成為數據驅動型組織的方式緩慢轉變,而創業公司需要實施清晰有效的數據戰略才能實現相關性。

雖然現在大小公司普遍接受採用數據戰略的必要性,但仍存在一個共同的挑戰:如何構建和管理機器學習項目?

本文提供了一個框架來幫助您管理機器學習項目。當然,您必須根據公司的具體需求進行調整,但它會讓您朝着正確的方向前進。

為什麼我需要AI策略?

當然,我們需要從為什麼開始。為什麼在公司內部制定人工智能戰略很重要?

機器學習項目中的問題是有很多方法可以改善模型的性能:

  • 收集更多數據
  • 訓練算法較長時間
  • 更改模型的體系結構
  • 獲得更多樣化的培訓集

但是,追求錯誤的策略會導致重要的時間和金錢損失。您可能需要花費六個月的時間來收集更多用於培訓的數據,但卻意識到它幾乎沒有改進您的模型。同樣地,你可以盲目地訓練你的模型更長時間(並支付額外的計算時間),並且根本看不到任何改進。

因此,定義明確的人工智能戰略的重要性。它將有助於提高團隊效率並提高AI項目的投資回報率。

正交

最有效的機器學習從業者清楚地了解要調整什麼以獲得更好的結果。

正交化是指具有非常特定功能的控制。

例如,辦公椅有一個槓桿可以上下移動,而椅子上的輪子使它可以水平移動。在這種情況下,槓桿是具有升高和降低椅子功能的控制器。輪子形成一個控制器,具有水平移動椅子的功能。

因此,這些控件據說是正交的:在椅子上滾動椅子不會降低它,就像拉動椅子上的槓桿一樣不會讓它向後移動。

必須將相同的概念應用於機器學習項目。對項目的單個修改必須對單個方面產生影響。否則,你將在一個區域內進行改進,但會降低另一個區域的性能,並且項目將被卡住。

這如何轉化為AI項目?

首先,我們必須考慮機器學習中的假設鏈。

機器學習中的假設鏈

假設如果模型在訓練集上表現良好,那麼它將在開發集上表現良好,然後它將在測試集上表現良好,然後它將在現實世界中表現良好。

這是AI項目中相當常見的假設列表。現在,該模型在其中一種情況下表現不佳?

  • 訓練集:訓練更大的網絡或改變優化算法
  • 開發集:使用正則化或更大的訓練集
  • 測試集:使用更大的開發集
  • 真實世界:更改開發集分布(稍後更多)或更改成本函數

上面的列表給出了明確的正交控制,以在非常特定的情況下改進模型。一旦您的模型在一組上表現良好,繼續在另一組中進行改進。

現在,您如何知道您的模型是否表現良好?

設定目標

如上所述,您需要一個明確的目標來確定模型是否表現良好。因此,設置評估指標以及滿足和優化指標的重要性。

單號評估指標

具有單個評估度量允許更快地評估算法。

例如,通常對分類器使用精度和調用。但是,這兩個指標之間存在折衷。相反,使用F1分數,這是精度和召回的調和平均值。因此,使用單個度量,並且更容易評估不同模型的質量並且加速迭代。

滿意並優化指標

獲得單一評估指標後,通常會跟蹤其他重要指標。

例如,您可能希望構建一個F1分數至少為0.90且運行時間小於200毫秒的分類器。在這種情況下,F1分數是優化度量,而運行時是令人滿意的度量。

優化指標通常與評估指標相同,您應該只有一個優化指標。其他感興趣的指標將是令人滿意的指標,並將幫助您選擇滿足優化指標的整體最佳模型。

培訓,開發和測試集

上面提到了火車,開發和測試裝置,但它們究竟是什麼?

訓練和開發(或保持)集用於訓練模型。訓練集通常用於使模型適合數據,開發集用於進行預測和調整模型。

然後,測試集是實際數據的一個示例,您可以在其中測試算法以查看它將如何執行。

培訓/開發/測試分發

擁有不同的數據集後,必須確保分布代表您希望將來獲得的數據。

例如,如果您希望創建一個模型來標記來自移動上傳的圖像,那麼從互聯網上訓練模型到高分辨率圖像是沒有意義的。移動上傳的分辨率可能較低,圖片可能會模糊,對象可能無法完美居中。因此,train / dev / test集應包含該類型的圖像。

此外,您希望每個集合來自同一分布。例如,您正在構建模型來預測客戶流失,並且6%的數據集包含流失實例。然後,您的火車,開發和測試集也應該有大約6%的數據作為流失實例。

訓練/開發/測試大小

每套應該有多大?

通常,對於列車/開發/測試集,拆分過去分別為60/20/20。如果數據不是很豐富,這仍然有效。

但是,在您有數百萬個實例的情況下,更合適的拆分將是98/1/1,因為該模型仍可在超過10,000個數據點上進行驗證。

與人類表現相比

最近,我們開始看到AI系統優於人類或非常接近人類表現的頭條新聞。

不幸的是,人類在很多任務上都非常擅長,並且很難讓AI系統接近我們的表現。需要大量數據,並且您的模型的性能最終將達到穩定水平,從而難以改進。

不過,我該如何改進模型?

如果您的模型過度擬合,您可以通過以下方式減少差異:

  • 收集更多數據
  • 正規化(L2,輟學,數據增加)
  • 改變模型

如果您的模型不適合數據,則必須通過以下方式減少偏差:

  • 培養更大或更複雜的模型
  • 使用更好的優化算法或訓練更長時間
  • 改變模型

如果上述方法都沒有產生重大影響,那麼下一步就是獲取人類標記的數據。雖然代價高昂且艱巨,但這一步將使您的模型儘可能接近人類級別的表現。

最後的話

構建AI系統是一個迭代過程。快速構建,測試和改進非常重要。不要一開始就建立一個非常複雜的系統,但不要構建太簡單的東西。


我希望這有助於您更好地管理和規劃您的AI項目。人工智能在許多行業中的潛力巨大,抓住這個機會非常重要。擁有明確的人工智能策略將幫助您衝浪,而不是被吞沒。

本文轉自 towardsdatascience,原文地址