数据归一化是数据预处理中的一个重要步骤,目的是将不同尺度的数据转换到一个相对较小的特定区间内,以便提高模型训练的效率和性能。以下是几种常见的数据归一化方法:
1. 最小-最大归一化(Min-Max Normalization)
这种归一化方法将数据缩放到一个固定的范围,通常是 [0, 1]。
X ′ = X − X min X max − X min X' = \frac{X - X_{\text{min}}}{X_{\text{max}} - X_{\text{min}}} X′=Xmax−XminX−Xmin
解释
X 表示原始数据点 X min 表示数据集中的最小值 X max 表示数据集中的最大值 X ′ 表示归一化后的值 X \text{ 表示原始数据点} \\ X_{\text{min}} \text{ 表示数据集中的最小值} \\ X_{\text{max}} \text{ 表示数据集中的最大值} \\ X' \text{ 表示归一化后的值} X 表示原始数据点Xmin 表示数据集中的最小值Xmax 表示数据集中的最大值X′ 表示归一化后的值
2. Z-score 标准化(Standardization)
这种方法通过减去均值并除以标准差来标准化数据,结果是具有零均值和单位方差的数据分布。
X ′ = X − μ σ X' = \frac{X - \mu}{\sigma} X′=σX−μ
解释
X 表示原始数据点 μ 表示数据集的平均值 σ 表示数据集的标准差 X ′ 表示标准化后的值 X \text{ 表示原始数据点} \\ \mu \text{ 表示数据集的平均值} \\ \sigma \text{ 表示数据集的标准差} \\ X' \text{ 表示标准化后的值} X 表示原始数据点μ 表示数据集的平均值σ 表示数据集的标准差X′ 表示标准化后的值
3. 小数定标归一化(Decimal Scaling Normalization)
这种方法通过移动数据的小数点位置来进行归一化。小数点的位置取决于绝对值的最大值。
X ′ = X 1 0 j X' = \frac{X}{10^j} X′=10jX
解释
X 表示原始数据点 1 0 j 是一个调整因子,使得 ∣ X ′ ∣ < 1 X ′ 表示归一化后的值 X \text{ 表示原始数据点} \\ 10^j \text{ 是一个调整因子,使得 } |X'| < 1 \\ X' \text{ 表示归一化后的值} X 表示原始数据点10j 是一个调整因子,使得 ∣X′∣<1X′ 表示归一化后的值
4. L2 归一化(L2 Normalization)
这种方法通过将每个样本除以其L2范数来归一化,确保每个样本的欧几里得长度为1。
X ′ = X ∥ X ∥ 2 X' = \frac{X}{\|X\|_2} X′=∥X∥2X
解释
X 表示原始数据点 ∥ X ∥ 2 表示向量 X 的L2范数,即 ∑ i = 1 n x i 2 X ′ 表示归一化后的值 X \text{ 表示原始数据点} \\ \|X\|_2 \text{ 表示向量 } X \text{ 的L2范数,即 } \sqrt{\sum_{i=1}^{n} x_i^2} \\ X' \text{ 表示归一化后的值} X 表示原始数据点∥X∥2 表示向量 X 的L2范数,即 i=1∑nxi2X′ 表示归一化后的值
5. Max 归一化
这种方法通过将每个样本除以该样本的最大值来实现归一化,通常用于非负数值。
X ′ = X X max X' = \frac{X}{X_{\text{max}}} X′=XmaxX
解释
X 表示原始数据点 X max 表示样本中的最大值 X ′ 表示归一化后的值 X \text{ 表示原始数据点} \\ X_{\text{max}} \text{ 表示样本中的最大值} \\ X' \text{ 表示归一化后的值} X 表示原始数据点Xmax 表示样本中的最大值X′ 表示归一化后的值