我有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函數的描述時,它將描述爲給定矩陣的歸一化。但是其他例子給了我第二種方法。 從這兩種方式中,歸一化的值是完全不同的,當使用這些值應用我的算法時,結果是完全不同的。 這兩種方法都不起作用,當我有負值的時候。
哪種數據規範化方式是正確的方式?或者我的理解錯了? 或者我在這裏錯過了一些概念? 我在比較兩種不相關的方法嗎? 請建議!
「正確」的方式取決於您對歸檔數據的目的。 – excaza