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的范围相差很大时, ...
随机推荐
- by maintaining a log containing a record of each transaction’s activities - The Commit/Rollback Protocol
Computer Science An Overview _J. Glenn Brookshear _11th Edition Before a transaction is allowed to a ...
- WCF中自定义消息编码器:压缩编码器的使用
通过抓包知道WCF在提交.返回数据的时候大多使用XML进行数据交互,如果返回DataTable那么这些数据将变得很大,通过查询找到一个对数据压缩的方法: http://msdn.microsoft.c ...
- Codeforces Round #376 (Div. 2)F. Video Cards(前缀和)
题目链接:http://codeforces.com/contest/731/problem/F 题意:有n个数,从里面选出来一个作为第一个,然后剩下的数要满足是这个数的倍数,如果不是,只能减小为他的 ...
- win7:Remote Desktop Services 启动失败
背景: 其他PC使用mstsc远程某win7 pro sp1,一直失败. 分析: 影响远程桌面应用的设置有两个: 1. 计算机远程设置中,启用“允许远程协助连接这台计算机”,且远程桌面设置正确.如选择 ...
- JMeter学习-001-JMeter初识
Apache JMeter是Apache组织开发的基于Java的开源压力测试工具(个人发现也可用于接口测试).用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可以用于 ...
- convert Timestamp to Real time
select r.ring_buffer_address, r.ring_buffer_type, dateadd (ms, r.[timestamp] - sysinfo.sqlserver_sta ...
- 十大技巧快速提升原生APP开发性能
移动应用市场用户争夺战日益激烈,原来做APP拼想法拼创意拼是否抓住用户痛点.现在,精细化用户体验成为了一个APP能否留存用户的关键问题,一旦用户觉得体验不畅,马上就有竞品APP后补,如何开发高性能的移 ...
- 11月23日《奥威Power-BI报表集成到其他系统》腾讯课堂开课啦
听说明天全国各地区都要冷到爆了,要是天气冷到可以放假就好了.想象一下大冷天的一定要在被窝里度过才对嘛,索性明天晚上来个相约吧,相约在被窝里看奥威Power-BI公开课如何? 上周奥威公开 ...
- MVC项目实践,在三层架构下实现SportsStore-03,Ninject控制器工厂等
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- 发起post请求
string postUrl = "https://api.mch.weixin.qq.com/mmpaymkttransfers/gethbinfo"; //string req ...