当前位置:   article > 正文

神经网络深度学习(四)特征处理_深度学习 特征处理

深度学习 特征处理

目录

一、为什么需要对特征进行归一化

二、常见归一化方法

2.1 归一化方法分类

2.1 常见归一化方法

1 线性比例变换法 

2 min/max归一化

3 均值标准化

4 分位数归一化

三、Batch Normalization

四、特征异常值处理


一、为什么需要对特征进行归一化

原因:消除数据特征之间的量纲影响,加速模型收敛,提高模型泛化能力。

适用模型:比如线性回归、逻辑回归、支持向量机、神经网络等模型,而决策树模型中则不需要归一化处理。

二、常见归一化方法

2.1 归一化方法分类

特征取值归一化到[0,1]区间。常用的归一化方法包括

a). 函数归一化:通过映射函数将特征取值映射到[0,1]区间,例如最大最小值归一化方法,是一种线性的映射。还有通过非线性函数的映射,例如log函数等。

b). 分维度归一化:可以使用最大最小归一化方法,但是最大最小值选取的是所属类别的最大最小值,即使用的是局部最大最小值,不是全局的最大最小值。

c). 排序归一化:不管原来的特征取值是什么样的,将特征按大小排序,根据特征所对应的序给予一个新的值。

2.1 常见归一化方法

1 线性比例变换法 

        y = x / max(x)

2 min/max归一化

        y = (x - min(x)) / (max(x) - min(x))

缺点:当有新数据加入时,会导致min(x) 与 max(x) 的变化,需要重新定义。

3 均值标准化

        y = (x - mean(x)) / alpha

对数据进行归一化的本质:使得数据分布的均值为0,方差为1。

4 分位数归一化

        降低模型敏感度,提高模型鲁棒性。因为有些特征值微小变化可能是无意义的。

三、Batch Normalization

目的: 解决在训练过程中,中间层数据分布发生改变的情况。对每一层输出,计算平均值和标准差并进行归一化。

注意点: 训练阶段和测试阶段中BN层的数据是不一样的,训练阶段为每一个batch数据计算出结果,而测试阶段这些参数已固定。

Batch Normalization  vs Layer Normalization: 

batch Normalization 对不同特征做了对应的处理。

四、特征异常值处理

4.1 缺失值

     1).  填充默认值 

     2). 默认值单独学习

4.2 异常值

     分位数过滤

深度学习自学记录(6)——标准化、归一化和BatchNormal的理解_胖大海pyh的博客-CSDN博客

神经网络中的归一化方法总结_商业新知

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/328478
推荐阅读
相关标签
  

闽ICP备14008679号