李宏毅机器学习打卡Task03:梯度下降

b站学习视频地址:李宏毅《机器学习》_哔哩哔哩_bilibili

开源笔记:LeeML-Notes

偏差:描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据,如下图第二行所示。
方差:描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散,如下图右列所示。

李宏毅机器学习打卡Task03:梯度下降_第1张图片

 

在回归问题的第三步中,需要解决下面的最优化问题:

θ∗=arg min​L(θ)

我们要找一组参数 θ ,让损失函数越小越好,这个问题就可以用梯度下降法解决:

李宏毅机器学习打卡Task03:梯度下降_第2张图片

李宏毅机器学习打卡Task03:梯度下降_第3张图片

 

 

然后分别计算初始点处,两个参数对 L 的偏微分,然后 θ 减掉 η 乘上偏微分的值,得到一组新的参数。同理反复进行这样的计算。黄色部分为简洁的写法,▽L(θ) 即为梯度。

随机梯度下降

李宏毅机器学习打卡Task03:梯度下降_第4张图片

 

原有梯度下降计算Loss的方法是将所有的sample数据计算之后加和后才做梯度下降

但Stochastic Gradient Descent(随机梯度下降)不同,他每次只取一个example xn(如果是在做deep learning,面对的error不是convex(凸),随机取是非常有帮助的)Loss只考虑xn的影响,不考虑其他,计算梯度的时候也是只考虑xn的。

如下图所示,左图是将所有的sample都加起来之后才更新一次参数,右图是每考虑一个sample就更新一次参数。左图看起来很稳定,但是较慢,右图较快。

李宏毅机器学习打卡Task03:梯度下降_第5张图片

 Feature Scaling

特征缩放针对的是如果一种事物的几种特征之间相差的数量级过大,就会造成数量级小的特征失去作用。

李宏毅机器学习打卡Task03:梯度下降_第6张图片

左边当model中输入的x1的范围在1~10,而x2的范围在100~1000,那么w1x1对y的影响一定比w2x2对y的影响要小。同理,w1x1对loss的影响一定比w2x2的影响要小。对应于三维图中的第一个图,想象平行于w1切一刀,得到的截面是较平缓的,w1x1对loss的影响较小,平行于w2做截面得到的曲线较陡峭,w2x2对loss的影响较大。并且在更新参数w1,w2的时候,需要不断地loss对参数求导,而不是直接向着最小loss,走的路径更加曲折,收敛速度慢。如果做了scaling之后,x1,x2的取值范围相同,那么w1x1,w2x2对函数的影响就差不多,对loss的影响也差不多,他们对loss的影响趋近于右边的三维图。并且对参数更新求导的时候几乎是向着最小loss的,走的路径更加平缓,收敛的速度更快,这样会比较容易update参数。

 Feature Scaling 方法

假设有R个sample,每个sample里有一些特征,分别为x1,x2,x3·····。对于每一个特征,求他在所有样本里的均值m以及标准差 σ。

通过减去均值然后除以方差(或标准差),这种数据标准化方法经过处理后数据符合标准正态分布,即均值为0,标准差为1.
李宏毅机器学习打卡Task03:梯度下降_第7张图片

 

你可能感兴趣的:(机器学习)