天天看点

高光谱数据预处理之数据归一化

高光谱数据读入后进行数据归一化,以下为其他博主整理的归一化的几种方法,原文https://blog.csdn.net/qq_35166974/article/details/87981252,如有不妥请联系删帖

下面我将开始介绍一系列高光谱数据预处理算法,在我们采集到高光谱数据之后,其中含有很多噪音,如果直接建模的话,这些噪音会影响建模效果。因此,我们要先进行一定预处理,将其中的噪音去除。常用的预处理算法有标准化/归一化、移动平均窗口平滑、SG平滑等。今天我将先介绍比较简答的预处理算法:数据标准化/归一化。

数据的标准化/归一化(normalization)就是将数据按照比例缩放、平移,使数据落入一个小的特定区间中。

数据标准化/归一化的作用是消除数据量纲的影响,使数据指标之间具有可比性,对模型的建立至关重要,下面举一个简单明了的例子:房子的价格受面积与楼层数影响,因此可以根据面积和楼层数建立一个房价的数学模型。但是,我们可以看出房子的面积数值很大,而楼层数数值很小,因此面积对模型的影响大于楼层数。因此,我们要对数据进行标准化和归一化,统一数据的范围,消除量纲的一影响。

下面我将介绍几个常用的标准化/归一化方法:

①min-max标准化:

其表达是为:

高光谱数据预处理之数据归一化
高光谱数据预处理之数据归一化

原始数据

高光谱数据预处理之数据归一化

min-max标准化数据

②z-score标准化:

其表达式为:

高光谱数据预处理之数据归一化
高光谱数据预处理之数据归一化

原始数据

高光谱数据预处理之数据归一化

z-score标准化数据

③logistic变换:

该变换的作用是将负无穷到正无穷的数据投影到到0、1范围内,在支持向量机、神经网络等机器学习算法中用到,函数的一般形式为下式,.如图即为logistic函数曲线。其表达式为:

高光谱数据预处理之数据归一化
高光谱数据预处理之数据归一化

④中心化(centering):

中心化与上述变换有所区别,该过程只对数据进行了平移,没有进行缩放,一般在主成分提取前进行数据中心化,使提取的主成分能够较好的应用向量描述。其表达式为:

高光谱数据预处理之数据归一化
高光谱数据预处理之数据归一化

原始数据

高光谱数据预处理之数据归一化

中心化数据

 以上就是常用的几种数据标准化过程,下面给出其实现代码:

function [nx] = normaliz(x)

% Normalize matrix rows dividing by its norm

% [nx] = normaliz(x)

% input:x–>data to normalize

% output:nx–>normalized data

% Auther:等等等等-ande

%min-max normalized

[m n]=size(x);

min_x=min(x);

max_x=max(x);

nx=x;

for i=1:m

nx(i,:)=(x-min_x)/(max_x-min_x);

end

%%

%z-score normalized

[m n]=size(x);

mean_x=mean(x);

var_x=var(x);

for i=1:m

nx(i,:)=(x-mean_x)/var_x;

end

%%

%centering

[m,~]=size(x);

mx= mean(x);

nx=(x-mx(ones(m,1)😅);

end

当然,除了这几种常见的标准化,还有很多其他形式,这里就不介绍了,大家用到的时候可以查相关资料~

下面我将开始介绍一系列高光谱数据预处理算法,在我们采集到高光谱数据之后,其中含有很多噪音,如果直接建模的话,这些噪音会影响建模效果。因此,我们要先进行一定预处理,将其中的噪音去除。常用的预处理算法有标准化/归一化、移动平均窗口平滑、SG平滑等。今天我将先介绍比较简答的预处理算法:数据标准化/归一化。

数据的标准化/归一化(normalization)就是将数据按照比例缩放、平移,使数据落入一个小的特定区间中。

数据标准化/归一化的作用是消除数据量纲的影响,使数据指标之间具有可比性,对模型的建立至关重要,下面举一个简单明了的例子:房子的价格受面积与楼层数影响,因此可以根据面积和楼层数建立一个房价的数学模型。但是,我们可以看出房子的面积数值很大,而楼层数数值很小,因此面积对模型的影响大于楼层数。因此,我们要对数据进行标准化和归一化,统一数据的范围,消除量纲的一影响。

下面我将介绍几个常用的标准化/归一化方法:

①min-max标准化:

其表达是为:

高光谱数据预处理之数据归一化
高光谱数据预处理之数据归一化

原始数据

高光谱数据预处理之数据归一化

min-max标准化数据

②z-score标准化:

其表达式为:

高光谱数据预处理之数据归一化
高光谱数据预处理之数据归一化

原始数据

高光谱数据预处理之数据归一化

z-score标准化数据

③logistic变换:

该变换的作用是将负无穷到正无穷的数据投影到到0、1范围内,在支持向量机、神经网络等机器学习算法中用到,函数的一般形式为下式,.如图即为logistic函数曲线。其表达式为:

高光谱数据预处理之数据归一化
高光谱数据预处理之数据归一化

④中心化(centering):

中心化与上述变换有所区别,该过程只对数据进行了平移,没有进行缩放,一般在主成分提取前进行数据中心化,使提取的主成分能够较好的应用向量描述。其表达式为:

高光谱数据预处理之数据归一化
高光谱数据预处理之数据归一化

原始数据

高光谱数据预处理之数据归一化

中心化数据

 以上就是常用的几种数据标准化过程,下面给出其实现代码:

function [nx] = normaliz(x)