【问题标题】:Why are negative images used in training?为什么在训练中使用负面图像?
【发布时间】:2016-07-13 00:51:07
【问题描述】:

在训练分类器时,我们为什么要使用负面或背景图像?它们如何用于训练对象分类器? 谁能解释一下如何使用任何编程语言(如 MATLAB)进行训练的一般过程?

【问题讨论】:

  • 请提供示例图片或其他信息。您可以使用任何东西来训练分类器...如果没有上下文,您将无法得到好的答案
  • 因为你想给出学习算法的例子,说明什么不要找。为机器学习系统提供所有正面图像意味着它只会假设一切都是正面的。从人脑的角度来想一想……我们到底是如何知道汽车的功能和外观的?我们查看不是汽车的图像,然后从中学习。

标签: machine-learning computer-vision training-data haar-classifier adaboost


【解决方案1】:

训练本身就是一个优化问题。这个优化问题试图优化分类精度。如果没有 -ve 个样本,就不存在优化问题,边界可以设置为 +,- 无穷大,将所有样本分类为正

【讨论】:

    【解决方案2】:

    首先,我怀疑你会得到how to train a classifier in matlab 的任何答案。这是一个非常模糊的问题。很大程度上取决于您的数据和您的目标,并且基本上有数十到数百种算法可以执行分类,这并不那么简单。

    对于主要问题,为什么将负样本提供给分类器。这在很大程度上取决于您使用的分类器,但简而言之,有两种分类模型(还有更多,但要总结一下):generative modelsdiscriminative models

    生成模型旨在对目标类(例如,您正在尝试为汽车建模)的统计数据(外观或任何其他类型的特征)建模。然后,生成模型将学习一种方法(从正例的训练数据)来识别汽车。也就是说,给定一个随机样本,它会告诉您该样本由您的汽车模型创建的可能性。举个愚蠢的例子,你的模型是一个单变量高斯分布,然后模型会告诉你从你学到的高斯分布中采样数据样本(点)的可能性。

    当您没有负训练数据,或者您的数据可以通过简单分布建模时,生成模型非常有用。但模型学习汽车长什么样子,它不知道汽车长什么样子

    另一方面,判别模型学习更复杂(通常是稳健的)规则来区分目标类别。拥有一组目标对象(例如汽车和背景,或汽车、自行车、房屋和天空),而不是学习汽车看起来如何,算法尝试学习汽车的外观如何汽车与背景不同

    如果你所有的记忆中只包含 100 张汽车的照片,然后给你一张摩托车的照片,你很难说摩托车不是汽车(你有以前从未见过),两张照片都有背景和轮子。但是,如果给您 50 张汽车图像和另外 50 张随机街道图片(包括例如自行车),您可以学习更强的关系,以便将来尝试识别汽车。

    【讨论】:

    • 很好的解释。 +1。我特别喜欢你提到的生成模型和判别模型。
    猜你喜欢
    • 2016-08-23
    • 2016-05-12
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-09
    • 2020-09-22
    相关资源
    最近更新 更多