机器学习模型的超参数优化 | 原力计划

作者 | deephub

责编 | 王晓曼

出品 | CSDN博客

头图 | CSDN付费下载自东方IC

引言

 

模型优化是机器学习算法实现中最困难的挑战之一。机器学习和深度学习理论的所有分支都致力于模型的优化。

机器学习中的超参数优化旨在寻找使得机器学习算法在验证数据集上表现性能最佳的超参数。超参数与一般模型参数不同,超参数是在训练前提前设置的。举例来说,随机森林算法中树的数量就是一个超参数,而神经网络中的权值则不是超参数。

其它超参数有:

  • 神经网络训练中的学习率

  • 支持向量机中的 c cc 参数和 γ \gammaγ 参数

  • k 近邻算法中的 k kk 参数

  • ……

超参数优化找到一组超参数,这些超参数返回一个优化模型,该模型减少了预定义的损失函数,进而提高了给定独立数据的预测或者分类精度。

分类算法中的超参数

 

超参数优化方法

 

超参数的设置对于模型性能有着直接影响,其重要性不言而喻。为了最大化模型性能,了解如何优化超参数至关重要。接下来介绍了几种常用的超参数优化方法。

1.手动调参

很多情况下,工程师们依靠试错法手动对超参数进行调参优化,有经验的工程师能够很大程度上判断超参数如何进行设置能够获得更高的模型准确性。但是,这一方法依赖大量的经验,并且比较耗时,因此发展出了许多自动化超参数优化方法。

2. 网格化寻优(Grid Search)

网格化寻优可以说是最基本的超参数优化方法。使用这种技术,我们只需为所有超参数的可能构建独立的模型,评估每个模型的性能,并选择产生最佳结果的模型和超参数。

网格化寻优方法:

以一个典型的核函数为 RBF 的 SVM 分类模型为例,其至少有两个超参数需要优化——正则化常数 c cc 和 核函数参数 γ \gammaγ。

这两个超参数都是连续的,需要执行网格化寻优为每个超参数选择合理取值。假设 c∈10,100,1000,γ∈0.1,0.2,0.5,1.0c\in {10,100,1000}, \gamma \in {0.1,0.2,0.5,1.0}c∈10,100,1000,γ∈0.1,0.2,0.5,1.0。

那么网格化寻优方法将对每一对( c cc ,γ \gammaγ)赋值后的 SVM 模型进行训练,并在验证集上分别评估它们的性能(或者在训练集内进行 cross-validation)。

最终,网格化寻优方法返回在评估过程中得分最高的模型及其超参数。

通过以下代码,可以实现上述方法:

首先,通过 sklearn 库调用 GridSearchCV 。

from sklearn.datasets import load_iris
from sklearn.svm import SVC
iris = load_iris()
svc = SVR()
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVR
grid = GridSearchCV(
        estimator=SVR(kernel='rbf'),
        param_grid={
            'C': [0.1, 1, 100, 1000],
            'epsilon': [0.0001, 0.0005, 0.001, 0.005, 0.01, 0.05, 0.1, 0.5, 1, 5, 10],
            'gamma': [0.0001, 0.001, 0.005, 0.1, 1, 3, 5]
        },
        cv=5, scoring='neg_mean_squared_error', verbose=0, n_jobs=-1)

然后拟合网格:

grid.fit(X,y)

输出结果:

#print the best score throughout the grid search
print grid.best_score_
#print the best parameter used for the highest score of the model.
print grid.best_param_

网格化寻优的一个缺点是,当涉及到多个超参数时,计算数量呈指数增长。并且这一方法并不能保证搜索会找到完美的超参数值。

 

随机寻优(Random Search)

 

通常并不是所有的超参数都有同样的重要性,某些超参数可能作用更显著。

而随机寻优方法相对于网格化寻优方法能够更准确地确定某些重要的超参数的最佳值。

随机寻优方法:

随机寻优方法在超参数网格的基础上选择随机的组合来进行模型训练。

可以控制组合的数量,基于时间和计算资源的情况,选择合理的计算次数。

这一方法可以通过调用 sklearn 库中的  RandomizedSearchCV 函数来实现。

