自動化機器學習或AutoML說明

2021-10-06 09:28:02 字數 2493 閱讀 9794

使用機器學習的兩個最大障礙(經典機器學習和深度學習 )是技能和計算資源。 您可以花錢解決第二個問題,要麼購買加速的硬體 (例如具有高階gpu的計算機),要麼租用雲中的計算資源(例如具有附加gpu,tpu和fpga)。

另一方面,解決技能問題比較困難。 資料科學家通常薪水很高,而且可能仍然很難招募。 google能夠在其自己的tensorflow框架上培訓許多員工,但是大多數公司幾乎沒有足夠的技術人員來自己構建機器學習和深度學習模型,更不用說教別人如何做了。

[在infoworld上深入學習機器學習 : 最好的機器學習和深度學習庫 |機器學習和深度學習的最佳開源軟體通過infoworld大資料和分析報告時事通訊深入分析和大資料。]

自動化機器學習(automl)旨在減少或消除對熟練的資料科學家建立機器學習和深度學習模型的需求。 相反,automl系統允許您提供標記的訓練資料作為輸入,並接收優化的模型作為輸出。

有幾種解決方法。 一種方法是該軟體可以簡單地在資料上訓練每種模型,然後選擇最有效的模型。 對此的一種改進是,它可以構建乙個或多個結合其他模型的整合模型,有時(但並非總是)可以提供更好的結果。

第二種技術是優化乙個或多個最佳模型的超引數,以訓練更好的模型。 特徵工程(也在下面進行說明)是任何模型訓練的寶貴補充。 降低深度學習技能的一種方法是使用轉移學習,本質上是為特定資料定製訓練有素的通用模型。

所有機器學習模型都有引數,這意味著模型中每個變數或特徵的權重。 這些通常是由誤差的反向傳播以及在優化程式(例如隨機梯度下降)控制下的迭代確定的。

大多數機器學習模型還具有在訓練迴圈之外設定的超引數。 這些通常包括學習率,輟學率和特定於模型的引數,例如「 隨機森林」中的樹木數量。

特徵是觀察到的現象的單個可測量屬性或特徵。 「特徵」的概念與解釋變數的概念有關,該解釋變數在諸如線性回歸之類的統計技術中使用。 特徵向量將單行的所有特徵組合為數值向量。 特徵工程是找到最佳變數集以及最佳資料編碼和規範化以輸入模型訓練過程的過程。

選擇特徵的部分技術是選擇一組最少的解釋問題的自變數。 如果兩個變數高度相關,則要麼需要將它們組合為乙個特徵,要麼應將其刪除。 有時人們執行主成分分析 ( pca ),將相關變數轉換為一組線性不相關變數。

要將分類資料用於機器分類,您需要將文字標籤編碼為另一種形式。 有兩種常見的編碼。

一種是標籤編碼 ,這意味著每個文字標籤值都用數字代替。 另一種是一鍵編碼 ,這意味著每個文字標籤值都將變成具有二進位制值(1或0)的列。 大多數機器學習框架都具有為您進行轉換的功能。 通常,單熱編碼是首選,因為標籤編碼有時會使機器學習演算法混淆,以為編碼列是有序的。

要將數字資料用於機器回歸,通常需要將資料標準化。 否則,範圍較大的數字可能趨於支配特徵向量之間的歐幾里得距離,其影響可能會以其他場為代價被放大,並且最陡的下降優化可能會難以收斂。 有多種方法可以對資料進行標準化和標準化,以進行機器學習,包括最小-最大標準化,均值標準化,標準化以及縮放至單位長度。 此過程通常稱為特徵縮放

。 人們用來構造新特徵或降低特徵向量維數的一些轉換很簡單。 例如,從year of deathyear of birth減去year of birthyear of death然後構建age at death,這是生命週期和死亡率分析的主要自變數。 在其他情況下, 特徵構造可能不是那麼明顯。

轉移學習有時稱為自定義機器學習,有時也稱為automl(主要由google)。 google cloud automl不會自動從資料中訓練模型,而是從頭開始, 而是實現自動深度傳輸學習(這意味著它從對其他資料進行訓練的現有深度神經網路開始)和神經體系結構搜尋(意味著它找到了額外的正確組合)網路層)用於語言對翻譯,自然語言分類和影象分類。

這與automl通常所指的過程是不同的,並且沒有涵蓋那麼多用例。 另一方面,如果您需要在受支援的區域中定製的深度學習模型,則轉移學習通常會產生更好的模型。

您可以嘗試許多automl實現。 有些是付費服務,有些是免費的源**。 以下列表絕不是完整的或最終的。

所有三大雲服務都具有某種automl。 amazon sagemaker會進行超引數調整,但不會自動嘗試多個模型或執行功能工程。 azure機器學習既具有遍歷功能和演算法的automl,也具有超引數調整功能,通常可以在automl選擇的最佳演算法上執行超引數調整。 正如我之前所討論的,google cloud automl是針對語言對翻譯,自然語言分類和影象分類的深度遷移學習。

adanet是乙個基於tensorflow的輕量級框架,可在最少的專家干預下自動學習高質量的模型。 auto-keras是由texas a&m開發的用於自動機器學習的開源軟體庫,它提供的功能可以自動搜尋深度學習模型的體系結構和超引數。 nni (神經網路智慧型)是microsoft提供的工具包,可幫助使用者以高效,自動的方式設計和調整機器學習模型(例如,超引數),神經網路體系結構或複雜系統的引數。

您可以在github上找到其他automl專案以及相當完整的有關automl的**列表 。

from:

自動化機器學習或AutoML說明

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

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

機器學習專案中最折騰人的環節是什麼?是特徵工程?是模型選擇?還是引數調優?先來看看機器學習專案實戰可劃分為哪幾個具體階段。我在 零基礎學機器學習 一書將機器學習專案的實戰過程歸納如下 問題定義,即抓準機器學習應用場景 資料準備和特徵工程 模型 演算法 的選擇 機器學習 訓練機器的過程 確定引數和超引...

自動機器學習簡述(AutoML)

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