机器学习参数与超参及超参调优

参数

定义:模型内部的配置变量,可以用数据估计它的值。

特征:

  1. 进行模型预测时需要模型参数。
  2. 模型参数值可以定义模型功能。
  3. 模型参数用数据估计或数据学习得到。
  4. 模型参数一般不由实践者手动设置。
  5. 模型参数通常作为学习模型的一部分保存。

例子:

  1. 人造神经网络中的权重。
  2. 支持向量机中的支持向量。
  3. 线性回归或逻辑回归中的系数。

超参数

定义:模型外部的配置,其值不能从数据估计得到。

特征:

  1. 模型超参数常应用于估计模型参数的过程中。
  2. 模型超参数通常由实践者直接指定。
  3. 模型超参数通常可以使用启发式方法来设置。
  4. 模型超参数通常根据给定的预测建模问题而调整。

例子:

  1. 训练神经网络的学习速率。
  2. 支持向量机的C和sigma超参数。
  3. k邻域中的k。
  4. 网络结构,包括神经元之间的连接关系、层数、每层的神经元数量、激活函数的类型。
  5. 优化参数,包括优化方法、学习率、小批量的样本数量。
  6. 正则化系数

模型参数是根据数据自动估算的。但模型超参数是手动设置的,并且在过程中用于帮助估计模型参数。

超参数优化方法

  1. 网格搜索

通过尝试所有超参数的组合来寻址合适一组超参数配置的方法。根据这些超参数的不同组合方式分别训练一个模型,然后测试这些模型在开发集上的性能,选取一组性能最好的配置。
详细解释和代码可以参考超参数优化机器学习模型的超参数优化

  1. 随机搜索

对超参数进行随机组合,然后选择一个性能最好的配置。在超参数网格的基础上选择随机的组合来进行模型训练。随机寻优方法找到最优参数的机会相对更高,但是这一方法适用于低维数据的情况,可以在较少迭代次数的情况下找到正确的参数集合,并且花费的时间较少。
详细解释和代码可以参考机器学习模型的超参数优化超参数优化

  1. 贝叶斯优化

自适应的超参数搜索方法,根据当前已经试验的超参数组合,来预测下一个可能带来最大收益的组合。通过构造一个函数的后验分布(高斯过程)来工作的,该后验分布最好地描述了要优化的函数。随着观测次数的增加,后验分布得到改善,算法更加确定参数空间中哪些区域值得探索,哪些区域不值得探索。
详细解释可参考深度学习之10——超参数优化机器学习模型的超参数优化超参数优化,代码可参考4种主流超参数调优技术

  1. 动态资源分配

一种有效方法是逐次减半(successive halving),将超参数优化看作是一种非随机的最优臂问题,假设要尝试N组超参数配置,总共可利用的资源预算为B,我们可以通过 T = [ l o g 2 ( N ) − 1 ] T = [log_2(N)-1] T=[log2(N)1] 轮逐次减半的方法来选取最优的配置。
详细解释可参考深度学习之10——超参数优化

  1. 神经架构搜索

通过神经网络来自动实现网络架构的设计。一个神经网络的架构可以用一个变长的字符串来描述。利用元学习的思想,神经架构搜索利用一个控制器来生成另一个子网络的架构描述。控制器可以由一个循环神经网络来实现。控制器的训练可以通过强化学习来完成,其奖励信号为生成的子网络在开发集上的准确率。
详细解释参考深度学习之10——超参数优化

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

计算超参数的梯度,并且通过梯度下降算法进行优化。参考机器学习模型的超参数优化

  1. 进化寻优(Evolutionary Optimization)

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

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

参考资料

机器学习中的参数与超参数之间的区别
手把手教你区分参数和超参数
机器学习中模型参数与超参数的区别
4种主流超参数调优技术
超参数优化
深度学习之10——超参数优化
机器学习模型的超参数优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值