百科问答小站 logo
百科问答小站 font logo



测试集在构造的时候需要人为控制其中应该正确的和应该错误的数据比例吗? 第1页

  

user avatar   wang-yu-64-9 网友的相关建议: 
      

如果说你是在讨论机器学习/深度学习问题:

理论上,当然一个好的Object Detection的model可以学习到你的sample里有没有object,你需要做的是,在训练的时候,给一些样本,标注label为no object的类别,或者我们说的negative sample。

实践来说,可以把你的问题拆分成两个步骤,一个是识别有没有object,另一个是识别是什么object,那么对应的,通常来说可以用两种办法来解决:

1.two-stages, 第一个stage识别,sample有没有object;第二个stage给你的object做分类

2.one-stage,把两个合并到一起,直接识别并且给分类结果

不管哪种方法,在training的时候,你都需要训练,什么是object,什么不是,就意味着你需要negative的样本。假设你用的softmax,如果你的训练样本里都是有汽车的,那么在testing的时候,任何一个图片,即使没有汽车模型,根据softmax,你的模型总会给出你一个汽车模型的类别。这可能不是你想要的,但是至少是模型认为最有可能的汽车模型。

所以,如果你觉得在testing的时候,你会遇到这样的问题,那么在训练的时候,你需要加入negative的样本,这里的negative样本,可以是其他类别,人,或者anything you don't care,把他们划分到一类,我们可以叫他background。这样训练好之后,你的model在面对并没有汽车的图片的时候可以降低objectness的probability,增加background的概率,告诉你,这张图片没有任何汽车 。

就像你教幼儿园小孩子识别,这个图片是Audi,这个图片是benz,这个图片是bmw,那么你再新给出一张图片的时候,没有任何汽车的时候,他可能会觉得没有,但是你之前你教他的是,必须给出一个汽车答案,那他可能会硬着头皮,觉得最有可能像什么就告诉你什么,这就是实际的model干的事情;但是如果你在教他的时候,带他识别一些其他的类别,如果没有汽车就说没有(negative sample),那么他在遇到其他的图片的时候可能就会告诉你没有看见。

理论上,一个智能的系统,应该从training set里就能知道有没有object。也许你可以尝试的trick是,设置一个threshold,在Softmax之前,如果高于threshold就是确信有object,如果低于,就是没有; 或者Softmax之后,根据confidence score设置threshold。但通常不是推荐的办法,因为threshold的设置很tricky & unstable。还有一些相关的技术叫做Anomaly Detection,可以阅读一下,说不定可以帮助你。

最后,值得注意的就是正样本和负样本的比例,最好的情况是每个class样本量都一样,如果办不到,通常可以做oversampling 和downsampling,另外class weight也可以调节,然后看看你的metrics,选取最合适的参数(调参)。




  

相关话题

  如何评价最新的Octave Convolution? 
  有谁照着论文把 AlphaGo 重现出来了? 
  Learning To Rank的pair wise方法如何得到全局排序结果呢? 
  如何评价英伟达于 GTC 2021 大会发布的基于 ARM 架构的 Grace CPU? 
  搞机器学习的生环化材是天坑吗? 
  如何看待 AlphaFold 在蛋白质结构预测领域的成功? 
  有没有根据一张人物的立绘正面像,自动生成同风格各侧面角度像并自动衍生表情的软件啊? 
  如果学习从零开始学习Pytorch,有优秀的开源项目可以推荐吗? 
  如果人工智能迎来下一个寒冬,你认为会是卡在什么问题上? 
  深度学习中,模型大了好还是小了好呢? 

前一个讨论
有哪些茶香的香水推荐?
下一个讨论
如何评价郭杰瑞旧一期视频云南咖啡以及淘宝店?





© 2025-06-26 - tinynew.org. All Rights Reserved.
© 2025-06-26 - tinynew.org. 保留所有权利