在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

機器學習的幾個超參數調試方法

新機器視覺 ? 來源:AI公園導讀 ? 作者:Sivasai ? 2020-10-09 14:17 ? 次閱讀

作者:Sivasai,來源:AI公園導讀

ML工作流中最困難的部分之一是為模型找到最好的超參數。ML模型的性能與超參數直接相關。

介紹

維基百科上說,“Hyperparameter optimization或tuning是為學習算法選擇一組最優的hyperparameters的問題”。

ML工作流中最困難的部分之一是為模型找到最好的超參數。ML模型的性能與超參數直接相關。超參數調優的越好,得到的模型就越好。調優超參數可能是非常乏味和困難的,更像是一門藝術而不是科學。

超參數

超參數是在建立模型時用于控制算法行為的參數。這些參數不能從常規訓練過程中獲得。在對模型進行訓練之前,需要對它們進行賦值。

超參數的簡單列表

內容

傳統的手工調參

網格搜索

隨機搜索

貝葉斯搜索

1. 傳統手工搜索

在傳統的調參過程中,我們通過訓練算法手動檢查隨機超參數集,并選擇符合我們目標的最佳參數集。

我們看看代碼:

#importingrequiredlibraries fromsklearn.neighborsimportKNeighborsClassifier fromsklearn.model_selectionimporttrain_test_split fromsklearn.model_selectionimportKFold,cross_val_score fromsklearn.datasetsimportload_wine wine=load_wine() X=wine.data y=wine.target #splittingthedataintotrainandtestset X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=14) #declaringparametersgrid k_value=list(range(2,11)) algorithm=['auto','ball_tree','kd_tree','brute'] scores=[] best_comb=[] kfold=KFold(n_splits=5) #hyperparametertunning foralgoinalgorithm: forkink_value: knn=KNeighborsClassifier(n_neighbors=k,algorithm=algo) results=cross_val_score(knn,X_train,y_train,cv=kfold) print(f'Score:{round(results.mean(),4)}withalgo={algo},K={k}') scores.append(results.mean()) best_comb.append((k,algo)) best_param=best_comb[scores.index(max(scores))] print(f' TheBestScore:{max(scores)}') print(f"['algorithm':{best_param[1]},'n_neighbors':{best_param[0]}]")

缺點:

沒辦法確保得到最佳的參數組合。

這是一個不斷試錯的過程,所以,非常的耗時。

2. 網格搜索

網格搜索是一種基本的超參數調優技術。它類似于手動調優,為網格中指定的所有給定超參數值的每個排列構建模型,評估并選擇最佳模型。考慮上面的例子,其中兩個超參數k_value =[2,3,4,5,6,7,8,9,10]&algorithm =[' auto ', ' ball_tree ', ' kd_tree ', ' brute '],在這個例子中,它總共構建了9*4 = 36不同的模型。

讓我們來了解一下sklearn的GridSearchCV是如何工作的:

fromsklearn.model_selectionimportGridSearchCV knn=KNeighborsClassifier() grid_param={'n_neighbors':list(range(2,11)), 'algorithm':['auto','ball_tree','kd_tree','brute']} grid=GridSearchCV(knn,grid_param,cv=5) grid.fit(X_train,y_train) #bestparametercombination grid.best_params_ #Scoreachievedwithbestparametercombination grid.best_score_ #allcombinationsofhyperparameters grid.cv_results_['params'] #averagescoresofcross-validation grid.cv_results_['mean_test_score']

缺點:

由于它嘗試了超參數的每一個組合,并根據交叉驗證得分選擇了最佳組合,這使得GridsearchCV非常慢。

3. 隨機搜索

使用隨機搜索代替網格搜索的動機是,在許多情況下,所有的超參數可能不是同等重要的。隨機搜索從超參數空間中隨機選擇參數組合,參數由n_iter給定的固定迭代次數的情況下選擇。實驗證明,隨機搜索的結果優于網格搜索。

讓我們來了解sklearn的RandomizedSearchCV是如何工作的,

fromsklearn.model_selectionimportRandomizedSearchCV knn=KNeighborsClassifier() grid_param={'n_neighbors':list(range(2,11)), 'algorithm':['auto','ball_tree','kd_tree','brute']} rand_ser=RandomizedSearchCV(knn,grid_param,n_iter=10) rand_ser.fit(X_train,y_train) #bestparametercombination rand_ser.best_params_ #scoreachievedwithbestparametercombination rand_ser.best_score_ #allcombinationsofhyperparameters rand_ser.cv_results_['params'] #averagescoresofcross-validation rand_ser.cv_results_['mean_test_score']

缺點:

