阿里雲機器學習 AutoML 引擎介紹與應用
導讀 在演算法行業有這樣一種說法,80% 的時間用在做資料清洗和特徵工程,僅有 20% 的時間用來做演算法建模,其核心是在說明資料和特徵所佔比重之大。與此同時,越來越多的資料從業者們也希望能夠降低機器學習的入門門檻,尤其是降低對特定領域的業務經驗要求、演算法調參經驗等。基於這一背景,AutoML 應運而生。
本文將介紹:
1. 什麼是 AutoML
2. 超參調優(HPO)
3. 自動特徵工程(AutoFE)
4. 網路結構搜尋(NAS)
5. AutoML - 其它
分享嘉賓|孔維丹 阿里巴巴 高階技術專家
編輯整理|胡回 中南大學
出品社群|DataFun
什麼是 AutoML
1. 典型的機器學習流程圖
資料採集和預處理。 特徵工程。 模型選擇,在有了待 training 的資料之後我們會選擇一個模型來進行訓練。 模型調參,在模型訓練過程中有很多引數需要調整。 模型壓縮,為了提升推理效率(inference efficiency),要考慮對模型進行一些壓縮。 模型評估 & 部署,對壓縮後的模型進行評估,然後上線。
Hyperparameter Optimization(HPO)超參調優,主要針對模型調參,當然 HPO 也可以運用到整個流程中的各個階段。 AutoFE,主要針對特徵工程。 Neural Architecture Search (NAS) ,主要針對模型選擇模組,在做模型選擇的時候,可以考慮選擇現成的經典模型和經典模型的改造,也可以考慮從無到有創造出更適合應用的模型。
樹模型:
深度模型:Learning rate、batch_size、Learning rate decay、網路深度、卷積核大小等等。
窮舉法
機率模型
取樣演算法
0號:阿里內部的一個業務團隊,在使用 HPO 之前人工選擇的的超參。 1號、2號、3號:是透過使用 HPO 的服務以後,得到的超參的組合。 2號實驗有著最優的效果,1 號實驗在最終效果與 baseline 接近的情況下,使用的 tree_num 大幅減少。這也就意味著,線上上執行的時候會有更高的效率。
2 號實驗優於 0 號 baseline,如果業務方更關注線上的效果,那可以選擇 2 號實驗。 如果業務有效能或者資源限制的考量,可以選擇 1 號的實驗。 HPO 除了能夠幫找到最優的超參之外,還給我們提供了相同 metric 下效能效率更高的選項。
離散化。 歸一化。 數學運算。 統計特徵,計數、最大值、最小值等。在推薦場景中,統計特徵會有很好的效果。
數學運算。比如關注的是一個人是胖還是瘦,通常會使用 BMI 指標,這樣的指標就是典型的二元操作。 邏輯運算。比如有一列特徵是性別,還有一列特徵是年齡,那麼性別是男,且年齡在20 到 30 歲之間,這就是一個典型的交叉的邏輯特徵。 統計特徵。比如 Average A Group By Label,對於這個特徵而言,關注它和 Label 列直接的關係。這個特徵和 Label 直接交叉之後,可能會得到一個很強的特徵。
FeatureTools 與 DFS (Deep Feature Synthesis)
PAI – AutoFE:SAFE (Scalable Automatic Feature Engineering)
階段一:找到候選的特徵。 階段二:在這些候選特徵裡面剔除掉效果不好的特徵,保留效果好的特徵,然後再把它加到最終的表格裡面去。
執行 GBDT,得到多棵樹,以及每棵樹上會有一些分裂節點、具體的分裂值。 特徵組合篩選。透過分析 GBDT 樹的分支,可以得到特徵交叉的候選組合。而使用 GBDT 則可以把特徵組合候選量大幅降低。在有了這些候選特徵組合之後,還可以進一步地去做過濾,GBDT 給了資料集的劃分,對資料的特徵組合,可以去計算 IGR(資訊增益率),透過保留資訊增益率比較高的組合,可以進一步的減少組合的特徵。 特徵生成。得到了這些優秀的特徵以後,再透過執行運算子,生成新的特徵。 移除無用特徵,進一步最佳化。比如計算 information value(資訊價值),把 IV 值比較高的特徵給留下來。 再次執行 GBDT, 讓 GBDT 給每個特徵打分,透過 GBDT 得到的 feature importance(特徵重要性),保留最終特徵。
有向無環圖; 塊單元; 元結構。
強化學習 進化演算法 梯度最佳化 貝葉斯最佳化
全部訓練 部分訓練 全值共享 網路態射 超網路
ENAS 方法做了不同模型之間的權值共享,訓練不再從零開始,大大地提高了訓練的效率。 DARTS 方案,不再使用 reinforcement learning 的方法,而是重新設計了一個可微的網路,透過梯度下降的方法去尋找一個最優的網路結構。
OneShot 方法依舊需要大量的訓練。 搜尋的空間大:搜尋空間是一個 super net 超網路,而結果是在這個超網路上的一個子網路。
案例
無需訓練網路引數,搜尋代價幾乎為 0。 效率非常高。 在精度,模型大小,推理速度,計算量等指標上全面超越主流網路結構。
06
Q1:Auto FE 裡 IV 值高的特徵和 GBDT 選出的特徵有什麼關係,能相互印證嗎?
A1:在計算 IV 的時候,如果一些特徵比較強,跟其他特徵組合的時候,它會在多個特徵下面表現出IV值都很高,但是可能是重複的。而在 GBDT 有一個特點,如果兩個特徵一模一樣,那麼一個特徵很強的時候,另一個特徵的權重就會直接打到零。所以從這個角度上講, IV 值高不一定代表 GBDT 這邊最後選出來的特徵會是強。但是如果把上述情況剔除掉,那麼 IV 值高在 GBDT 的 importance 也相對高。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024924/viewspace-2936628/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Disruptor的簡單介紹與應用
- (一) 機器學習和機器學習介紹機器學習
- Numba編譯器的介紹與應用編譯
- 機器學習之PageRank演算法應用與C#實現(1):演算法介紹機器學習演算法C#
- LIBGDX遊戲引擎平臺介紹與搭建遊戲引擎
- GCanvas 渲染引擎介紹GCCanvas
- 機器學習探索之路1:機器學習相關工具介紹與安裝機器學習
- Sqlite 介紹及應用SQLite
- 機器學習之簡單介紹啟用函式機器學習函式
- ES6 let 與 const的應用介紹
- Apache Doris設計思想介紹與應用場景Apache
- 搜尋引擎框架介紹框架
- MySQL·引擎特性·InnoDBChangeBuffer介紹MySql
- less的介紹和應用
- Azure - 機器學習企業級服務概述與介紹機器學習
- 自動機器學習簡述(AutoML)機器學習TOML
- 最通俗的機器學習介紹機器學習
- 機器學習基本函式介紹機器學習函式
- 區塊鏈信用機制與應用場景介紹區塊鏈
- Linux /dev 常見特殊裝置介紹與應用Linuxdev
- pandas agg函式的詳細介紹與應用函式
- javascript簡單模板引擎介紹JavaScript
- MySQL 5.5儲存引擎介紹MySql儲存引擎
- Android 應用程式元件介紹Android元件
- Lucene介紹及簡單應用
- Python 應用剖析工具介紹Python
- Rsync原理介紹及配置應用
- RPM 的介紹和應用
- 阿里雲 Serverless 應用引擎(SAE)釋出 v1.2.0阿里Server
- 疊層貼片電感特性介紹與應用gujing
- Libevent應用 (零) Libevent簡單介紹與安裝
- 機器學習入門之sklearn介紹機器學習
- Redis HyperLogLog介紹及應用Redis
- 正交多項式介紹及應用
- call、apply、bind應用的介紹APP
- Azure Container App(一)應用介紹AIAPP
- 經典資料分析應用介紹
- arguments的應用示例簡單介紹