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

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

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

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

一. 交叉验证

1. Holdout交叉验证

1.1 Holdout交叉验证流程

	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个结果进行平均或其他操作以获得综合结果,最终得到该超参数集的性能指标

2.2 K折交叉验证特点

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

3. 留一验证

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

3.1 留一验证流程

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

3.2 留一验证特点

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


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

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

感谢阅读~


  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ToBeCertain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值