机器学习梯度下降之数据标准化

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 ,这种其实还可以接受,不需要数据标准化

以上是关于机器学习梯度下降之数据标准化的主要内容,如果未能解决你的问题,请参考以下文章

吴恩达《机器学习》课程总结(17)大规模机器学习

机器学习向量化计算 -- 机器学习路上必经路

梯度下降,过拟合,正则化之机器学习

[机器学习] Coursera ML笔记 - 神经网络(Learning) - 标准梯度下降

[机器学习] Coursera ML笔记 - 神经网络(Learning) - 标准梯度下降

机器学习,逻辑回归梯度下降