尽管 RandomizedSearchCV 的结果可能不如 GridSearchCV 准确,但它令人意外地经常选择出最好的结果,而且只花费 GridSearchCV 所需时间的一小部分。

给定相同的资源,RandomizedSearchCV 甚至可以优于的结果可能不如GridSearchCV准确。当使用连续参数时,两者的差别如下图所示。

网格化寻优 VS 随机寻优

随机寻优方法找到最优参数的机会相对更高,但是这一方法适用于低维数据的情况,可以在较少迭代次数的情况下找到正确的参数集合,并且花费的时间较少。

通过以下代码,可以实现上述方法:

首先,通过 sklearn 库调用 RandomizedSearchCV 。

from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestRegressor
iris = load_iris()
rf = RandomForestRegressor(random_state = 42)
from sklearn.model_selection import RandomizedSearchCV
random_grid = {'n_estimators': n_estimators,
               'max_features': max_features,
               'max_depth': max_depth,
               'min_samples_split': min_samples_split,
               'min_samples_leaf': min_samples_leaf,
               'bootstrap': bootstrap}
rf_random = RandomizedSearchCV(estimator = rf, param_distributions = random_grid, n_iter = 100, cv = 3, verbose=2, random_state=42, n_jobs = -1)# Fit the random search model

然后进行计算:

rf_random.fit(X,y)

输出结果:

#print the best score throughout the grid search
print rf_random.best_score_
#print the best parameter used for the highest score of the model.
print rf_random.best_param_

Output:
{'bootstrap': True,
 'max_depth': 70,
 'max_features': 'auto',
 'min_samples_leaf': 4,
 'min_samples_split': 10,
 'n_estimators': 400}

贝叶斯优化方法(Bayesian Optimization)

 

前面两种方法能够针对单独超参数组合模型进行训练,并评估各自的性能。每个模型都是独立的,因此很易于进行并行计算。

但是每个模型都是独立的,也导致模型之间不具有指导意义,前一模型的计算结果并不能影响后一模型的超参数选择。

而贝叶斯优化方法(顺序优化方法的一种,sequential model-besed optimization, SMBO)则可以借鉴已有的结果进而影响后续的模型超参数选择。

这也限制了模型训练评估的计算次数,因为只有有望提高模型性能的超参数组合才会被进行计算。

贝叶斯优化是通过构造一个函数的后验分布(高斯过程)来工作的,该后验分布最好地描述了要优化的函数。

随着观测次数的增加,后验分布得到改善,算法更加确定参数空间中哪些区域值得探索,哪些区域不值得探索。

当反复迭代时,算法会在考虑到它对目标函数的了解的情况下,平衡它的探索和开发需求。

在每个步骤中,高斯过程被拟合到已知的样本(先前探索的点),后验分布与探索策略(例如UCB(上置信限,upper confidence bound)或EI(预期改善, expected improvement))被用于确定下一个应该探索的点。

通过贝叶斯优化方法,可以更高效的探索超参数变量空间,降低优化时间。

 

基于梯度的优化方法(Gradient-based Optimization)

 

基于梯度的优化方法经常被用于神经网络模型中,主要计算超参数的梯度,并且通过梯度下降算法进行优化。

这一方法的应用场景并不广泛,其局限性主要在于:

  • 超参数优化通常不是一个平滑的过程

  • 超参数优化往往具有非凸的性质

进化寻优(Evolutionary Optimization)

 

进化寻优方法的思想来源于生物学概念,由于自然进化是不断变化的环境中发生的一个动态过程,因此适用于超参数寻优问题,因为超参数寻优也是一个动态过程。

进化算法经常被用来寻找其他技术不易求解的近似解。优化问题往往没有一个精确的解决方案,因为它可能太耗时并且计算资源占用很大。

在这种情况下,进化算法通常可以用来寻找一个足够的近似最优解。

进化算法的一个优点是,它们可以产生出不受人类误解或偏见影响的解决方案。

作为一个一般性的经验法则,任何时候想要优化调整超参数,优先考虑网格化寻优方法和随机寻优方法!

总结

 

