引言

在运用一些机器学习算法的时候不可避免地要对数据进行特征缩放(feature scaling),比如:在随机梯度下降(stochastic gradient descent)算法中,特征缩放有时能提高算法的收敛速度。

什么是特征缩放

特征缩放的目标就是数据规范化,使得特征的范围具有可比性。它是数据处理的预处理处理,对后面的使用数据具有关键作用。

机器算法为什么要特征缩放

特征缩放还可以使机器学习算法工作的更好。比如在K近邻算法中,分类器主要是计算两点之间的欧几里得距离,如果一个特征比其它的特征有更大的范围值,那么距离将会被这个特征值所主导。因此每个特征应该被归一化,比如将取值范围处理为0到1之间。
第二个原因则是,特征缩放也可以加快梯度收敛的速度。

特征缩放的一些方法

调节比例(Rescaling)

这种方法是将数据的特征缩放到[0,1]或[-1,1]之间。缩放到什么范围取决于数据的性质。对于这种方法的公式如下:

x′=x−min(x)max(x)−min(x)

x' = \frac{x-min(x)}{max(x)- min(x)}
x x是最初的特征值,x' x′是缩放后的值。

平均值规范化(Mean normalisation)

x′=x−mean(x)max(x)−min(x)

x' = \frac{x-mean(x)}{max(x)- min(x)}

标准化(Standardization)

特征标准化使每个特征的值有零均值(zero-mean)和单位方差(unit-variance)。这个方法在机器学习地算法中被广泛地使用。例如:SVM,逻辑回归和神经网络。这个方法的公式如下:

x′=x−mean(x)std(x)

x' = \frac{x-mean(x)}{std(x)}
标准差的定义为:

std(x)=∑(x−mean(x))2n−−−−−−−−−−−−−−−√

std(x) = \sqrt{\frac{\sum(x-mean(x))^2}{n}}

缩放到单位长度(Scaling to unit length)

x′=x||x||

x'=\frac{x}{||x||}
就是除以向量的欧拉长度( the Euclidean length of the vector),二维范数。

总结

数据的归一化和缩放非常重要,会影响到特征选择和对真实业务问题的判定。

参考

https://en.wikipedia.org/wiki/Feature_scaling

机器学习中的特征缩放(feature scaling)浅谈相关推荐

  1. 特征缩放 feature scaling

    样本不同特征的取值范围如果不一样,可能导致迭代很慢,为了减少特征取值的影响,可以对特征数据进行缩放,加速算法的收敛.常见的映射范围有 [0,1][0, 1][0,1] 和 [−1,1][-1, 1][ ...

  2. 浅谈机器学习中的特征缩放(feature scaling)

    引言 在运用一些机器学习算法的时候不可避免地要对数据进行特征缩放(feature scaling),比如:在随机梯度下降(stochastic gradient descent)算法中,特征缩放有时能 ...

  3. 特征缩放feature scaling(吴恩达版详解)

    前言 最近在学习吴恩达的深度学习,对于特征缩放的知识点很是困惑,不明白为什么它会加快收敛速度,在网上看大佬们的解答,大佬们也都是给了两个对比图之后就把这个问题带过去了,于是我认认真真,反复看了吴恩达的 ...

  4. 机器学习中的特征重要性 Feature Importance

    Feature Importance 闲话 几周没用CSDN,发现编辑器的字体变了.最近看了几篇讲特征重要性的文章.在这里[简要]记录一下我的总结,对不熟悉相关知识的读者做个导航. 优点 知道数据中的 ...

  5. 机器学习中的特征是什么?机器学习知识点详解

    在机器学习中,特征(feature)指的是描述一个实例的属性或特征,也可以称为自变量(independent variable)或输入变量(input variable).特征是机器学习中非常重要的概 ...

  6. 【机器学习】漫谈特征缩放

    作者: 时晴 说起"炼丹"最耗时的几件事,首先就能想到的就是数据清洗,特征工程,还有调参.特征工程真的是老生常谈了,但是特征工程又是最重要的一环,这一步做不好怎么调参也没用.在特征 ...

  7. 机器学习中的特征工程——分类变量的处理

    出品 | CDA数据分析研究院,转载需授权 文章目录 分类变量 概念 判断 类型 少类别分类变量处理方法 独热编码(One-hot encoding) 虚拟编码(Dummy coding) 效应编码( ...

  8. 机器学习中的特征——特征选择的方法以及注意点

    机器学习中的特征--特征选择的方法以及注意点 https://blog.csdn.net/google19890102/article/details/40019271 关于机器学习中的特征我有话要说 ...

  9. 机器学习中的特征工程

    机器学习中的特征工程 什么是特征工程 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已.特征工程指的是把原始数据转变为模型的训练数据的过程,它的目的就是获取更好的训练数据特征,使得机器 ...

最新文章

  1. 其他算法-比例风险回归模型
  2. 【内网渗透工具】炫彩蛇安装教程
  3. AFNetworking 学习笔记
  4. 自动化运维Shell课堂笔记
  5. pytorch教程:save and load
  6. [Android 新特性] 有史来最大改变 Android 5.0十大新特性
  7. android登录操作代码,Android Studio实现第三方QQ登录操作代码
  8. (十一)洞悉linux下的Netfilteriptables:iptables命令行工具源码解析【上】
  9. java生成word排版_java生成word的几种方案(转)
  10. 顺通鞋业鞋厂仓库库存管理系统软件
  11. C语言-编写函数isprime(int a),用来判断自变量a是否为素数。若是素数,函数返回整数1,否则返回0。
  12. matlab 实现disparity,disparity-map 利用matlab立体匹配,可获得 图像左右视图的视差图代码,效果不错238万源代码下载- www.pudn.com...
  13. 做后端开发需要学什么?标梵看到了一条小白的发展之路
  14. 【前端技术】一篇文章搞掂:JS
  15. 标号法(Dijkstra)求最短路 matlab
  16. 计算机监控系统改造,李家峡水电站计算机监控系统改造
  17. 运维团队能力建设的另一思路
  18. 看完这篇还不懂高并发中的线程与线程池你来打我
  19. 更稳定的手势识别方法-基于手部骨架与关键点检测
  20. el-table入门学习

热门文章

  1. JavaSE学习总结(八)常用类(上)Object类==与equals方法的区别浅克隆的特点Scanner类String类String两种创建对象方式的区别String类的各种功能
  2. java web 流量统计_网站流量统计的设计与实现
  3. 配置非法AP设备检测和反制
  4. CString时间字符串,COleDateTime,CTime类之间的转换
  5. error:无法解析的外部符号 “public: __thiscall ···该符号在函数···中被引用”
  6. Cesium加载离线地图和离线地形
  7. 在Visual2019中如何添加日历表?这里有答案
  8. 【UDS统一诊断服务】(补充)五、ECU bootloader开发要点详解 (1)
  9. 零伽壹链改深度解析|区块链技术应用于电子发票管理
  10. 论文笔记——Aggregated Residual Transformations for Deep Neural Networks(ResNeXt)