有验证集了为什么还要测试集?

测试集与验证集的存在主要是为了把调参与评估泛化能力分为两个相对独立的步骤,体现了正交化思想。

验证集一般用于进一步确定模型中的超参数(例如正则项系数、神经网络中隐层的节点个数,k值等),而测试集只是用于评估模型的精确度(即泛化能力)。

举个例子:假设建立一个BP神经网络,对于隐含层的节点数目我们并没有很好的方法取确定,此时一般将节点数设为某一具体的值,通过训练出相应的参数后,再由验证集取检测该模型的误差;然后再改变节点数,重复上述过程,直到模型在验证集上误差最小。此时的节点数可以认为是最优节点数。但是这只是在验证集上的表现最优而已,事实上在调整节点数的这个过程当中,我们已经不知不觉的让调整节点数的方向往达到验证集最小误差这个目标去了。但事实上,在验证集误差最小通常并不代表在整个数据集上的误差也会小(因为我们是利用验证集上的表现来调整超参数的,因此在调整超参数的过程当中,验证集的误差在不断减少是必然的),因此需要另外一个数据集来测试模型真正的泛化能力,即测试集。

测试集是在模型确定好所有参数之后,根据测试误差来评判这个模型好坏的一个数据集。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在YOLOv5的原码中,确实没有提供测试集。你可以根据自己的需求,将测试集数据放在yolov5文件夹中的paper_data文件夹中进行处理。paper_data文件夹主要用来处理自己的原始数据集,需要包含.jpg和.xml数据。如果你的图片还没有进行标注,建议先使用labelImg等工具对图片进行标注,然后将标注结果保存为.xml文件放在paper_data文件夹中。这样你就可以使用YOLOv5进行测试了。\[1\]\[2\]另外,有些同学可能会遇到UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 34: illegal multibyte sequence的解码错误。这个错误通常是由于文件编码问题引起的,可以尝试将文件编码转换为UTF-8来解决这个问题。\[3\]希望对你有所帮助! #### 引用[.reference_title] - *1* *2* [YOLOv5源码配置教程(训练自己的数据集)](https://blog.csdn.net/ClintonCSDN/article/details/127036176)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [YOLOv7保姆级教程(个人踩坑无数)----训练自己的数据集](https://blog.csdn.net/weixin_55749226/article/details/128480595)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值