机器学习的机器|Tuning,机器学习之Hyperparameter
机器学习时模型训练非常简单 , 将数据分成训练集(trainingset)和测试集(testingset) , 用trainingset训练模型 , 然后将模型应用到testingset上评估模型的好坏 。
【机器学习的机器|Tuning,机器学习之Hyperparameter】怎么优化模型 , 使得模型更加稳定有效呢?
方法是超参数优化(Hyperparametertuning) 。 比如我们有3个hyperparameter , 每个Hyperparameter可以设置3个数值 , 这样我们就可以得到3X3X3=27个组合 , 然后用相同的训练集分别训练27个模型 , 将这27个模型分别应用在testingset上 , 就可以比较出那组Hyperparameter组合比较好 。
但是 , 当我们把模型应用到真实场景的时候 , 往往会发现模型效果比在testingset上差很多 。 为什么会出现这样的问题呢?原因是我们调整参数的时候都是用的一套testingset , 所以我们选择的参数只是适应这个特殊的数据集 。 这时候validationset就该上场了!
这次数据就不能只分为训练集和测试集了 , 而是在训练集和测试集之外再分出验证集(validationset) 。 在Hyperparametertuning时将训练的模型应用到validationset上挑选出最好的Hyperparameter组合 , 然后将最好组合的模型应用到testingset上 , 得到模型的最终效果 。
这时候另外一个问题出现了 , 由于我们这次将模型应用在一个固定validationset上 , 而validationset有可能太大或者太小 , 这次得到的模型很有可能不是模型的最优解 , 怎么办呢?我们可以用kfoldcrossvalidation来解决这个问题 。 如下图 , 首先将数据分为训练集和测试集 , 训练集再分为k份(例子中是5份) , 模型训练的时候用其中的k-1份作为训练集 , 用剩下的一份数据作为验证集 , 这样训练k个模型 , 将k次建模结果的平均数作为这个Hyperparameter组合的最终结果 , 这样得到模型的最优解 。
文章图片
推荐阅读
- 哈工海渡|新一代智能办公机器人系统上线,数字白领“上岗”
- 中投顾问|2020-2024年中国协作机器人产业的分析
- 博森科技苏闻衫|CCR炒币机器人和手动炒币的优缺点解析
- 光一样的少年|就连皮肤都拟人化的女性机器人,真的可以代替另一半?,不仅造型
- 淄博市体育总会|战斗吧!淄博市第四届智力运动会素质体育机器人运动大赛开赛
- 机器人|“女性机器人”为何备受喜爱?买家:触感好、逼真,还有3大功能
- 品品科技|了解情绪划分:如何使用机器学习来保持积极心态?
- 过往年少|女用户满意度高达98%,男网友:我们咋办?,男性机器人爆火
- 这里是乌海|大开眼界!乌海市第二届青少年机器人竞赛开赛
- 是热爱机器人的小领拓|新高:机器人集齐水陆空三方价值