2021/09/17学习记录
贝叶斯调参
1.原理
基于目标函数的过去评估结果建立替代函数(概率模型),找到最小化目标函数的值
2.与随机搜索或网格搜索的不同
在尝试下一组超参数时,会参考已有评估结果,省时
3.优化
①目标函数:机器学习模型使用该组超参数在验证集上的损失
②域空间:要搜索的超参数的取值范围
③优化算法:构造替代函数并选择下一个超参数值进行评估的方法
④结果历史纪录:来自目标函数评估的存储结果,包括超参数和验证集上的损失
梯度提升模型(gbm)
基于使用弱学习器(如决策树)组合成强学习器的模型。
通过超参数控制整个集合和单个决策树。(决策树数量、决策树深度)
python实现
k折交叉验证
1.原理
创建一系列训练集/测试集,计算模型在每个测试集上的准确率,计算平均值
2.步骤
①将原始数据集划分为相等的K部分(“折”)
②将第1部分作为测试集,其余作为训练集
③训练模型,计算模型在测试集上的准确率
④每次用不同的部分作为测试集,重复步骤2和3 K次
⑤将平均准确率作为最终的模型准确率
3.K-fold cross-validation 如何用于参数调优以及选择模型和特征
以 KNN 模型为例,当 KNN 的 K=5 时, 10-fold cross-validation (K-fold cross-validation 的 K 可以选择任意整数,但通常选择10,这是实践中效果最好的值)过程如下:
对于lris数据集进行相关操作有
利用 4-fold cross-validation 寻找 KNN 模型中效果最好的 K:
准确率最高的KNN的K的范围是[15,20],在 KNN 模型中,通常建议选择使得模型最简单的K值,越高的K会使模型复杂性越低,因此此例中选择 K=20 作为最好的 KNN 模型。