隨機搜索的問題是它不能保證給出最好的參數組合。

4. 貝葉斯搜索

貝葉斯優化屬于一類優化算法,稱為基于序列模型的優化(SMBO)算法。這些算法使用先前對損失f的觀察結果,以確定下一個(最優)點來抽樣f。該算法大致可以概括如下。

使用先前評估的點X1*:n*,計算損失f的后驗期望。

在新的點X的抽樣損失f,從而最大化f的期望的某些方法。該方法指定f域的哪些區域最適于抽樣。

重復這些步驟,直到滿足某些收斂準則。

讓我們用scikit- optimization的BayesSearchCV來理解這

Installation: pip install scikit-optimize

fromskoptimportBayesSearchCV importwarnings warnings.filterwarnings("ignore") #parameterrangesarespecifiedbyoneofbelow fromskopt.spaceimportReal,Categorical,Integer knn=KNeighborsClassifier() #defininghyper-parametergrid grid_param={'n_neighbors':list(range(2,11)), 'algorithm':['auto','ball_tree','kd_tree','brute']} #initializingBayesianSearch Bayes=BayesSearchCV(knn,grid_param,n_iter=30,random_state=14) Bayes.fit(X_train,y_train) #bestparametercombination Bayes.best_params_ #scoreachievedwithbestparametercombination Bayes.best_score_ #allcombinationsofhyperparameters Bayes.cv_results_['params'] #averagescoresofcross-validation Bayes.cv_results_['mean_test_score']

缺點:

要在2維或3維的搜索空間中得到一個好的代理曲面需要十幾個樣本,增加搜索空間的維數需要更多的樣本。

總結

在確定參數的最佳組合的保證和計算時間之間總是存在權衡。如果超參數空間(超參數個數)非常大,則使用隨機搜索找到超參數的潛在組合,然后在該局部使用網格搜索(超參數的潛在組合)選擇最優特征。

原文標題:機器學習4個常用超參數調試方法!

文章出處:【微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ML
    ML
    +關注

    關注

    0

    文章

    150

    瀏覽量

    35021
  • 機器學習
    +關注

    關注

    66

    文章

    8499

    瀏覽量

    134269

