首页 > 试题广场 >

为什么要进行归一化,有哪些归一化方法,那些模型需要归一化,那

[问答题]
为什么要进行归一化,有哪些归一化方法,那些模型需要归一化,那些不需要,为什么
数据中各特征的值域不同,在使用梯度下降算法更新模型参数时,如果不对特征进行归一化处理,会影响参数更新速率,使模型需要更长的时间才能收敛。还有一些模型是基于距离设计的,量纲对模型影响较大,因此需要对特征进行归一化。

常见的归一化方法有:最小最大归一化、z-score(零均值)归一化

使用梯度下降更新模型参数的模型需要对数据归一化,如LR、DNN等;
基于距离设计而需要统一量纲的模型也需要对数据归一化,如KNN、SVM、K-means等。

而不使用梯度下降的则不需要,如决策树-base的模型,像DT、RF、GBDT、AdaBoost、XGBoost、LGBM等。
编辑于 2021-02-04 12:39:12 回复(0)
<p>树模型不需要归一化</p>
发表于 2021-01-17 23:33:42 回复(0)
需要进行归一化的原因:
模型中存在对不同特征进行线性加权求和这种操作的时候通常都需要对特征进行归一化操作(如LR,SVM,以及深度学习的模型)。这样的广义线性模型一般在训练的过程中都涉及到梯度下降的过程,而特征之间的取值范围相差悬殊时往往会对这样的数值求解方法产生不良影响(如梯度消失、梯度爆炸),导致模型不收敛。因此常通过特征归一化来消除特征量纲对模型训练的影响。
常用的归一化方法:最大最小值归一化、去均值/标准差、去中值/标准差,深度学习中还有Batch Normalization、Layer Normalization等归一化方法。
不需要进行归一化的模型:决策树、GBDT、XGBoost、LightGBM、CatBoost这样的树模型,它们在训练的过程中通过信息增益、信息增益率、gini系数来进行树的生长,不涉及梯度下降过程。

编辑于 2021-01-16 13:06:28 回复(0)