http://www.cnblogs.com/LBSer/p/4440590.html

机器学习模型被互联网行业广泛应用,如排序(参见:排序学习实践)、推荐、反作弊、定位(参见:基于朴素贝叶斯的定位算法)等。一般做机器学习应用的时候大部分时间是花费在特征处理上,其中很关键的一步就是对特征数据进行归一化,为什么要归一化呢?很多同学并未搞清楚,维基百科给出的解释:1)归一化后加快了梯度下降求最优解的速度;2)归一化有可能提高精度。下面我简单扩展解释下这两点。

1 归一化为什么能提高梯度下降法求解最优解的速度?

斯坦福机器学习视频做了很好的解释:https://class.coursera.org/ml-003/lecture/21

如下图所示,蓝色的圈圈图代表的是两个特征的等高线。其中左图两个特征X1和X2的区间相差非常大,X1区间是[0,2000],X2区间是[1,5],其所形成的等高线非常尖。当使用梯度下降法寻求最优解时,很有可能走“之字型”路线(垂直等高线走),从而导致需要迭代很多次才能收敛;

而右图对两个原始特征进行了归一化,其对应的等高线显得很圆,在梯度下降进行求解时能较快的收敛。

因此如果机器学习模型使用梯度下降法求最优解时,归一化往往非常有必要,否则很难收敛甚至不能收敛。

2 归一化有可能提高精度

一些分类器需要计算样本之间的距离(如欧氏距离),例如KNN。如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要)。

3 归一化的类型

1)线性归一化

这种归一化方法比较适用在数值比较集中的情况。这种方法有个缺陷,如果max和min不稳定,很容易使得归一化结果不稳定,使得后续使用效果也不稳定。实际使用中可以用经验常量值来替代max和min。

2)标准差标准化

  经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为:

  其中μ为所有样本数据的均值,σ为所有样本数据的标准差。

3)非线性归一化

经常用在数据分化比较大的场景,有些数值很大,有些很小。通过一些数学函数,将原始值进行映射。该方法包括 log、指数,正切等。需要根据数据分布的情况,决定非线性函数的曲线,比如log(V, 2)还是log(V, 10)等。

转载于:https://www.cnblogs.com/davidwang456/articles/9729746.html

为什么一些机器学习模型需要对数据进行归一化?相关推荐

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

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

  2. 机器学习 数据模型_使用PyCaret将机器学习模型运送到数据—第二部分

    机器学习 数据模型 My previous post Machine Learning in SQL using PyCaret 1.0 provided details about integrat ...

  3. 如何在评估机器学习模型时防止数据泄漏

    本文讨论了评估模型性能时的数据泄漏问题以及避免数据泄漏的方法. 在模型评估过程中,当训练集的数据进入验证/测试集时,就会发生数据泄漏.这将导致模型对验证/测试集的性能评估存在偏差.让我们用一个使用Sc ...

  4. 【知识卡片】机器学习模型 都需要标准化、归一化吗?什么时候不需要标准化、归一化

    数据标准化.归一化都是特征工程中的特征放缩过程. 归一化 这样会将数据映射到 [0-1] 中 标准化 将数据的平均值降为0,标准差降为1 标准化和归一化详细也可参考: 标准化与归一化的详细知识 那机器 ...

  5. 数据中毒防不胜防,别让你的机器学习模型“学坏”

    过去的十年中,云计算的普及为广大企业提供了高性能的运算与数据存储服务.受益于此,机器学习的应用也迎来了爆发式的增长.随着上游供应商将机器学习整合进他们的产品当中,这些机器学习的运算结果也成为了用户做决 ...

  6. 机器学习模型的数据预处理和可视化

    本文为 AI 研习社编译的技术博客,原标题 : Data Pre-processing and Visualization for Machine Learning Models 作者 |* Nata ...

  7. 独家 | 不同机器学习模型的决策边界(附代码)

    作者 :Matthew Smith 翻译:张若楠 校对:吴金笛 本文约6700字,建议阅读10分钟 本文利用Iris数据集训练了多组机器学习模型,并通过预测大量的拟合数据绘制出了每个模型的决策边界. ...

  8. 【机器学习】机器学习模型验证,这3个 Python 包可轻松解决95%的需求!

    作为数据建模开发者,我们期望利用机器学习模型来分析数据和解决商业问题.无论我们是开发一个简单的模型还是一个复杂的模型,模型验证对于衡量我们工作都是至关重要. 在本文中,我将分享三个非常棒的 Pytho ...

  9. 机器学习模型可解释性的6种Python工具包,总有一款适合你!

    开发一个机器学习模型是任何数据科学家都期待的事情.我遇到过许多数据科学研究,只关注建模方面和评估,而没有解释. 然而,许多人还没有意识到机器学习可解释性在业务过程中的重要性.以我的经验,商业人士希望知 ...

最新文章

  1. C# Keycode对照表
  2. camvid数据集介绍_深度学习图像数据集介绍(MSCOCO)
  3. Win7运行QQ2010提示“应用程序无法启动”,因为应用程序的并行配置不正确
  4. Scala学习思维导图
  5. 【转】dcmtk程序包综述(1)!!!!!!
  6. 我自己关于C语言,编译器,标准库,GUN glibc,CRT ,API之类的理解。
  7. JAXB 遇到的问题
  8. c#分页读取GB文本文件
  9. 迷宫探索DFS(递归记录来回路径)
  10. 连接池配置oracle aix,一次AIX系统swap使用过高的故障解决过程
  11. 教你怎么短期内备考并通过PMP考试!
  12. arm-linux-gcc交叉编译器和gcc编译器的下载地址
  13. java 游戏源码_源码下载 - Java源码 - 游戏娱乐
  14. 2.5 js格式化时间库
  15. c语言 计算整数n的阶乘之和,c语言求阶乘之和是多少
  16. “龙腾计划”启动!邀请 500 家企业加入,与龙蜥社区一起拥抱无限生态
  17. Nano Measurer 1.2.5 for win 纳米颗粒粒度分析
  18. iPhone备忘录删了怎么恢复?恢复备忘录的两大方法!
  19. 消防气体灭火系统(二)
  20. 路由器 DNSMasq 替代 hosts,支持Android、iPhone、PC

热门文章

  1. 《剑指offer》c++版本 14.剪绳子
  2. 关于Webview带参访问服务器
  3. Android实训日志:基于外部存储的音乐播放器V06
  4. c语言 int64 t占位符,为什么我会得到“您必须为dtype int64提供占位符张量输出值”?...
  5. wpf项目源代码_C# WPF开源控件库:MahApps.Metro
  6. Android中的ViewPager2
  7. 用D触发器构造寄存器
  8. esp8266设置sta失败_使用NodeMCU_ESP8266驱动OLED
  9. android8.1状态栏图标,Android 8.1 去掉 Launcher3 默认给 icon 增加的白边
  10. C++类模板(二)用类模板实现可变长数组