原文標題:機器學習4個常用超參數調試方法!

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Kaggle知識點:7種參數搜索方法

    數據科學參數搜索確實是機器學習生命周期中不可或缺的一步,特別是在模型性能方面。正確的參數選擇
    的頭像 發表于 02-08 14:28 ?873次閱讀
    Kaggle知識點:7種<b class='flag-5'>超</b><b class='flag-5'>參數</b>搜索<b class='flag-5'>方法</b>

    xgboost參數調優技巧 xgboost在圖像分類中的應用

    一、XGBoost參數調優技巧 XGBoost(eXtreme Gradient Boosting)是一種基于梯度提升決策樹(GBDT)的高效梯度提升框架,在機器學習競賽和實際業務應
    的頭像 發表于 01-31 15:16 ?1139次閱讀

    傳統機器學習方法和應用指導

    用于開發生物學數據的機器學習方法。盡管深度學習(一般指神經網絡算法)是一個強大的工具,目前也非常流行,但它的應用領域仍然有限。與深度學習相比,傳統
    的頭像 發表于 12-30 09:16 ?1107次閱讀
    傳統<b class='flag-5'>機器</b><b class='flag-5'>學習方法</b>和應用指導

    zeta在機器學習中的應用 zeta的優缺點分析

    的應用(基于低功耗廣域物聯網技術ZETA) ZETA作為一種低功耗廣域物聯網(LPWAN)技術,雖然其直接應用于機器學習的場景可能并不常見,但它可以通過提供高效、穩定的物聯網通信支持,間接促進機器
    的頭像 發表于 12-20 09:11 ?1061次閱讀

    cmp在機器學習中的作用 如何使用cmp進行數據對比

    機器學習領域,"cmp"這個術語可能并不是一個常見的術語,它可能是指"比較"(comparison)的縮寫。 比較在機器學習中的作用 模型評估 :比較不同模型的性能是
    的頭像 發表于 12-17 09:35 ?813次閱讀

    什么是機器學習?通過機器學習方法能解決哪些問題?

    來源:Master編程樹“機器學習”最初的研究動機是讓計算機系統具有人的學習能力以便實現人工智能。因為沒有學習能力的系統很難被認為是具有智能的。目前被廣泛采用的
    的頭像 發表于 11-16 01:07 ?922次閱讀
    什么是<b class='flag-5'>機器</b><b class='flag-5'>學習</b>?通過<b class='flag-5'>機器</b><b class='flag-5'>學習方法</b>能解決哪些問題?

    伺服電機有哪些調試方法?如何調?

    伺服電機是一種高精度的電機,廣泛應用于自動化設備、機器人、數控機床等領域。為了確保伺服電機的性能和穩定性,需要進行正確的調試。以下是一些常見的伺服電機調試方法及其操作步驟: 電機
    的頭像 發表于 10-22 11:04 ?2962次閱讀

    無線網橋的連接與調試方法

    無線網橋的連接與調試方法主要涉及設備的配置、網絡參數的設定以及通信質量的優化。以下是詳細的步驟和注意事項:
    的頭像 發表于 10-01 15:23 ?2149次閱讀

    【「時間序列與機器學習」閱讀體驗】+ 簡單建議

    這本書以其系統性的框架和深入淺出的講解,為讀者繪制了一幅時間序列分析與機器學習融合應用的宏偉藍圖。作者不僅扎實地構建了時間序列分析的基礎知識,更巧妙地展示了機器學習如何在這一領域發揮巨
    發表于 08-12 11:21

    機器學習中的數據分割方法

    機器學習中,數據分割是一項至關重要的任務,它直接影響到模型的訓練效果、泛化能力以及最終的性能評估。本文將從多個方面詳細探討機器學習中數據分割的方法
    的頭像 發表于 07-10 16:10 ?3063次閱讀

    機器學習中的交叉驗證方法

    機器學習中,交叉驗證(Cross-Validation)是一種重要的評估方法,它通過將數據集分割成多個部分來評估模型的性能,從而避免過擬合或欠擬合問題,并幫助選擇最優的
    的頭像 發表于 07-10 16:08 ?2704次閱讀

    深度學習中的時間序列分類方法

    時間序列分類(Time Series Classification, TSC)是機器學習和深度學習領域的重要任務之一,廣泛應用于人體活動識別、系統監測、金融預測、醫療診斷等多個領域。隨著深度
    的頭像 發表于 07-09 15:54 ?2021次閱讀

    深度學習的模型優化與調試方法

    深度學習模型在訓練過程中,往往會遇到各種問題和挑戰,如過擬合、欠擬合、梯度消失或爆炸等。因此,對深度學習模型進行優化與調試是確保其性能優越的關鍵步驟。本文將從數據預處理、模型設計、
    的頭像 發表于 07-01 11:41 ?1728次閱讀

    深度學習與傳統機器學習的對比

    在人工智能的浪潮中,機器學習和深度學習無疑是兩大核心驅動力。它們各自以其獨特的方式推動著技術的進步,為眾多領域帶來了革命性的變化。然而,盡管它們都屬于機器
    的頭像 發表于 07-01 11:40 ?2341次閱讀

    焊接機器調試技巧有哪些

    調試的技巧,創想智控焊縫跟蹤小編帶大家一起了解。 1. 準備工作 在開始調試工作之前,工程師必須充分了解焊接機器人的結構、工作原理及其工作環境。這包括機器人的控制系統、運動學特性、焊
    的頭像 發表于 06-27 14:25 ?1038次閱讀
    焊接<b class='flag-5'>機器</b>人<b class='flag-5'>調試</b>技巧有哪些
    主站蜘蛛池模板: 色爱区综合激情五月综合激情 | 黄色一级毛片在线观看 | 天天操天天摸天天射 | 久久精品亚瑟全部免费观看 | 二级黄绝大片中国免费视频 | 小雪被老外黑人撑破了 | 人人人人澡 | 在线天堂bt种子 | 成人18视频拍拍拍拍拍拍 | 农村妇女高清毛片一级 | 欧美成人综合在线 | 美女被曹 | 男女激情做爰叫床声视频偷拍 | 久久黄色毛片 | 日本三级理论片 | 欧美人与牲动交xxxx | 欧美精品网| 日本电影在线观看黄 | 黄色综合网站 | 国内露脸夫妇交换精品 | 新版天堂中文在线8官网 | 国产视频三级 | 欧美xx网站 | 日本最顶级丰满的aⅴ艳星 日本最好的免费影院 | 激情五月婷婷网 | 末发育女一区二区三区 | 操美女的视频网站 | 久久精品国产亚洲婷婷 | 草逼网址| 男人都懂得网址 | 国产免费黄视频 | xxxx人成高清免费图片 | 欧美性野久久久久久久久 | 99久久精品国产免费 | 日日干夜夜操s8 | 嫩草影院入口一二三免费 | 四虎精品影院2022 | 国产99色| 亚洲天堂视频在线播放 | 色中色资源 | 亚洲va老文色欧美黄大片人人 |