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

2022-08-20 12:37:16 浏览数 (1)

文章目录

  • 一、问题分析
  • 二、3D可视化
  • 解决方法
  • 特别注释:

吴恩达机器学习学习笔记 ,看完文章大概需要三分钟

一、问题分析

在线性回归中,尤其是多变量回归模型,由于各个的数据之间量化纲位不同,如果数 据范围分别是是【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 ,这种其实还可以接受,不需要数据标准化

0 人点赞