【发布时间】:2016-12-24 10:53:26
【问题描述】:
我有 180 个元素的列向量,用于将其作为特征应用于我阅读的任何模式识别算法,因为我们需要对向量进行归一化。
向量的最大值和最小值分别为 19.04881 和 8.4015。
首先,我使用了 matlab 内置函数normc(vector),当我检查最大值和最小值时,我分别获得了 0.0693 和 0.0306。
其次,我使用normalised_vector = (vector-min(vector))./max(vector) 将值标准化为0 和1 的范围,其中我获得的最大值和最小值分别为0.5589 和0。
当在 matlab 中使用 normc 函数的描述时,它被描述为给定矩阵的归一化。但是其他例子给了我第二种方法。 在这两种方式中,归一化值是完全不同的,当应用我的算法使用这些值时,结果是完全不同的。 当我有负值时,这两种方法都不起作用。
哪种数据规范化方式是正确的方式?还是我的理解有误? 或者我在这里遗漏了一些概念? 我是在比较两种不相关的方法吗? 请建议!
【问题讨论】:
-
“正确”的方式取决于您对数据进行规范化的目的。