【问题标题】:Combining an image classifier and an expert system结合图像分类器和专家系统
【发布时间】:2016-07-02 01:14:19
【问题描述】:

在图像分类应用程序中包含专家系统是否准确? (我在使用 Matlab,有一些图像处理经验,没有专家系统经验。)

我打算做的是添加一个额外的特征向量,它实际上是一个问题的答案。这样好吗?

例如:假设我有两个问题想要回答:Question 1Question 2。知道这两个问题的答案应该有助于更准确地对测试图像进​​行分类。我了解expert systems 的编码方式与图像分类器不同,但我的问题是,以数字形式包含这两个问题的答案是否是错误的(1 可以是,0 可以是no) 并将此信息与其他特征向量一起传递到分类器中。

如果重要的话,我当前的分类器是 SVM。

关于训练图像:是的,它们也将使用 2 个额外的特征向量进行训练。

【问题讨论】:

  • 视情况而定。你的其他特点是什么?其他特征如何归一化?您在 SVM 中使用哪个内核?作为一个简短的回答者,请查看crossvalidated 中提出的相同问题。
  • 其他特征是来自 Matlab 的 graycoprops 的纹理细节。不,它们没有标准化。 SVM 使用默认的线性内核。
  • 那么,只要你标准化纹理特征(每列减去均值并除以其标准差)并将二进制变量编码为(-1, 1)线性 SVM 应该表现良好(作为链接问题状态的答案)。它是否会提高您的性能取决于这些二元变量的质量。
  • 谢谢!你能告诉我,如果我为我的 SVM 使用不同的内核或者我不标准化这些值,为什么会出现问题?

标签: matlab image-processing expert-system


【解决方案1】:

将一组 cmets 转换为答案:

交叉验证中的similar question 已经解释说,只要数据经过适当的预处理就可以完成。

简而言之:只要正确预处理训练(和测试)数据(例如standardized),您就可以将它们组合起来。标准化提高了大多数线性分类器的性能,因为it scales the variables so they have the similar weight in the learning processimproves the numerical stability (and performance) 当变量从类高斯分布中采样时(通过标准化实现)。

这样,如果连续变量被标准化并且分类变量被编码为(-1, +1),那么 SVM 应该可以正常工作。是否会提高分类器的性能取决于这些分类变量的质量

回答评论中的另一个问题.. 在使用带有 卡方内核 的内核 SVM 时,训练数据的行应该表现得像直方图(都是正数,通常是 l1-标准化),因此引入(-1, +1) 功能会破坏内核。使用 RBF 内核,假设数据行是 L2 规范化的,同样,引入 (-1, +1) 功能可能会引入意外行为(我不太确定效果到底是什么...... )。

【讨论】:

  • 感谢您的回答。只是一个简单的问题,标准化与 Matlab 中的标准化相同吗?
  • @john 是,但同时不是。 matlab 中的归一化将适用于整个矩阵。您想要规范化每一列。 mathworks 中的这个答案显示how to do that in matlab
  • 我理解这会将列标准化为 0-1 范围内的值(每列的值也总计为 1)。在您的回答中,您说分类变量设置为+1-1-1 对我来说似乎有点不对劲。这不会抵消准确性,因为它是底片中唯一的值吗?
  • @john 不,它不会将列标准化为[0, 1]。减去平均值并除以每列的标准差(标准差)将使每列的平均值=0 和标准差=1,这意味着值的范围从[-a, +b] 是每列 0 的平均值。(如果[0,1]是 matlabs normalize 所做的,那么我之前的 yes 答案是错误的,抱歉哈哈,不是 matlab 用户)。
  • 感谢您的帮助。我继续在 Matlab 中对其进行了编码,我所有的测试数据都被分类到 category 1,而没有分类到 category 2。这可能是我忽略的事情,所以让我回顾一下我做了什么。我按列对所有训练数据进行了标准化,因此最大值为1,最小值为-1,其余分布在两者之间。接下来我添加了 2 个类别变量,-1 用于 no+1 用于 yes。现在测试数据呢?到目前为止,我只是按原样通过它。无归一化,其类别值与训练类别值相似。
【解决方案2】:

我曾解决过类似的问题。如果可以从图像中提取多个特征,那么您可以通过使用不同的特征来训练不同的分类器。您可以将这些分类器视为根据他们在训练中使用的特征来回答问题的专家。与其使用标签作为输出,不如使用置信度值。以这种方式,不确定性可能非常重要。您可以使用这些专家来产生价值。这些值可以组合并用于训练另一个分类器。

【讨论】:

    猜你喜欢
    • 2018-03-05
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 2012-05-15
    • 2019-08-29
    • 2011-12-22
    • 2010-09-27
    • 2013-05-05
    相关资源
    最近更新 更多