一就是特征组合问题,比如房子的长和宽作为两个特征参与模型的构造,不如把其相乘得到面积然后作为一个特征来进行求解,这样在特征选择上就做了减少维度的工作。

二就是特征归一化(Feature Scaling),这也是许多机器学习模型都需要注意的问题。

有些模型在各个维度进行不均匀伸缩后,最优解与原来不等价,例如SVM。对于这样的模型,除非本来各维数据的分布范围就比较接近,否则 必须进行标准化,以免模型参数被分布范围较大或较小的数据dominate。

有些模型在各个维度进行不均匀伸缩后,最优解与原来等价,例如logistic regression。对于这样的模型,是否标准化理论上不会改变最优解。但是,由于实际求解往往使用迭代算法,如果目标函数的形状太“扁”,迭代算法可能收敛得很慢甚至不收敛。所以对于具有伸缩不变性的模型, 最好也进行数据标准化。

归一化后有两个好处:

1. 提升模型的收敛速度

如下图,x1的取值为0-2000,而x2的取值为1-5,假如只有这两个特征,对其进行优化时,会得到一个窄长的椭圆形,导致在梯度下降时,梯度的方向为垂直等高线的方向而走之字形路线,这样会使迭代很慢,相比之下,右图的迭代就会很快

2.提升模型的精度

归一化的另一好处是提高精度,这在涉及到一些距离计算的算法时效果显著,比如算法要计算欧氏距离,上图中x2的取值范围比较小,涉及到距离计算时其对结果的影响远比x1带来的小,所以这就会造成精度的损失。所以归一化很有必要,他可以让各个特征对结果做出的贡献相同。

下边是常用归一化方法

1). 线性归一化,线性归一化会把输入数据都转换到[0 1]的范围,公式如下

该方法实现对原始数据的等比例缩放,其中Xnorm为归一化后的数据,X为原始数据,Xmax、Xmin分别为原始数据集的最大值和最小值。

2). 0均值标准化,0均值归一化方法将原始数据集归一化为均值为0、方差1的数据集,归一化公式如下:

其中,μ、σ分别为原始数据集的均值和方法。该种归一化方式要求原始数据的分布可以近似为高斯分布,否则归一化的效果会变得很糟糕。

关于归一化方法的选择

1) 在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,第二种方法(Z-score standardization)表现更好。

2) 在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用第一种方法或其他归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围。

选择方法是参考自http://blog.csdn.net/zbc1090549839/article/details/44103801,至于为什么,我现在也还不清楚

转载:https://www.cnblogs.com/ooon/p/4947347.html

总结:为什么要对数据归一化?

  • 首先目标函数,也就是损失函数是关于输入数据x的特征的一个函数,如上图可以看出,归一化之后收敛速度更快。
  • 还有就是精度的问题了。

机器学习---之为什么要对数据进行归一化相关推荐

  1. 为什么一些机器学习模型需要对数据进行归一化?——1)归一化后加快了梯度下降求最优解的速度;2)归一化有可能提高精度...

    为什么一些机器学习模型需要对数据进行归一化? http://www.cnblogs.com/LBSer/p/4440590.html 机器学习模型被互联网行业广泛应用,如排序(参见:排序学习实践).推 ...

  2. 机器学习笔记:为什么要对数据进行归一化处理?

    机器学习笔记:为什么要对数据进行归一化处理? rocling 于 2019-06-22 17:03:39 发布 7090  收藏 9 分类专栏: 人工智能 文章标签: 机器学习 归一化 版权 人工智能 ...

  3. 为什么一些机器学习模型需要对数据进行归一化?

    http://www.cnblogs.com/LBSer/p/4440590.html 机器学习模型被互联网行业广泛应用,如排序(参见:排序学习实践).推荐.反作弊.定位(参见:基于朴素贝叶斯的定位算 ...

  4. 机器学习之数据预处理——归一化,标准化

    机器学习之数据预处理--归一化,标准化 基础知识 1.什么是特征预处理 2.预处理方法 : 3.预处理API: 数据的标准化(normalization)和归一化 数据的标准化 数据归一化 1 把数变 ...

  5. 机器学习中数据的归一化处理

    数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间.在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能 ...

  6. 机器学习-特征工程中的数据预处理

    对于一个机器学习问题,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限.由此可见,数据和特征在模型的整个开发过程中是比较重要.特征工程,顾名思义,是对原始数据进行一系列工程处理,将其提炼为 ...

  7. 2vec需要归一化吗_LTSM模型预测数据如何归一化?(知乎回答)

    LTSM模型预测数据如何归一化?(知乎回答) 小白想问一个问题困扰很久的问题.我已经训练好了一个LTSM网络模型,训练的数据都是经过归一化,但是我用新的数据进行预测的时候,预测数据也要归一化吗?如果我 ...

  8. 【机器学习】使用scikitLearn对数据进行聚类:Kmeans聚类算法及聚类效果评估

    无监督学习: [机器学习]使用scikitLearn对数据进行聚类:Kmeans聚类算法的应用及密度聚类DBSCAN [机器学习]使用scikitLearn对数据进行聚类:高斯聚类GaussianMi ...

  9. 为什么要对数据进行归一化处理

    在给机器学习模型的数据中,对数据要进行归一化的处理. 为什么要进行归一化处理? 举个例子 假定为预测汽油的例子,两种汽油93#.95#,自变量为加油的容量,因变量为油价. 那么可以得到的公式为: 其中 ...

最新文章

  1. 2021年7月份学习总结,多套WebFuture的系统部署(简易版)
  2. 卷积层数据放大_卷积神经网络重要回顾
  3. 【Netty】TCP粘包和拆包
  4. 一次针对EduSrc的挖掘
  5. jboss4。0下mysql数据源的配置
  6. linux命令之有关关机和查看系统信息的命令
  7. 集合源码(一)之hashMap、ArrayList
  8. java类型强转会有性能消耗吗_Java代码性能优化总结(转)
  9. iOS原生地图开发进阶——使用导航和附近兴趣点检索
  10. 【从C到C++学习笔记】程序/结构化程序设计/面向对象的程序设计
  11. 使用insightface进行人脸识别批量下载图片
  12. 蓝屏维修记录: IRQL_NOT_LESS_OR_EQUAL、WiseTDIFw64与iaStorAVC问题
  13. 基于 Win32 的应用程序
  14. uboot引导kernel - 4 -gd bd详解
  15. mysql execute immediate_动态SQL之EXECUTE IMMEDIATE
  16. 使用jenkins流水线完成自动部署服务到K8s
  17. 数据管理能力成熟度模型(DMM)
  18. Windows禁用和启用触屏功能
  19. C语言——应用与游戏
  20. 功耗大好还是小好_功率因数大好还是小好?功率因数低有什么危害

热门文章

  1. 实战之Discyz论坛项目测试环境搭建
  2. ASP.NET MVC5(VS 2019)边做边学(01)创建项目控制器与视图的关系
  3. Java并发编程基础
  4. mpvue vue 长按录音,上滑取消,下拉恢复
  5. HDF5数据库和mysql数据库_hdf5存储数据
  6. Apple可以改善下一代Apple Watch的4种心率变异性数据的方法
  7. 用Matlab解二阶非齐次微分方程
  8. Aarch64过程调用标准
  9. AARCH64 开发系列1: AARCH64 环境搭建
  10. java aarch64_aarch64环境下,搭建并配置服务器tomcat: