样本不同特征的取值范围如果不一样,可能导致迭代很慢,为了减少特征取值的影响,可以对特征数据进行缩放,加速算法的收敛。常见的映射范围有
[0,1] 和
[−1,1]。
常见的特征缩放方法有以下 4 种:
-
Scaling to unit length
xnew=∣∣x∣∣x
-
Rescaling (min-max normalization)
xnew=max(x)−min(x)x−min(x)
-
Mean normalization
xnew=max(x)−min(x)x−average(x)
-
Standardization
特征标准化,使每个特征的值有 零均值 (zero-mean) 和 单位方差 (unit-variance)。这个方法在机器学习算法中被广泛地使用,例如:SVM,逻辑回归和神经网络。公式如下:
xnew=σx−μ
其中
μ 是样本数据的均值(average),
σ 是样本数据的标准差(std)。
标准差
std 的定义为:
std(x)=N∑(x−average(x))2
其中,
N 为样本总数。
原图 -> 减去均值 -> 除以标准差:
标准化 和 归一化 这两个中文词,主要指代以上四种 特征缩放 (Feature scaling) 方法。