【Python机器学习及实践】进阶篇:模型实用技巧(模型检验与超参数搜索)

本文介绍了Python机器学习中的模型检验技术,包括留一验证和交叉验证,详细阐述了这两种方法的原理和应用。接着讨论了超参数搜索的重要性,讲解了网格搜索和并行搜索策略,以及在实际操作中遇到的问题和解决方案。

 Python机器学习及实践——进阶篇:模型实用技巧

(模型检验与超参数搜索)


1.模型检验

在真正实践机器学习任务的时候,我们并不可能直到正确答案。这就要求我们充分利用现有数据,并且通常的做法依然是对现有数据进行采样分割:一部分用于模型参数训练,叫做训练集(Training set);另一部分数据集合用于调优模型配置和特征选择,并且对未知的测试性能做出评估,叫做开发集(Development set)或者验证集(Validation set)。

1.1留一验证

留一验证(Leave-one-out cross validation)就是从任务提供的数据中,随机采样一定比例作为训练集,剩下的"留做"验证。通常,这个比例为7:3,即70%作为训练集,30%作为验证集。但是,这一方法的模型性能不稳定,原因在于对验证集合随机采样的不确定性。

1.2交叉验证

交叉验证(K-fold cross-validation)可理解为多次留一验证的过程。需要强调的是,每次检验所使用的验证集之间是互斥的,并且要保证每一条可用数据都被模型验证过。以5折交叉验证(5-fold cross-validation)为例,全部可用数据被随机分割为平均数量的5组,每次迭代都选取其中的1组数据作为验证集,其他4组作为训练集。

交叉验证的好处在于,可以保证所有数据都有被训练和验证的机会,也尽最大可能让优化的模型性能表现得更加可信。

2.超参数搜索

前面提到的模型参数,一般统称为模型的超参数(Hyperparameters),如K近邻算法中的K值,SVM中的核函数等。多数情况先,超参数的选择是无限的。因此

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

镰刀韭菜

看在我不断努力的份上,支持我吧

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

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

打赏作者

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

抵扣说明:

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

余额充值