在本文中,我们了解到为超参数找到正确的值可能是一项令人沮丧的任务,并可能导致机器学习模型的欠拟合或过拟合。我们看到了如何通过使用网格化寻优、随机寻优和其他算法来克服这一障碍。

版权声明:本文为CSDN博主「deephub」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_46510245/article/details/105910907

6月2日20:00,CSDN 创始人&董事长、极客帮创投创始合伙人蒋涛携手全球顶级开源基金会主席、董事,聚焦中国开源现状,直面开发者在开源技术、商业上的难题,你绝不可错过的开源巅峰对谈!立即免费围观

推荐阅读
你点的每个“在看”,我都认真当成了喜欢
AI科技大本营
关注 关注
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
模型优化基础(来自Sayak Paul讲解)
06-09
模型优化基础,来自Sayak Paul讲解的模型优化基础,共包含67页PPT,值得相关研究人员一起来学习。
机器学习模型评估与优化:常用方法与实践技巧.md
最新发布
08-15
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习...
机器学习模型超参数优化
deephub
05-04 7996
引言 模型优化机器学习算法实现中最困难的挑战之一。机器学习和深度学习理论的所有分支都致力于模型优化机器学习中的超参数优化旨在寻找使得机器学习算法在验证数据集上表现性能最佳的超参数超参数与一般模型参数不同,超参数是在训练前提前设置的。举例来说,随机森林算法中树的数量就是一个超参数,而神经网络中的权值则不是超参数。 其它超参数有: 神经网络训练中的学习率 支持向量机中的 ccc 参数和 γ...
模型优化
weixin_49304690的博客
01-21 280
超参数优化 ① 什么是超参数 超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。超参数的设置主要依赖于经验、实验或经过比较的优选值。以下是一些模型中常见的超参数: 决策树模型树的最大深度; 随机森林模型树的数量; 交叉验证中折叠的额数量; 训练集/测试集的比例等等. 超参数选择主要有随机搜索、网格搜索等方法。 ② 网格搜索 网格搜索指将主要参数以及这些参数的主要取值,通过穷举法产生不同组合,计算并比较预测结果,来寻找这些参数的最优组合。 以下是利用网格搜索法,寻找SVM的最优超参数
机器学习——模型优化
DCGJ666的博客
04-22 1498
机器学习——模型优化模型压缩方法squeezeNet的Fire Module有什么特点? 模型压缩方法 低秩近似 神经网络的基本运算卷积,实则就是矩阵运算,低秩近似的技术是通过一系列小规模矩阵将权重矩阵重构出来,以此降低运算量和存储开销。目前有两种常用的方法:一是Toeplitz矩阵(指矩阵中每条自左上至右下的斜线上的元素相同)直接重构权重矩阵,二是奇异值分解(SVD),将权重矩阵分解为若干个小矩阵。 剪枝与稀疏约束 剪枝是模型压缩领域中一种经典的后处理技术,典型应用如决策树的前剪枝和后剪枝。剪枝技术可以
机器学习-模型优化
weixin_38498942的博客
07-09 981
机器学习模型通过朝正确分类的方向更新其参数(权重和偏差)来学习。学习模型的基本结构,在下面的图片中,我们将展示机器学习模型的基本模块: 在这张照片上,我们可以检测到以下组件 1.训练数据集:基本上是包含训练数据的高速磁盘 2.一批样品:成对的列表(X,Y),由输入,预期输出组成,例如X可以是图像,Y可以是标签“ cat” 3.参数:模型图层用于将X映射到Y的一组参数 4.模型:将输入X和权重W转换为得分(可能为Y)的一组计算层 5.损失函数:负责说我们的得分与理想响应Y相差多远,损失函数的输出是一个标量。
机器学习算法的超参数优化:理论与实践.pdf
09-24
机器学习算法的超参数优化机器学习模型中一个非常重要的步骤。超参数机器学习模型中的参数,它们不能通过数据学习过程进行初始化和更新,而需要在训练机器学习模型之前进行设置。超参数定义了模型架构,例如学习...
有指导机器学习超参数的交叉验证智能优化.pdf
09-24
机器学习领域,模型的性能往往受到超参数的影响。超参数是在训练模型之前设置的值,它们决定了模型的学习过程和结构。不合理地设定超参数可能导致模型过拟合或欠拟合,即模型可能过于复杂而对训练数据过度适应,...
机器学习项目实战】python实现GA(遗传算法)对SVM分类模型参数的优化.zip
08-16
Python实现GA(遗传算法)对SVM分类模型参数的优化资料说明:包括数据集+源代码+Word文档说明。 资料内容包括: 1)需求分析; 2)数据采集; 3)数据预处理; 4)探索性数据分析; 5)特征工程; 6)机器建模; 7)模型评估...
机器学习模型优化
hblg_bobo的博客
11-09 1058
机器学习部分优化算法介绍
什么是超参数
Qamra_Chen的博客
04-05 3686
什么是超参数? 在看机器学习时,经常碰到一个叫超参数的参数(hyperparameter),所以到底什么是超参数超参数的定义:在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。 理解:超参数也是一个参数,是一个...
机器学习——最优化模型
qq_60688380的博客
03-31 955
在给定的约束条件下,选择最优的参数和使得目标函数最大化/最小化。
机器学习】基于线性回归的模型优化和正则化
qq_61260911的博客
04-06 1599
机器学习中,优化模型参数是非常关键的一步。针对不同的模型和数据集,我们需要选择合适的优化方法以获得最优的模型参数。同时,正则化方法可以有效减少模型复杂程度,避免过拟合的情况,提高模型的泛化能力。在机器学习中,无论是线性模型还是非线性模型,我们需要选择合适的优化方法以获得最优的模型参数。常用的梯度下降法是优化模型参数的常用方式之一,其中小批量梯度下降法是一种高效的优化方法,每次选择小批量的数据进行计算,可以减少计算量,提高模型的训练速度。
机器学习模型选择和模型优化
m0_63997099的博客
03-02 1287
有监督学习
python机器学习-模型优化(六)
weixin_42749734的博客
08-28 1102
机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。 超参数是不直接在估计器内学习的参数。在scikit-learn包中,它们作为估计器类中构造函数的参数 进行传递。典型的例子有:用于支持向量分类器的C、kernel和gamma ,用于Lasso的alpha 等。 搜索超参...
如何快速提高机器学习模型的性能
修炼之路
11-10 4610
前言 本篇文章主要介绍,如何针对机器学习模型的在训练集和开发集(验证集)上的评估指标来使用不同的技巧快速提高模型的评估性能。针对机器学习模型的性能优化我们有很多种方式,如增大数据集、增大模型的复杂度、使用更复杂的模型架构、修改激活函数、正则化等,面对不同情况只有选择正确的方法才能有效提高模型的性能,否则可能会造成时间的浪费,从而影响项目的开发进度。本篇文章的主要内容来至于deeplearning....
机器学习模型优化模型融合
qq_14945847的博客
03-14 886
二、个体学习器依赖的融合-boosting:1,boosting方法的思想:Boosting算法的工作机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。梯度提升树:是对提升树算法的改进,提升树算法只适合误差函数为指数函数和平方误差,对于一般的损失函数,梯度提升树算法利用损失函数的负梯度在当前模型的值,作为残差的近似值。这个也好理解,一般用于分类模型
2262
原创
2万+
点赞
4万+
收藏
3万+
粉丝
关注
私信
写文章

