Normalization: usually rescales features to [0,1].
Regularization: Different from the feature scaling techniques mentioned above, regularization is intended to solve the overfitting problem.
简述
Normalization 就是把数据进行前处理,从而使数值都落入到统一的数值范围,从而在建模过程中,各个特征量没差别对待。Normalization 一般是把数据限定在需要的范围,比如一般都是 {0,1} ,从而消除了数据量纲对建模的影响。并且对基于 gradient descent 的算法友好,能加快训练速度,促进算法的收敛。
注:Standardization 是 Normalization 的一种特殊情况,它对数据进行正态化处理,使数据的平均值为1,方差为0。
Regularization 是在 cost function 里面加惩罚项,增加建模的模糊性,从而把捕捉到的趋势从局部细微趋势,调整到整体大概趋势。虽然一定程度上的放宽了建模要求,但是能有效防止过拟合(over-fitting)的问题。
Normalization
Normalization 的手段很多,主要有:
- min-max normalization: x′=max−minx−min .
- logarithmic transformations:x′=log(xmax)log(x) .
- arctan function:x′=arctan(x) .
- zero mean normalization:x′=σx−μ
Regularization
Regularization 主要是处理过拟合的情况,它对某些特征值进行处罚,简单来说就是降低重要性。
以 Liner Regression 为例,在算法中,我们的步骤为:
cost function:
J(θ)=2m1[i=1∑m(hθ(x(i))−y(i))+λj=1∑nθj2]
求导完后有梯度下降迭代式,其中 x0 始终为 1 ,不参与迭代:
Repeat until convergence{θ0:=θ0−α⋅m1∑mi=1(hθ(x(i))−(y(i))x0(i)θj:=θj−α⋅[(m1∑mi=1(hθ(x(i))−(y(i))xj(i))+mλθj]}