調參太費力?自動化機器學習(AutoML)來了!

2021-10-18 04:18:07 字數 2036 閱讀 1903

機器學習專案中最折騰人的環節是什麼?是特徵工程?是模型選擇?還是引數調優?

先來看看機器學習專案實戰可劃分為哪幾個具體階段。

我在《零基礎學機器學習》一書將機器學習專案的實戰過程歸納如下:

問題定義,即抓準機器學習應用場景

資料準備和特徵工程

模型(演算法)的選擇

機器學習(訓練機器的過程),確定引數和超引數

評估和效能優化

在專案實戰中,這些步驟還需要反覆迭代,以實現最優的效果。待到機器學習模型訓練完畢,引數都確定後,還要進行最後的部署,讓模型在生產系統中上線工作。

上面的流程中,模型的選擇和構建是關鍵。不過最耗時的,要數特徵工程和超引數調優,以及模型的上線部署環節。

特徵工程的麻煩,引數調優之苦惱,資深的機器學習調包俠和煉丹師們一定早有體會。但是機器學習模型的部署過程難度何在呢?主要在於演算法需要針對每個不同的實際場景進行配置和調整,因此經常變動,這使得部署過程也非常耗費人工,效率不高且容易出錯。有時候會因為趕時間,過早將模型從實驗階段轉移到生產階段,導致它們發揮不出最佳效果;也有時會因為花了太多時間進行引數調優導致部署延遲。

如何解決這幾個痛點?

隨著機器學習的普及,近年來自動化機器學習(automated machine learning, automl)框架開始出現在煉丹師們的視野之中。automl的目的是盡可能將特徵工程、引數配置、模型選擇以及上線部署過程自動化,使整個機器學習專案變得更加高效。

自動機器學習包括下面內容:

原來由手工完成的各個機器學習環節都可以通過自動化機器學習框架進行。

機器學習演算法的效能很大程度上取決於資料特徵的質量。對於資料科學家來說,特徵工程是一項勞動密集型的工作,涉及大量的試驗,深厚的領域知識。自動化特徵工程的目的是通過不斷迭代、調整,自動建立出新的特徵集,直到模型達到令人滿意的準確性為止。

下面就列出並簡要描述一些自動特徵功能工程的框架,這些框架可以用於結構化的事務和關係資料集。

不過,自動化特徵工程仍是一項艱鉅的任務。而且,有一些資料科學家並不贊成特徵工程的自動化,認為有可能產生不正確的結果,或會生成錯誤的標籤以非透明的方式對資料進行分類。因此,應謹慎使用自動化特徵工程工具,並抽查自動特徵工程結果是否有意義。

對資料特徵進行預處理後,就到了機器學習演算法的尋找和選擇的環節。機器學習演算法的目的是根據資料特徵來訓練機器模型,以**新資料的標籤值。

典型機器學習模型包括:

每種演算法都適合於特定型別的問題。通過自動化模型選擇工具,可以針對手頭的特定任務,遍歷所有合適的模型,並選擇產生最高準確性或最低誤差的模型。

當然,沒有一種機器學習演算法在所有資料集上都能有最佳表現,而且超引數調整過程也必不可少。實際上,在模型選擇過程中,調包俠們會嘗試使用不同的變數,不同的係數或不同的超引數。這個過程極大的考驗他們的經驗、技巧和耐心。

因此,下列自動選擇模型和超引數調整的automl框架將可能會是調包俠們的救星:

在深度學習時代,設計和構建神經網路架構是機器學習世界中最繁瑣的任務之一。針對各種不同的場景,煉丹師們總是要嘗試遍歷各種不同神經網路架構,以優化手頭任務的目標函式。這是非常耗時並且經常容易出錯的工作。有時以及調好的網路會因為資料的一點點變化而突然神秘的變得不再好用……

google最近提出了採用進化演算法和強化學習來實現神經網路搜尋的想法,以找到最佳的神經網路體系結構。從本質上講,這是在訓練過程中建立乙個個的層,然後堆疊這些層以建立出適宜的深度神經網路體系結構。

最近,該領域的研究引起了很多關注,值得一提的著名研究**包括:

一般來說,調包俠和煉丹師們會把機器學習專案的焦點集中在演算法的開發和引數的除錯上,而模型的部署和在產品中的執行則很少被提及。不過,其中也存在諸多的挑戰。

因此,也有些公司和開源專案正在嘗試自動部署的自動化,對於並不了解devops的調包俠和煉丹師們來說,這些工具其實大有用途:

好了,上面把從資料收集特徵工程、模型選擇、引數除錯,到生產部署過程中的自動化機器學習框架和當前可用的automl工具幾乎全都擼了一遍,如果你頗有興趣,可以參照我在每乙個工具後面附註的資料鏈結進行深入的學習!最後,祝各位調包俠和煉丹師專案實戰成功。

機器學習之權重 偏置自動調參

這段時間在學習神經網路相關的內容,神經網路的演算法裡面只要給定它特徵值丟進去,演算法就會自身跟新權重和誤差 偏置 其實學習機器學習內容的時候,我對這些演算法過程是理解的,但是我對細節是模糊的。所以,我需要寫點 在電腦裡面跑一下,自己才能領會到演算法的真正含義。那麼,下面我就列舉乙個輸入為二維的特徵值...

自動掃雷機器學習 機器學習 自動調參器設計實現

現在人工智慧發展很火熱,各種開源框架越發完善,使用者的學習門檻越來越低,用python簡單的幾十行 就能實現乙個人工智慧應用,這些便利性都是建立在各路大神不斷提出新的演算法並開源出封裝包的基礎上的。所以,現在很多機器學習工程師都自嘲為 調包俠 但是,要做一名合格的 調包俠 也是需要深刻理解各類機器學...

自動化機器學習或AutoML說明

使用機器學習的兩個最大障礙 經典機器學習和深度學習 是技能和計算資源。您可以花錢解決第二個問題,要麼購買加速的硬體 例如具有高階gpu的計算機 要麼租用雲中的計算資源 例如具有附加gpu,tpu和fpga 另一方面,解決技能問題比較困難。資料科學家通常薪水很高,而且可能仍然很難招募。google能夠...