欧美亚洲自拍偷拍_日本一区视频在线观看_国产二区在线播放_亚洲男人第一天堂

二維碼
企資網(wǎng)

掃一掃關注

當前位置: 首頁 » 企資快報 » 服務 » 正文

推薦這三個超參優(yōu)化庫(附python代碼)

放大字體  縮小字體 發(fā)布日期:2021-08-26 02:58:32    作者:媒體小英    瀏覽次數(shù):43
導讀

在傳統(tǒng)的算法建模過程中,影響算法性能的一個重要環(huán)節(jié)、也可能是最為耗時和無趣的一項工作就是算法的調參,即超參數(shù)優(yōu)化(Hyper-parameter Optimization,HPO),因此很多算法工程師都會調侃的自稱"調參俠"。近期在

在傳統(tǒng)的算法建模過程中,影響算法性能的一個重要環(huán)節(jié)、也可能是最為耗時和無趣的一項工作就是算法的調參,即超參數(shù)優(yōu)化(Hyper-parameter Optimization,HPO),因此很多算法工程師都會調侃的自稱"調參俠"。

近期在研究一些AutoML相關的論文和實現(xiàn),而在AutoML中的一個核心組件就是HPO。借此機會,本文梳理總結Python中三種常見的可實現(xiàn)HPO的庫,并提供一個簡單的示例。

HPO,全稱Hyper-parameter Optimization,即超參優(yōu)化。之所以做這項工作是出于機器學習領域的兩個基本事實:

no free lunch。即天下沒有免費午餐,用在機器學習領域是指沒有一種算法可以適用于所有的機器學習問題,換言之A算法可能在這個數(shù)據(jù)集上表現(xiàn)最優(yōu),但在另一個數(shù)據(jù)集上表現(xiàn)最好的則是另一個B算法。

對于同一算法,不同的超參數(shù)可能對算法性能影響很大。例如線性模型中的正則化系數(shù)、決策樹模型中樹的最大深度等,這些都屬于模型擬合之外的參數(shù),需要認為指定,故而稱之為超參數(shù)。

正因如此,所以算法工程師們在提升算法性能時常常需要對比多個模型,同時在各模型內部又要調整多組超參,以期實現(xiàn)最優(yōu)效果。在這個超參調優(yōu)過程中,當前的實現(xiàn)方式主要是如下三種:

最為簡單也最為熟知的莫過于網(wǎng)格搜索,在sklearn中的實現(xiàn)是GridSearch,通過對各超參數(shù)提供所有可能的候選值,該算法會自動暴力嘗試所有可能的超參組合,并給出最佳結果。該實現(xiàn)方法直觀易懂,但缺點也很明顯,那就是效率不高,而且只能接受離散取值

與網(wǎng)格搜索類似、但不再暴力枚舉的一種方法是隨機搜索,其優(yōu)化過程其實也更為簡單:即對每個超參數(shù)均隨機選取一個候選值,而后組成一次隨機抽選的超參組合。最后返回所有隨機嘗試后的最優(yōu)組合。這種方法實現(xiàn)簡單,搜索次數(shù)可大可小,但卻往往能取得不錯的效果。但所得到的最好結果可能不是最優(yōu)解。

貝葉斯優(yōu)化。除了網(wǎng)格搜索和隨機搜索外,貝葉斯優(yōu)化可能是目前最為理想和高效的超參優(yōu)化(從其名字可以看出,這類方法跟貝葉斯大神有一定關系,大概是由于其中要用到的代理函數(shù)與貝葉斯后驗概率有關吧)。基于貝葉斯優(yōu)化算法實現(xiàn)的HPO,其一般形式可抽象為如下SMBO的過程:

《Bayesian Optimization Primer》

其中,各符號及變量的含義如下:

f:目標函數(shù),在機器學習場景中即為根據(jù)超參數(shù)組合xi得到評估指標yi的過程

X:超參搜索空間,其中每個xi即為X中的一組取值;