热门文章

  • 深度学习面试必备的25个问题 144319
  • 清华周界详解《基于图神经网络的事实验证》 | 百万人学AI 130709
  • 感动!有人将吴恩达的视频课程做成了文字版 105632
  • 用AI给黑白照片上色,复现记忆中的旧时光 67643
  • 算法工程师过去这一年:理想很丰满,现实很骨感 63826

分类专栏

  • 行业资讯 251篇
  • 芯片 14篇
  • 物联网 10篇
  • 测试 2篇
  • 笔记 11篇
  • 软硬件 2篇
  • 百度智能云 5篇
  • 新能源
  • ADAS
  • 自然语言处理 3篇
  • 大数据 5篇
  • 光线追踪 1篇
  • GPU 1篇
  • 多线程 1篇
  • OpenAI 2篇
  • GPT-3 2篇
  • Golang 1篇
  • facebook 1篇
  • 算法 5篇
  • 微软 2篇
  • chrome 1篇
  • firefox 1篇
  • 搜索引擎 1篇
  • html 1篇
  • 超链接 1篇
  • 图片识别 1篇
  • http 1篇
  • DDoS 1篇
  • 无人驾驶 1篇
  • 人群密度 1篇
  • 金融科技 2篇
  • 评人工智能如何走向新阶段? 33篇
  • 数据众包 2篇
  • 电动车 1篇
  • 知乎 1篇
  • AI优秀案例奖 1篇
  • 多场景匹配 1篇
  • 微软小冰 3篇
  • 音乐 1篇
  • OPPO 1篇
  • 特步 1篇
  • 工作站 1篇
  • 华为 1篇
  • 竞赛 1篇
  • AI 547篇
  • 人工智能 541篇
  • 机器人 9篇
  • 神经网络 10篇
  • 机器学习 51篇
  • Python 24篇
  • 百度 30篇
  • 图像开放平台 2篇
  • 区块链 1篇
  • 开源 6篇
  • 深度学习 25篇
  • 语音识别 7篇
  • 云计算 5篇
  • AI名人堂 5篇
  • AI聚变 1篇
  • NLP 12篇
  • 数据科学 6篇
  • 强化学习 4篇
  • 计算机视觉 12篇

