什么是自動機器學習
機器學習是一門多領域交叉學科,涉及概率論、統(tǒng)計學、逼近論、凸分析、算法復雜度理論等多門學科。專門研究計算機怎樣模擬或實現(xiàn)人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。它是人工智能核心,是使計算機具有智能的根本途徑。
機器學習是一門多學科交叉專業(yè),涵蓋概率論知識,統(tǒng)計學知識,近似理論知識和復雜算法知識,使用計算機作為工具并致力于真實實時的模擬人類學習方式,并將現(xiàn)有內容進行知識結構劃分來有效提高學習效率。
機器學習有下面幾種定義:
(1)機器學習是一門人工智能的科學,該領域的主要研究對象是人工智能,特別是如何在經(jīng)驗學習中改善具體算法的性能。
(2)機器學習是對能通過經(jīng)驗自動改進的計算機算法的研究。
(3)機器學習是用數(shù)據(jù)或以往的經(jīng)驗,以此優(yōu)化計算機程序的性能標準。
自動機器學習(AutoML)旨在通過讓一些通用步驟(如數(shù)據(jù)預處理、模型選擇和調整超參數(shù))自動化,來簡化機器學習中生成模型的過程。AutoML是指盡量不通過人來設定超參數(shù),而是使用某種學習機制,來調節(jié)這些超參數(shù)。這些學習機制包括傳統(tǒng)的貝葉斯優(yōu)化,進化算法,還有比較新的強化學習。當我們提起AutoML時,我們更多地是說自動化數(shù)據(jù)準備(即數(shù)據(jù)的預處理,數(shù)據(jù)的生成和選擇)和模型訓練(模型選擇和超參數(shù)調優(yōu))。這個過程的每一步都有非常多的選項,根據(jù)我們遇到的問題,需要設定各種不同的選項。
對于機器學習的新用戶而言,使用機器學習算法的一個主要的障礙就是算法的性能受許多的設計決策影響。隨著深度學習的流行,工程師需要選擇相應的神經(jīng)網(wǎng)絡架構、訓練過程、正則化方法和超參數(shù)等等,所有的這些都對算法的性能有很大的影響。于是深度學習工程師也被戲稱為調參工程師。自動機器學習的目標就是使用自動化的數(shù)據(jù)驅動方式來做出上述的決策。用戶只要提供數(shù)據(jù),自動機器學習系統(tǒng)自動的決定最佳的方案。領域專家不再需要苦惱于學習各種機器學習的算法。自動機器學習不光包括大家熟知的算法選擇,超參數(shù)優(yōu)化,和神經(jīng)網(wǎng)絡架構搜索,還覆蓋機器學習工作流的每一步。自動機器學習的用處就在于此,它幫助研究人員和從業(yè)者自動構建機器學習管道,將多個步驟及其對應的多個選項集成為工作流,以期快速找到針對給定問題的高性能機器學習模型。
AutoML的基本過程:虛框是配置空間,包括特征、超參數(shù)和架構;左邊訓練數(shù)據(jù)進入,上面的優(yōu)化器和它相連,定義的測度發(fā)現(xiàn)最佳配置,最后出來的是模型;測試數(shù)據(jù)在模型中運行,實現(xiàn)預測的目的。
從ML角度看AutoML:從這個角度來看,AutoML本身也可以看作是一種學習工具,它對輸入數(shù)據(jù)(即E)和給定任務(即T)具有良好的泛化性能(即P)。然而,傳統(tǒng)的ML研究更多地關注發(fā)明和分析學習工具,它并不關心這些工具的使用有多容易。一個這樣的例子恰恰是從簡單模型到深度模型的最新趨勢,它可以提供更好的性能,但也很難配置。相比之下,AutoML強調了學習工具的易用性。
從自動化角度看AutoML:另一方面,自動化是使用各種控制系統(tǒng)在構建模塊下運行。為了更好地預測性能,ML工具的配置應該通過輸入數(shù)據(jù)適應任務,這通常是手動執(zhí)行的。如圖所示,從這個角度來看,AutoML的目標是在學習工具下構建高級控制方法,以便在沒有人工幫助的情況下找到正確的配置。