yi:目標函數(shù)的得分,在機器學習場景中即為評估指標結果,例如accuracy_score

D:所有(xi, yi)組成的數(shù)據(jù)集

M:代理函數(shù),即要得到的由xi得到y(tǒng)i的映射方法。從機器學習的視角來理解,既然是由一組超參數(shù)(可理解為特征)擬合一個連續(xù)的得分結果(回歸目標),所以可用一個回歸模型來實現(xiàn)。這里之所以稱之為代理函數(shù),則是因為正常情況下,應該是真正的用對應的算法模型+超參數(shù)進行實際的訓練和評估,得到真實的評估結果,而此時為了避免這種大計算量的過程(expensive),所以才選擇用一個簡單快速的函數(shù)加以擬合替代

S:采集函數(shù),即根據(jù)當前得到的代理函數(shù)M和超參搜索空間X,如何獲取下一組可能帶來性能提升的超參組合。

基于上述符號定義,SMBO過程如下:

指定輸入?yún)?shù)f、X、M、S,給定一組初始的(xi, yi),作為初始訓練集完成代理函數(shù)M的評估;

根據(jù)采集函數(shù)S和代理函數(shù)M,得到當前情況下可能獲得最優(yōu)得分的超參組合xi+1

將新一組超參數(shù)帶入待優(yōu)化的機器學習,得到真實的yi+1

將最新數(shù)據(jù)(xi+1, yi+1)加入到數(shù)據(jù)集D中,重新擬合代理函數(shù)M

如此迭代執(zhí)行T次,或者達到目標效果結束

這一優(yōu)化過程是逐一選取潛在的最優(yōu)超參數(shù),并將其結果加入到數(shù)據(jù)集中繼續(xù)完成代理函數(shù)的優(yōu)化過程,所以這也就是其稱之為Sequential的原因,代理函數(shù)M則呼應model-based。而毫無疑問,這其中有兩個重要細節(jié)實現(xiàn):一個是代理函數(shù)M的選取和建模;另一個是采集函數(shù)S的設計。這兩個過程的差異,也決定了具體的貝葉斯優(yōu)化實現(xiàn)的不同。

這里簡單介紹幾種主流的代理函數(shù)M的選取:

高斯過程,即將K個超參數(shù)到評分的映射關系抽象為K維聯(lián)合高斯分布,從而每次都根據(jù)數(shù)據(jù)集D來計算該聯(lián)合高斯分布的均值和方差即可。但這種方式的一個顯著缺點是僅適用于連續(xù)性超參,且一般僅在較低維度下適用;

TPE,tree-structured Parzen estimator,主要思想是用到核密度函數(shù)估計(KDE,kernel density estimator),會根據(jù)yi的取值高低將數(shù)據(jù)集劃分為兩個區(qū)域,從而在兩個區(qū)域分別用kde方法擬合其分布。最后的目標就是盡可能的最大化高分的概率g(x)同時最小化低分的概率l(x)(實際用到的是最小化比值:l(x)/g(x));

Random Forest,即將代理函數(shù)M用一個隨機森林回歸模型加以擬合,其中每棵子樹均通過在數(shù)據(jù)集D的隨機子集進行擬合確保隨機性。當拿到一組新的超參組合時,即可通過該隨機森林模型中每棵子樹的評分結果的均值作為衡量該組超參數(shù)的潛力。

至于采集函數(shù)的選取,則也有不同的設計,例如PI(Probability of improvement)和EI(Expected Improvement)等,這里不再展開。

對于這三種代理函數(shù)的抽象實現(xiàn),Python中均有相應的庫可直接調用。本文選取三個庫,分別對應一種代理函數(shù)的貝葉斯優(yōu)化方法:

GP,對應python庫bayes_opt

TPE,對應python庫hyperopt

RandomForest,對應python庫scikit-optimizer,簡稱skopt

這里以sklearn中提供的經(jīng)典二分類數(shù)據(jù)集breast_cancer為例,給出三個優(yōu)化庫的基本實現(xiàn)方法:

數(shù)據(jù)集加載和默認參數(shù)隨機森林的baseline

from sklearn.datasets import load_breast_cancerfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.model_selection import cross_val_score, train_test_split

X, y = load_breast_cancer(return_X_y=True)X_train, X_test, y_train, y_test = train_test_split(X, y)

rf = RandomForestClassifierrf.fit(X_train, y_train)rf.score(X_test, y_test)# 默認參數(shù)RF得分:0.958041958041958

bayes_opt實現(xiàn)

from bayes_opt import BayesianOptimization

# bayes_opt中的目標函數(shù)def fun_bo(n_estimators, max_depth, min_samples_split, min_samples_leaf): rf = RandomForestClassifier(n_estimators=int(n_estimators), max_depth=int(max_depth), min_samples_split=int(min_samples_split), min_samples_leaf=int(min_samples_leaf)) score = cross_val_score(rf, X_train, y_train) return score.mean

# 貝葉斯優(yōu)化中的搜索空間space_bo = { 'n_estimators': (10, 300), 'max_depth': (1, 21), 'min_samples_split': (2, 20), 'min_samples_leaf': (2, 20)}bo = BayesianOptimization( fun_bo, space_bo)bo.maximize # 一鍵完成優(yōu)化

# 得到最優(yōu)超參結果param = {k:int(v) for k, v in bo.max['params'].items}rf_hp = RandomForestClassifier(**param)rf_hp.fit(X_train, y_train)rf_hp.score(X_test, y_test)# bayes_opt優(yōu)化得分:0.965034965034965

hyperopt實現(xiàn)

from hyperopt import fmin, hp, tpe, Trials

# hyperopt中的目標函數(shù)def fun_hp(param): rf = RandomForestClassifier(**param, random_state=3) score = cross_val_score(rf, X_train, y_train) return 1-score.mean

# hyperopt中的搜索空間space_hp = { "n_estimators":hp.uniformint("n_estimators", 10, 300), "max_depth":hp.uniformint("max_depth", 1, 21), "min_samples_split":hp.uniformint("min_samples_split", 2, 20), "min_samples_leaf":hp.uniformint("min_samples_leaf", 2, 20)}

# 記錄優(yōu)化過程,fmin實現(xiàn)一鍵優(yōu)化,采用優(yōu)化算法是tpetrials = Trialsparam = fmin(fun_hp, space_hp, tpe.suggest, max_evals=100, trials=trials)

param = {k:int(v) for k, v in param.items} # 最優(yōu)超參數(shù)rf_hp = RandomForestClassifier(**res)rf_hp.fit(X_train, y_train)rf_hp.score(X_test, y_test)# hyperopt優(yōu)化得分:0.965034965034965

skopt實現(xiàn)

from skopt import forest_minimize, space

# skopt中的目標函數(shù)def fun_sk(param): param = dict(zip(['n_estimators', 'max_depth', 'min_samples_split', 'min_samples_leaf'], param)) rf = RandomForestClassifier(**param) score = cross_val_score(rf, X_train, y_train) return 1 - score.mean

# skopt中的搜索空間space_sk = [ space.Integer(10, 300, name='n_estimators'), space.Integer(1, 21, name='max_depth'), space.Integer(2, 20, name='min_samples_split'), space.Integer(2, 20, name='min_samples_leaf')]

# 采用RF進行優(yōu)化,得到最優(yōu)超參結果res = forest_minimize(fun_sk, space_sk)param = dict(zip(['n_estimators', 'max_depth', 'min_samples_split', 'min_samples_leaf'], res.x))rf_hp = RandomForestClassifier(**param)rf_hp.fit(X_train, y_train)rf_hp.score(X_test, y_test)# skopt優(yōu)化得分:0.965034965034965

