• 验证集真正作用


    验证集真正作用

    一、总结

    一句话总结:

    验证集的作用就是为了调整超参数

    1、超参数?

    【超参数的值不是学习出来的】:大多数机器学习算法都有超参数,可以设置来控制算法行为。超参数的值不是通过学习算法本身学习出来的。
    【超参数如果学习太难优化】:有时一个选项被设为学习算法不用学习的超参数,是因为它太难优化了。更多的情况是该选项必须是超参数,是因为它不适合在训练集上学习。
    【超参数是我们自己设定的】:这适用于控制模型容量的所有超参数。如果在训练集上学习超参数,这些超参数总是趋向于最大可能的模型容量,导致过拟合。

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

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

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

    【测试样本不能以任何形式参与到模型的选择之中,包括超参数的设定】:测试集可以用来估计学习过程完成之后的学习器的泛化误差,其重点在于测试样本不能以任何形式参与到模型的选择之中,包括超参数的设定,基于这个原因,测试集中的样本不能用于验证集。
    【验证集帮助改善超参数】:因此,我们总是从训练数据中构建验证集。用于估计训练中或训练后的泛化误差,更新超参数。

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

    例如学习速率和特征等等

    二、超参数和验证集

    转自或参考:超参数和验证集
    https://blog.csdn.net/u012193416/article/details/80838595

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

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

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

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

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

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


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

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

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

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

     
    我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
    博主25岁,前端后端算法大数据人工智能都有兴趣。
    大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
    聊技术,交朋友,修心境,qq404006308,微信fan404006308
    26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
    人工智能群:939687837

    作者相关推荐

  • 相关阅读:
    字符串转义 保存到mysql
    vue项目引入背景图报Module not found: Error: Can't resolve './src/assets/img/bg2.jpg' in'xxx'错误
    vscode启动项目时报错:ERROR Failed to compile with 22 errors ,These relative modules were not found:
    整合阿里云视频播放器
    layer.open输入字数实时显示
    layer.prompt弹框
    解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题
    微信扫码登录(OAuth2)
    阿里云短信服务
    单点登录(token,JWT)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13792258.html
Copyright © 2020-2023  润新知