最新评论

  • 放弃华为天才少年 Offer、和陆奇 10 分钟定投资,25 岁的关超宇想让钢铁侠成为现实 | AGI 技术 50 人...

    子燕若水: csdn没事就推荐超级饿心的人物大头,🤮

  • 一文掌握 Prompt:万能框架+优化技巧+常用指标

    qq_25439803: 写的真好啊,prompt其实就是输入的一部分,只是这一部分比较特殊,user可以人为控制,做为上下文。

  • 开闭源之争再起,计算范式迎来转变,CSDN「智研社-The Intelliger」共话大模型技术演进与 AI Infra 创新...

    ha_lydms: 非常不错的技术领域文章分享,解决了我在实践中的大问题!博主很有耐心,更有对知识的热忱和热爱,写了这么实用有效的分享,值得收藏点赞。

  • 腾讯机器人 1 号位创业:上得厅堂下得厨房,还会弹奏、跳舞、打篮球的机器人,你见过吗?...

    玖珑_: 虎先锋你怎么打的,他老放暴风星云裂,我手上没有急先锋或者霹雳火根本打不过啊

  • 腾讯机器人 1 号位创业:上得厅堂下得厨房,还会弹奏、跳舞、打篮球的机器人,你见过吗?...

    Hadint_2: 唱、跳、篮球?

最新文章

  • 基于计图框架的 AI 编程优化小技巧 | 新程序员
  • 解开具身智能之谜:从 RT-X 到自由能原理
  • 时薪高达342元!特斯拉为机器人招募“人类老师”,明确要求:身高170-180cm,每天步行7+小时...
2024
08月 41篇
07月 65篇
06月 68篇
05月 73篇
04月 63篇
03月 64篇
02月 20篇
01月 12篇
2023年367篇
2022年624篇
2021年866篇
2020年1111篇
2019年1726篇
2018年1195篇
2017年309篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码静海网站优化哪家专业孝感产品网站优化公司排名网站优化公司首先选兴田德润福州网站优化加时时在网络广州专业网站优化公司如何SEO主要包括网站内容优化网站关键词优化机构怎么选谷城网站优化绍兴网站优化推荐昆明uc网站推广优化宝山区360网站优化深圳seo网站关键词优化教程提升网站优化排名前提是什么青岛网站优化简历搜狗优化好的网站国内网站优化系统招商项目广州市seo网站优化报价运城网站优化怎么收费珠海专业网站优化费用多少巩义网站优化找哪家网站怎么优化认准火18星台州搜索引擎优化网站苏州网站排名优化网站优化简历怎么永城网站优化排名嘉兴做网站优化公司网站关键词优化效果图长沙网站优化哪家好网站制定优化方案花桥网站优化价格歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化