【问题标题】:the difference between labelling in SVM and ANNSVM 和 ANN 中标注的区别
【发布时间】:2017-03-01 06:08:16
【问题描述】:

我对机器学习的标签有疑问,最初我认为机器学习的标签都是一样的。在我尝试实践之后,发现 SVM 和 MLP 标记之间存在差异。真的吗 ? 我正在通过使用 LBP 获取特征来分配车辆(汽车、卡车和公共汽车)的分类,请帮我解决这个问题,有人可以解释如何为 SVM 和 MLP(ANN)做正确的标签???

【问题讨论】:

  • 是一样的,但是有些分类器是只为二分类任务构建的,而有些自然是多分类的(需要一些策略来解决二分类分类器的多任务问题) .但是您的问题质量很低,因为您根本没有提供任何细节。这也是题外话。

标签: image-processing classification svm multilabel-classification


【解决方案1】:

在大多数 ML 框架中,您使用一个数字来告诉每个数据的类别,该数字告诉每个数据的类别,但在内部:

SVM:

最初 SVM 公式用于二元分类,标签取值 +1 和 -1。

当你有n个类创建n个二元分类器时,你可以执行多类分类,在他的类中使用+1,在其他类中使用-1。

您选择其二元分类器获得更高输出的类。

但是大多数像 libsvm 这样的实现都是在内部完成的,所以你不必担心它。

MLP:

您可以使用 ANN 执行多类分类,方法是使用每个数据的输出训练网络,该输出是长度为 n 的向量,用 0 填充,在属于他的类的位置为 1。

【讨论】:

  • 提前感谢您的回答...但是您能否更详细地解释一下 MLP,因为我试图找到标记的方法但一直没能,我不明白如何制作标记它们的输出向量,请帮忙,因为我是这里的新手
  • 例如,如果你有 3 个类(汽车、卡车、公共汽车),汽车的标签可以是向量 [1,0,0],卡车的标签是 [0,1 ,0] 并且总线的标签是 [0,0,1]。训练好神经网络后,如果一辆新轿车的输出为 [0.1,0.7,0.2],那么您将其归类为卡车,因为第二个位置的输出最高,并且该位置对应于一辆卡车。
  • 哦,所以事实证明我有点知识,我猜是同一个 MLP svm 中的第一个标签,因此我用这个“Mat labels(numSamples, 3, CV_32FC1, Scalar (3,0));labels.rowRange(0, numcar) = 标量 (1.0);labels.rowRange(numcar, numcar + numbus - 1) = 标量 (2.0);labels.rowRange(numcar + numbus, numSamples - 1 ) = Scalar (3.0); " 事实证明我得到了相同的输出,不管它是否是标签中的错误?提前感谢已经回答了我的问题,请原谅我的语言很难理解
猜你喜欢
  • 2011-11-11
  • 2012-01-09
  • 2016-08-25
  • 2017-09-26
  • 2012-11-11
  • 2014-03-15
  • 2013-12-28
  • 2015-03-10
  • 2012-09-11
相关资源
最近更新 更多