梯度下降实用技巧I之特征缩放 Gradient Descent in practice I - feature scaling
2016-03-31 22:06
375 查看
梯度下降实用技巧I之特征缩放 Gradient Descent in practice I - feature scaling
当多个特征的范围差距过大时,代价函数的轮廓图会非常的偏斜,如下图左所示,这会导致梯度下降函数收敛的非常慢。因此需要特征缩放(feature scaling)来解决这个问题,特征缩放的目的是把特征的范围缩放到接近的范围。当把特征的范围缩放到接近的范围,就会使偏斜的不那么严重。通过代价函数执行梯度下降算法时速度回加快,更快的收敛。如下图右所示。特征缩放的范围:一般把特征的范围缩放到-1到1,和这接近就行,没必要同一范围。梯度下降就能很好的工作。如下图所示,x1 的范围为0到3,x2的范围为-2到0.5都是可以的。但不能相差的很大,-100到100则是不可以的。
特征缩放的方法:直接先看图再解释,主要是均值归一化
一般的均值归一化公式为:
,其中
为均值,s为特征的范围,即max-min。也可以用标准差。
其实归一化主要有两种方法:
第一种是min-max标准化(Min-Max Normalization)
它把原始数据映射到[0-1]之间,公式为:
第二种是0均值标准化(z-score标准化)
公式为:
其中,
为均值,
标准差。标准差是方差的开方,把标注差公式也贴上来吧:
这两种归一化方法的适用场景为:
在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用第一种方法或其他归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围
在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,第二种方法(Z-score standardization)表现更好。
相关文章推荐
- 1-5-JS基础-数组应用及实例应用
- 纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)
- jquery中生成一个带cha的tag
- js 事件监听封装
- WindowsOptionalFeature 与 WindowsFeature
- JS的事件处理程序
- CodeForces 233A Perfect Permutation
- js实现密码加密
- JS高级程序设置笔记(三)
- React Native之ViewPagerAndroid仿淘宝首页顶部分类布局效果实现
- Hdu oj 1596 find the safest road(floyd)
- java输入输出流FileInputStream,FileOutputStream,BufferedInputStream,BufferedOutputStream知识点总结
- 引jquery入库
- HTML 作业
- JqPagination动态分页,每次点击下一页都加载一次后台
- JS计算时间差
- js——网页链接复制功能
- PHP代码为什么不能直接保存HTML文件——>PHP生成静态页面教程
- Handlebars.js 使用入门
- JavaScript易错点 纠正