机器学习梯度下降之数据标准化
Posted 计算机魔术师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习梯度下降之数据标准化相关的知识,希望对你有一定的参考价值。
文章目录
前言
吴恩达机器学习学习笔记 ,看完文章大概需要三分钟
问题分析
在线性回归中,尤其是多变量回归模型,由于各个的数据之间量化纲位不同,如果数
据范围分别是是【0~1000,0 ~5】或者【-0.00004 ~ 0.00002,10 ~ 30】, 那么在使用梯度下降算法时,他们的等高线是一个又窄又高的等高线,如下图:
因为一个他们量化纲位不同会出现 (1,299),(3,800) 这种特征实例,那么等高线就会又窄又高,在梯度下降算法中,参数更新就会如上图左右震荡,如果等高线如下图,参数更新就能更快收敛与更新了
3D可视化
如下图:代价函数(就是回归模型的预测值和实际值的差的平方和)的3D图,就像下山一样,为了达到局部最优点或全局最优点,作为下山者,你肯定希望地形比较平缓,比较清楚的知道往哪里走能够最快下山,而如果这个山又陡又窄,那下山者是不是下山肯定速度慢很多,往哪里都是下降,不能准确找到方向。
理想的代价函数
但实际往往都是下图的情况
解决方法
那么为了梯度下降算法特征下降的更快,更快收敛,我们就需要对各个数据进行数据标准化, 例如:
第一个特征
X0
量化纲位为: 0 ~ 2000
其平均值记为u0
:1000 ,
第二个特征X1
量化纲位为: 1 ~ 5
其平均值记为u1
:2
此时我们对其数据标准化使其为平均值为0的情况,操作如下:
X0
=(X0
-u0
)/X0
量化纲位X1
=(X1
-u1
)/X1
量化纲位
这样x0
,x1
的量化纲位都在-1 ~ 1了,
就实现了数据标准化
特别注释:
我们在进行数据标准化不需要太精确的结果,对于结果不一定都要 0 ~ 1,0 ~ 2也可以接受,因为我们目的已经达到了,让“山”没那么陡峭,方便下山
如果对应数据量化纲位有 0 ~ 3,-3~ 3 ,这种其实还可以接受,不需要数据标准化
以上是关于机器学习梯度下降之数据标准化的主要内容,如果未能解决你的问题,请参考以下文章
[机器学习] Coursera ML笔记 - 神经网络(Learning) - 标准梯度下降