位置: IT常识 - 正文

模型调优:验证集的作用(就是为了调整超参数)(模型如何优化)

编辑:rootadmin
模型调优:验证集的作用(就是为了调整超参数) 一、总结一句话总结:验证集的作用就是为了调整超参数1、超参数?

推荐整理分享模型调优:验证集的作用(就是为了调整超参数)(模型如何优化),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:模型参数调优,模型调参调的是什么,模型参数优化方法,模型如何优化,模型的调整,模型的调整,模型的调整,模型的调整,内容如对您有帮助,希望把文章链接给更多的朋友!

【超参数的值不是学习出来的】:大多数机器学习算法都有超参数,可以设置来控制算法行为。超参数的值不是通过学习算法本身学习出来的。

【超参数如果学习太难优化】:有时一个选项被设为学习算法不用学习的超参数,是因为它太难优化了。更多的情况是该选项必须是超参数,是因为它不适合在训练集上学习。

【超参数是我们自己设定的】:这适用于控制模型容量的所有超参数。如果在训练集上学习超参数,这些超参数总是趋向于最大可能的模型容量,导致过拟合。

2、如何解决超参数设置的问题?

【验证集样本】:为了解决解决超参数设置的问题,我们需要一个训练算法观测不到的验证集样本。

3、测试集不能帮助改善超参数?

【测试样本不能以任何形式参与到模型的选择之中,包括超参数的设定】:测试集可以用来估计学习过程完成之后的学习器的泛化误差,其重点在于测试样本不能以任何形式参与到模型的选择之中,包括超参数的设定,基于这个原因,测试集中的样本不能用于验证集。

【验证集帮助改善超参数】:因此,我们总是从训练数据中构建验证集。用于估计训练中或训练后的泛化误差,更新超参数。

4、模型超参数一般有哪些?

例如学习速率和特征等等

5、验证集是验证还是训练?

训练集用于训练模型的参数,验证集用于训练模型的超参数。不同超参数(hyper-parameter)组合,就对应着不同的潜在模型。验证集上跑的,实际上是一个模型集合,验证集的存在,就是为了从这一堆可能的模型中,找出表现最好的那个。

6、超参数重要性?

超参数包括训练轮数,学习速率等等。如果一个模型,训练数据比别人多得多,效果就会很好(参数训练的很到位),但是模型的架构(超参数设定)未必比别人好。

7、为什么不能在训练集上训练超参数?

好比训练轮数(epochs),在同样的训练集上,训练3轮和训练10轮,结果肯定是不一样的模型。它们的参数并不相同。那么到底是训练3轮好,还是10轮好?或者二者都不好,应该训练6轮?这种决策,只能在训练后,在验证集上见分晓。一般训练几个 epoch 就跑一次验证看看效果,如果发现训练3轮效果更好,那么就应该丢弃掉训练6轮、10轮的潜在模型,只用训练3轮的结果。

再好比网络层数,在训练集上训练的时候肯定是层数越多,拟合效果越好。如果你这样选出你的模型,在验证集上的效果肯定是差很多,这就是过拟合啦。所以必须从训练样本中取出一部分样本,即验证集,让模型训练的过程看不到这些样本,然后评估模型在这一部分样本中的表现,最终选出合适的网络层数。

其他的超参数选取,你也可以举一反三。总之就是按照验证集的效果,来选超参数,从而决定最终模型。

总结一下:在验证集上相当于手动调参(在训练集上是通过误差逆传播自动调参) 

下一步,把模型交给测试集去检验。测试集应该既不同于训练集,又不同于验证集。至于这个最终选择模型,在测试集上表现如何,没人能打包票。就像你模拟考试考得很好了,高考也可能翻车。

模型调优:验证集的作用(就是为了调整超参数)(模型如何优化)

怎样划分验证集

怎么设定验证集,划分多少数据做验证,其实是每个研究者需要独立作出的决策,不应该强行设定为一致。

10折交叉验证(10-fold Cross Validation)

选择固定训练集和测试集可能会出现划分偏差

因此将数据集随机分成10份,使用其中9份进行训练而将另外1份用作测试。该过程可以重复10次,每次使用的测试数据不同。

好处一是随即划分减小误差,二是每次采用90%的训练数据而不是2折交叉验证中仅仅50%的数据。

二、超参数和验证集