在上述超參優(yōu)化過程中,由于所用數(shù)據(jù)集較小,所以在制定相應的目標函數(shù)時均采用交叉驗證的方式以提高泛華性能。同時,三種超參優(yōu)化方式所得到最優(yōu)優(yōu)化結果相同,這一方面源于數(shù)據(jù)集較小造成的,另一方面其本身也有一定的隨機性。但無論如何,三個優(yōu)化庫在具體使用上是相近的,在優(yōu)化效果方面也算相當?shù)摹?/p>

Python 程序員深度學習的“四大名著”:



這四本書著實很不錯!我們都知道現(xiàn)在機器學習、深度學習的資料太多了,面對海量資源,往往陷入到“無從下手”的困惑出境。而且并非所有的書籍都是優(yōu)質資源,浪費大量的時間是得不償失的。給大家推薦這幾本好書并做簡單介紹。


獲得方式:


2.后臺回復關鍵詞:4books

注:此處建議復制,不然容易打錯


4books即可獲取

 
(文/媒體小英)
免責聲明
本文僅代表作發(fā)布者:媒體小英個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
 

Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號

粵ICP備16078936號

微信

關注
微信

微信二維碼

WAP二維碼

客服

聯(lián)系
客服

聯(lián)系客服:

在線QQ: 303377504

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號: weishitui

客服001 客服002 客服003

工作時間:

周一至周五: 09:00 - 18:00

反饋

用戶
反饋

