【机器学习】梯度下降之数据标准化
🤵♂️ 个人主页: @计算机魔术师👨💻 作者简介:CSDN 内容合伙人,全栈领域优质创作者。
🌐 推荐一款找工作神器网站: 牛客网🎉🎉|笔试题库|面试经验|实习招聘内推 还没账户的小伙伴 速速点击链接跳转牛客网登录注册 开始刷爆题库,速速通关面试吧🙋♂️
该文章收录专栏✨--- 机器学习 ---✨
@toc
@[toc]
吴恩达机器学习学习笔记 ,看完文章大概需要三分钟
一、问题分析
在线性回归中,尤其是多变量回归模型,由于各个的数据之间量化纲位不同,如果数据范围分别是是【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 ,这种其实还可以接受,不需要数据标准化
评论