当前位置:   article > 正文

机器学习 | 超参数:交叉验证

机器学习 | 超参数:交叉验证

机器学习算法中,超参数是一个非常重要的问题;
    超参数,即:模型开始训练之前,设置好的参数

根据模型评估值,对超参数进行优化,选择最佳超参数值,以提高学习的性能和效果

	对于超参数值的设置,我们有两种方式:
		1. 人工试数
		2. 交叉验证
  • 1
  • 2
  • 3

一. 交叉验证

1. Holdout交叉验证

1.1 Holdout交叉验证流程

	1. 将数据集划分为:训练集、验证集、测试集
	2. 将所有可能的超参数放在训练集上做训练,得到多个模型
	3. 用验证集对得到的所有模型做评估,找出性能最佳的模型,也就相当于找到最优的超参数值
	4. 用得到的超参数在 【训练集+验证集】 上做模型训练,得到一个新的模型
	5. 用测试集对新模型做评估
	6. 用已确定的超参数在所有数据上重新训练,得到最终模型
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

即:验证集的作用为确定超参数
    测试集的作用为评估模型性能

1.2 Holdout交叉验证特点

处理简单,适用于样本较多的情况

2. K折交叉验证

K折交叉验证(K-fold cross-validation),其中K为超参数,常用K=10

2.1 K折交叉验证流程

	1. 将待测的超参数据集等分为K份,其中1份为验证数据,其余K-1份为训练数据
	2. 对该数据集重复K次(训练+验证)
	3. 对K个结果进行平均或其他操作以获得综合结果,最终得到该超参数集的性能指标
  • 1
  • 2
  • 3

2.2 K折交叉验证特点

训练集与测试集不重合,测试结果是绝对有效的,常用10折交叉验证

3. 留一验证

留一验证(LOOCV),与K折相似,但此时K的值等于样本的数量

3.1 留一验证流程

	1. 对于K个样本的超参数集,每次训练使用K-1个样本,剩下的1个为验证数据
	2. 对所有数据进行K次(训练+验证)
	3. 对K个结果进行平均或其他操作以获得综合结果,最终得到该超参数集的性能指标
  • 1
  • 2
  • 3

3.2 留一验证特点

常用于样本量非常小的情况


本篇文章仅涵盖了目前已讨论过的知识点,未来将持续更新

PS:本文相关代码存放位置
     波士顿房价预测 交叉验证代码实现:寻找最优超参数

感谢阅读~


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/180581?site
推荐阅读
相关标签
  

闽ICP备14008679号