Feature Scaling
定义:Feature scaling is a method used to standardize the range of independent variables or features of data. In data processing, it is also known as data normalization and is generally performed during the data preprocessing step.(来源于wikipedia)
简单来说,它主要用来把所有特征值范围映射至同样的范围里面如(0,1)、(-1,1)、(-0.5,0.5)等。
Feature scaling (数据规范化) 是数据挖掘或机器学习常用到的步骤,这个步骤有时对算法的效率和准确率都会产生巨大的影响。
对精度的影响:很明显,这个步骤的必要性要依赖于数据特征的特性,如果有>=2特征,并且不同特征间的值变化范围差异大,那就很有必要使用Feature scaling。比如说,在信用卡欺诈检测中,如果我们只使用用户的收入作为学习特征,那就没有必要做这个步骤。但是如果我们同时使用用户的收入和用户年龄两个特征的话,在建模之前采用这个步骤就很有可能能提高检测精度,这是因为用户收入这个特征的取值范围可能为[50000,60000]甚至更大,但用户年龄只可能是[20,100]左右,这时候,假如说我用K最近邻的方法去做检测的话,用户收入这个特征的相似度对检测结果的影响将会大大大于用户年龄的作用,然而事实上,这两个特征对欺诈检测可能有着同等的重要性。因此,假如我们在检测实施前,对着两个特征进行规范化,那我们的检测方法中就能真正地同等对待它们。
对效率的影响:再举一个例子,该例子来源于Ng教授的ML课程,
例子如上图,在该例子中,我们想用线性回归根据房屋的大小和房屋的卧室数量来预测房价,采用的优化方法为batch gradient descent。在建立模型的过程中,如果不对房屋的大小和房屋的卧室数量两个特征规范化,我们的优化问题将会在很skewed的区域中进行(如左图所示),这样会使得batch gradient descent的收敛很慢。而当我们对其进行规范化之后,问题就会转变为偏圆形的空间中优化,这时候,batch gradient descent的收敛速度将会得到大幅度提高。
实践:
常用的Feature scaling方法有如下几种:
xi' = (xi - a) / b;
其中a可以为特征xi的均值,b则可以为xi的最大值、(最大值 - 最小值)、 标准差等。
总结:
该步骤的原理和方法都是很简单的,但是如果数据挖掘或机器学习中少了这一步,有时候会对学习效率和准确度产生巨大影响,因此,在学习建模之前,要认真考虑是否进行Feature scaling
问题:
1、online算法怎么把数据规范化。
2、那些算法在什么时候需要feature scaling
参考资源:
http://en.wikipedia.org/wiki/Feature_scaling
https://class.coursera.org/ml/
Is scaling of feature values in LibSVM necessary?
Regularization and feature scaling in online learning?
Feature Scaling的更多相关文章
- (一)线性回归与特征归一化(feature scaling)
线性回归是一种回归分析技术,回归分析本质上就是一个函数估计的问题(函数估计包括参数估计和非参数估计),就是找出因变量和自变量之间的因果关系.回归分析的因变量是应该是连续变量,若因变量为离散变量,则问题 ...
- 浅谈Feature Scaling
浅谈Feature Scaling 定义:Feature scaling is a method used to standardize the range of independent variab ...
- Feature Scaling深入理解
Feature Scaling 可以翻译为特征归一化,或者数据归一化,比如统计学习中,我们一般都会对不同量纲的特征做归一化,深度学习中经常会谈到增加的BN层,LRN层会带来训练收敛速度的提升,等等.问 ...
- 斯坦福大学公开课机器学习:梯度下降运算的特征缩放(gradient descent in practice 1:feature scaling)
以房屋价格为例,假设有两个特征向量:X1:房子大小(1-2000 feets), X2:卧室数量(1-5) 关于这两个特征向量的代价函数如下图所示: 从上图可以看出,代价函数是一个又瘦又高的椭圆形轮廓 ...
- CS229 1 .线性回归与特征归一化(feature scaling)
线性回归是一种回归分析技术,回归分析本质上就是一个函数估计的问题(函数估计包括参数估计和非参数估计),就是找出因变量和自变量之间的因果关系.回归分析的因变量是应该是连续变量,若因变量为离散变量,则问题 ...
- 机器学习中的特征缩放(feature scaling)
参考:https://blog.csdn.net/iterate7/article/details/78881562 在运用一些机器学习算法的时候不可避免地要对数据进行特征缩放(feature sca ...
- 131.006 Unsupervised Learning - Feature Scaling | 非监督学习 - 特征缩放
@(131 - Machine Learning | 机器学习) 1 Feature Scaling transforms features to have range [0,1] according ...
- 数据归一化Feature Scaling
数据归一化Feature Scaling 当我们有如上样本时,若采用常规算欧拉距离的方法sqrt((5-1)2+(200-100)2), 样本间的距离被‘发现时间’所主导.尽管5是1的5倍,200只是 ...
- machine learning (4)---feature scaling
feature scaling:缩小或扩大feature的值,使所有的feature处于类似的范围,这样进行gradient descnet时更快趋向最小值.因为不同的feature的范围相差很大时, ...
随机推荐
- Python函数1
Python 函数命令的使用 想想我们之前数学中学到的函数,首先我们需要定义一个函数,例如f(x)=x, 当x输入任意数的时候,f(x)都能输出和x相等的数值. 那么在Python中是如何实现的呢? ...
- 10.PHP内核探索:Apache运行与钩子函数
Apache是目前世界上使用最为广泛的一种Web Server,它以跨平台.高效和稳定而闻名.按照去年官方统计的数据,Apache服务器的装机量占该市场60%以上的份额.尤其是在 X(Unix/Lin ...
- Python之创建tuple和“可变”的tuple
Python之创建tuple tuple是另一种有序的列表,中文翻译为" 元组 ".tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了. 同样是表示班里 ...
- Bluetooth Low Energy介绍
目录 1. 介绍 2. 协议栈 3. 实现方案 3.1 硬件实现方案 3.2 软件实现方案 1. 介绍 Bluetooth low energy,也称BLE(低功耗蓝牙),在4.0规范中提出 BLE分 ...
- java NIO ;mvn
http://ifeve.com/java-nio-scattergather/ mvn introduction(install,conf, proxy,plugin,samples) http:/ ...
- java对象中继承和变量初始化顺序浅析
先上例子代码 public class F { int age = 5; public F() { print(); } public void print() { System.out.printl ...
- ArcGIS API for Silverlight 绘制降雨路径动画
原文:ArcGIS API for Silverlight 绘制降雨路径动画 #region 降雨动画演示 2014-04-16 List<Graphic> graphics = new ...
- Spark Programming--Fundamental operation
max max(key=None) Find the maximum item in this RDD. Parameters:key – A function used to generate ke ...
- sublime text2 操作及插件
sublime text2 1. 文件快速导航: 这是sublime上面很好用的功能之一,ctrl+p可以调出窗口,菜单上的解释是gotoanythings ,确实如其所言,调出窗口后,直接输入关键字 ...
- JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一)概述及简单实例
上文我们讲述了如何对 HTTP请求 的响应数据进行断言,以判断响应是否符合我们的预期,敬请参阅:JMeter学习-007-JMeter 断言实例之一 - 响应断言 那么我们如何获取 HTTP请求 响应 ...