欧美亚洲自拍偷拍_日本一区视频在线观看_国产二区在线播放_亚洲男人第一天堂

        9000px;">

              亚洲精品少妇30p| 日韩免费高清视频| 日韩一区二区在线播放| 亚洲欧美日韩系列| 国产不卡免费视频| 色偷偷88欧美精品久久久| 国产精品久久久久天堂| 99re8在线精品视频免费播放| 国产婷婷精品av在线| 奇米影视7777精品一区二区| 欧美v日韩v国产v| www.欧美色图| 亚洲第一福利一区| 久久免费电影网| 99re热这里只有精品免费视频| 一区二区三区在线观看欧美| 日韩三级电影网址| 99re这里只有精品6| 日韩国产一区二| 欧美国产乱子伦| 在线一区二区三区四区五区| 26uuu精品一区二区 | 成人成人成人在线视频| 日韩欧美中文字幕制服| 中文字幕欧美一区| 日韩精品一区二区三区三区免费| 波多野结衣欧美| 日韩精品91亚洲二区在线观看| 岛国av在线一区| 国产亚洲精久久久久久| 亚洲视频在线一区二区| 日本韩国一区二区| 亚洲一区在线观看网站| 在线免费观看一区| 精品在线播放免费| 国产91丝袜在线观看| 日韩女优制服丝袜电影| 麻豆国产一区二区| 中文字幕一区二区三区不卡| av在线一区二区| 亚洲成在线观看| www.欧美.com| 日本亚洲电影天堂| 一区二区在线免费| 色天天综合久久久久综合片| 国产精品午夜久久| 视频一区中文字幕国产| 欧美三片在线视频观看| 久久这里只有精品首页| 亚洲三级电影网站| 精品久久久久久久久久久久久久久| 久久综合久久久久88| 欧美日韩国产一级二级| 欧美一区二区三区视频在线观看 | 亚洲精品免费电影| 国产亚洲一本大道中文在线| 日韩av电影天堂| 国产校园另类小说区| 91丝袜美女网| 国产综合久久久久影院| 91精品国产综合久久精品app| 91精品国产综合久久福利| 欧美国产精品专区| 国产亚洲精久久久久久| 国产精品入口麻豆九色| 欧美大片顶级少妇| 欧美日韩一区在线观看| 欧美色图免费看| 日本韩国精品在线| 色88888久久久久久影院野外| 国产精品萝li| 久久众筹精品私拍模特| 26uuu成人网一区二区三区| 久久综合精品国产一区二区三区| 91精品国产色综合久久不卡电影 | 一区二区三区四区不卡在线| 成人免费视频在线观看| 亚洲男人的天堂av| 国产精品一二一区| 色婷婷精品大在线视频| 国产精品伊人色| 国产最新精品免费| 91蝌蚪porny成人天涯| 国产在线观看免费一区| 日韩国产精品久久久| 99精品视频在线播放观看| 国产乱人伦精品一区二区在线观看 | 国产99久久久国产精品| 亚洲图片欧美激情| 欧美男女性生活在线直播观看| 九色综合狠狠综合久久| 欧美日韩精品电影| 精品国产三级电影在线观看| 中文字幕一区av| 在线中文字幕一区二区| 欧美性大战久久久| 国产精品午夜在线观看| 成人免费在线播放视频| 久久精品99国产精品| 91精品91久久久中77777| 欧美一区二区播放| 国产露脸91国语对白| 91精品福利视频| 久久91精品久久久久久秒播| 精品一区二区三区在线观看国产| 一二三四社区欧美黄| 欧美日韩情趣电影| 国产精品国产三级国产a| 中文一区一区三区高中清不卡| 水野朝阳av一区二区三区| 亚洲国产精品久久久久婷婷884| 亚洲一区二区三区四区在线免费观看 | 国产成人一区二区精品非洲| 欧美日韩一二三区| 亚洲国产岛国毛片在线| 99视频一区二区三区| 国产欧美一区二区精品婷婷| 国产精品久久网站| 99久久国产综合精品色伊| 亚洲超丰满肉感bbw| 亚洲精品高清在线| 99久久婷婷国产| 色综合色狠狠综合色| 成人理论电影网| 国产精品久久久久影院| 欧美亚洲一区二区在线观看| 一区二区三区精品在线观看| 日韩精品一区二区在线| 国产剧情一区二区三区| 亚洲成人在线观看视频| 欧美一卡在线观看| 91麻豆高清视频| 日韩国产高清在线| 中文字幕一区二区三区乱码在线| 91久久精品国产91性色tv| 国产老妇另类xxxxx| 综合电影一区二区三区| 欧美v亚洲v综合ⅴ国产v| 成人免费福利片| 日本欧美在线看| 欧美经典三级视频一区二区三区| 日韩一卡二卡三卡| 成人午夜碰碰视频| 国产精品一区二区三区四区 | 国产精品午夜春色av| 在线这里只有精品| 不卡的电视剧免费网站有什么| 精品一区二区免费看| 在线国产电影不卡| 一区二区三区中文字幕| 丝袜亚洲另类丝袜在线| 欧美一区二区黄色| 成人国产精品免费网站| 人人精品人人爱| 亚洲欧美日韩一区二区 | 99久久99久久综合| 日韩国产一区二| 欧美一区二区三区在线观看| 在线精品视频一区二区| 午夜精品久久久久久久久久久| 亚洲天堂福利av| 国产成人av电影在线| 国产91综合网| 亚洲精品综合在线| 亚洲香肠在线观看| 日韩欧美的一区二区| 国产伦理精品不卡| 欧美激情一区二区在线| 久久蜜桃av一区精品变态类天堂| 亚洲视频 欧洲视频| 日本不卡视频在线| 欧美日韩情趣电影| 亚洲黄网站在线观看| 色94色欧美sute亚洲13| 日韩黄色一级片| 欧美夫妻性生活| 婷婷六月综合网| 久久青草欧美一区二区三区| 亚洲欧美乱综合| 欧美一区二区三区免费| 亚洲宅男天堂在线观看无病毒| 91在线视频播放| 久久精品久久综合| 中文字幕一区在线观看视频| www.成人在线| 欧美一级高清片| 欧美在线小视频| 婷婷中文字幕一区三区| 亚洲欧美偷拍卡通变态| 国产成人精品亚洲日本在线桃色| av中文字幕不卡| 亚洲成人激情社区| 欧美精品 国产精品| 精品国产伦一区二区三区观看方式| 亚洲一区二区三区四区在线 | 亚洲不卡av一区二区三区| 国产精品天干天干在观线| 国产亚洲美州欧州综合国| 91麻豆精品国产91久久久使用方法 | 91麻豆精东视频|