百科问答小站 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,选取最合适的参数(调参)。




  

相关话题

  神经网络中 warmup 策略为什么有效;有什么理论解释么? 
  为什么现在的手机店无法复原格式化的U盘数据,现在的科学很难做到这一点吗? 
  现在tensorflow和mxnet很火,是否还有必要学习scikit-learn等框架? 
  在哪里能找到各行业的分析研究报告? 
  多任务学习成功的原因是引入了别的数据库还是多任务框架本身呢? 
  OpenAI 发布文字生成图像工具 DALL·E 2,它的画作水平如何?从技术角度如何评价它的能力? 
  如何评价陈天奇的模块化深度学习系统NNVM? 
  机器学习如何才能避免「只是调参数」? 
  如何评价 马毅教授 的 NeurIPS 2020 中稿文章 MCR2 及 自称弄明白深度学习了? 
  nlp有哪些值得完整实现一遍的算法? 

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





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