大多数机器学习算法都有超参数,可以设置来控制算法行为。超参数的值不是通过学习算法本身学习出来的。

有时一个选项被设为学习算法不用学习的超参数,是因为它太难优化了。更多的情况是该选项必须是超参数,是因为它不适合在训练集上学习。这适用于控制模型容量的所有超参数。如果在训练集上学习超参数,这些超参数总是趋向于最大可能的模型容量,导致过拟合。

为了解决这个问题,我们需要一个训练算法观测不到的验证集样本。

测试集可以用来估计学习过程完成之后的学习器的泛化误差,其重点在于测试样本不能以任何形式参与到模型的选择之中,包括超参数的设定,基于这个原因,测试集中的样本不能用于验证集。因此,我们总是从训练数据中构建验证集。特别地,我们将训练数据分成两个不相交的子集。其中一个用于学习参数。另一个作为验证集,用于估计训练中或训练后的泛化误差,更新超参数。用于学习参数的数据子集通常仍被称为训练集,尽管这会和整个训练过程用到的数据集相混。用于挑选超参数的数据子集被称为验证集。

使用测试集和训练集来推动模型开发迭代的流程。在每次迭代时,我们都会对训练诗句进行训练并评估测试数据,兵以基于测试数据的评估结果为指导来选择和更改各种模型超参数,例如学习速率和特征,这种方法是否存在问题?

存在,我们基于给定测试集执行评估的次数越多,不知不觉的过拟合该测试集的风险就越高。

将数据集划分为三个自己可以大幅度降低过拟合的发生几率。

该工作流程之所以更好,是因为它暴露给测试集的信息更少。

不断使用测试集和验证集会使其逐渐失去效果。也就是说,您使用相同数据来决定超参数设置或其他模型改进的次数越多,您对于这些结果能够真正泛化到未见过的新数据的信心就越低。请注意,验证集的失效速度通常比测试集缓慢。

如果可能的话,建议您收集更多数据来“刷新”测试集和验证集。重新开始是一种很好的重置方式。

验证集真正作用 - 范仁义 - 博客园

验证集到底有什么作用_anyanyanyway的博客-CSDN博客_验证集的作用

本文链接地址:https://www.jiuchutong.com/zhishi/296034.html 转载请保留说明!

上一篇:AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介、安装、使用方法之详细攻略

下一篇:web前端面试高频考点——Vue原理(理解MVVM模型、深度/监听data变化、监听数组变化、深入了解虚拟DOM)(web前端面试常见问题)

  • 鸡年春节互联网营销复盘:争夺注意力靠红包已不够(互联网春节礼盒)

  • 快团团怎么赚佣金(快团团怎么赚佣金合法吗)

  • opporeno 4pro是5g手机吗(oppo reno4 pro 5g好吗)

  • ipad2插卡版怎么上网(ipad插卡版如何插卡)

  • 蓝牙耳机如何激活双声道(蓝牙耳机如何激活充电功能)

  • 笔记本电脑播放无声音(笔记本电脑播放音乐没声音怎么办)

  • 苹果不在通讯录的号码打不进来怎么设置(苹果不在通讯录的短信怎么查看)

  • 开通抖音小店需要多少保证金(开通抖音小店需要缴纳多少保证金)

  • 微店退款成功没有到账(微店退款后)

  • 微信朋友圈怎么关闭别人的评论(微信朋友圈怎么统一回复评论)

  • 如果ip地址的主机号部分每一位均为(如果主机的ip地址为25)

  • 2p和1p+n的区别(2p和1p n)

  • 主板能插几个固态硬盘(主板可以装几条固态)

  • 华为mate30是不是曲屏(华为mate30什么型号)

  • word怎么弄成左右两页(word怎么弄成左右两页并排打印)

  • eml-al00是什么型号(EMLAL00是什么型号的手机)

  • 怎么关闭好友热播(怎么关闭好友热搜)

  • 人人视频投屏没反应(人人视频投屏没有弹幕)

  • 怎么解决笔记本风扇声音大的问题?(怎么解决笔记本电脑卡顿问题)

  • Chateau de Castelnaud in Perigord, France (© Peter Adams/Offset by Shutterstock)

  • HTML学习笔记 1-用HBuilderX写的HTML无法在浏览器上运行怎么办?问题出在这里:HBuilderX外部web服务支撑配置(html该怎么学)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络