自動機器學習(AutoML)最新綜述

2021-09-19 22:32:07 字數 2752 閱讀 5435

機器學習的應用需要大量的人工干預,這些人工干預表現在:特徵提取、模型選擇、引數調節等機器學習的各個方面。automl 試圖將這些與特徵、模型、優化、評價有關的重要步驟進行自動化地學習,使得機器學習模型無需人工干預即可被應用。

作者從機器學習和自動化兩個角度給出了定義:

1. 從機器學習角度講,automl 可以看作是乙個在給定資料和任務上學習和泛化能力非常強大的系統。但是它強調必須非常容易使用;

2. 從自動化角度講,automl 則可以看作是設計一系列高階的控制系統去操作機器學習模型,使得模型可以自動化地學習到合適的引數和配置而無需人工干預。

乙個通用的 automl 定義如下:

automl的核心任務:

●   better performance

●  no human assistance

●  lower computation budgets

automl 的主要問題可以由三部分構成:特徵工程、模型選擇、演算法選擇。

特徵工程

特徵工程在機器學習中有著舉足輕重的作用。在 automl 中,自動特徵工程的目的是自動地發掘並構造相關的特徵,使得模型可以有最優的表現。除此之外,還包含一些特定的特徵增強方法,例如特徵選擇、特徵降維、特徵生成、以及特徵編碼等。這些步驟目前來說都沒有達到自動化的階段。

上述這些步驟也伴隨著一定的引數搜尋空間。第一種搜尋空間是方法自帶的,例如pca自帶降維引數需要調整。第二種是特徵生成時會將搜尋空間擴大。

模型選擇

模型選擇包括兩個步驟:選擇乙個模型,設定它的引數。相應地,automl的目的就是自動選擇出乙個最合適的模型,並且能夠設定好它的最優引數。

演算法選擇

對於演算法選擇,automl 的目的是自動地選擇出乙個優化演算法,以便能夠達到效率和精度的平衡。常用的優化方法有 sgd、l-bfgs、gd 等。使用哪個優化演算法、對應優化演算法的配置,也需要一組搜尋空間。

從全域性看

將以上三個關鍵步驟整合起來看,乙個完整的 automl 過程可以分成這麼兩類:一類是將以上的三個步驟整合成乙個完整的 pipeline;另一類則是 network architecture search,能夠自動地學習到最優的網路結構。在學習的過程中,對以上三個問題都進行一些優化。

一旦搜尋空間確定,我們便可以實用優化器(optimizer)進行優化。這裡,automl 主要回答三個問題:

●   選擇的優化器可以作用在哪個搜尋空間上?

●  它需要什麼樣的反饋?

●  為了取得乙個好的效果,它需要怎樣的配置?

簡單的優化搜尋方式包括 grid search 和 random search。其中 grid search 被廣泛使用。

從樣本中進行優化的方法主要包括啟發式搜尋、derivative-free 優化、以及強化學習方法。梯度下降法是一種重要的優化策略。

基本評價策略

在設計評價策略時,automl 主要回答三個問題:

●   這種策略能能夠快速進行評價嗎?

●  這種策略能夠提供準確的評價嗎?

●  這種策略需要怎樣的反饋?

基本的評價策略包括:

1. 直接評價:直接在目標資料上進行評價,這是被使用最多的策略;

2. 取樣:當資料樣本量非常大時,取樣一些樣本進行評價;

3. early stop:當遇到一些極端情況使得網路表現效果不好時,可以考慮進行 early stop;

4. 引數重用:將之前學習過的引數重複利用在新任務上,這在兩種任務配置差不多時可用;

5. 共軛評價:對於一些可量化的配置,可以用共軛評價法進行。

高階評價策略

高階評價策略主要包括兩種:meta-learning 和 transfer learning。

1. meta-learning 法:從先前的學習經驗中提煉出基本的引數和結構配置;

2. transfer learning 法:從先前的學習經驗中提煉出可以重用的一些知識。

●  使用 auto-sklearn 進行模型選擇;

●  使用強化學習進行 neural architecture search;

●  使用 explorekit 進行自動特徵構建。

未來可能的研究方向:

●   提高automl的效率;

●  更明確的問題定義;

●  發展基本和高階的搜尋策略;

●  找到更適合的應用。

原文發布時間為:2018-11-7

*****weekly」,了解相關資訊可以關注「

*****weekly」。

自動機器學習簡述(AutoML)

一 為什麼需要自動機器學習 二 超引數優化 hyper parameter optimization 三 元學習 meta learning 四 神經網路架構搜尋 neural architecture search 五 自動化特徵工程 六 其它自動機器學習工具集 對於機器學習的新使用者而言,使用機...

自動機器學習框架之二 AutoML

auto ml auto machine learning 自動機器學習是個寬泛的概念,有不只乙個軟體以此命名,本篇介紹的auto ml並非谷歌基於雲平台的 automl。本篇介紹的auto ml也是一款開源的離線工具,它的優勢在於簡單快速,且輸出資訊比較豐富。它預設支援keras tensorfl...

自動機器學習之Auto Keras入門

對於訓練深度學習,設計神經網路結構是其中技術含高最高的任務,優秀的網路架構往往依賴建構模型的經驗,專業領域知識,以及大量的算力試錯。實際應用中往往基於類似功能的神經網路微調生成新的網路結構。auto keras是乙個離線使用的開源庫,用於構建神經網路結構和搜尋超引數,支援rnn,cnn神經網路,它使...