李宏毅机器学习笔记——误差与梯度下降

思维导图一览

李宏毅机器学习笔记——误差与梯度下降_第1张图片

误差从哪儿来?

误差一般来源于biasvariance
李宏毅机器学习笔记——误差与梯度下降_第2张图片

问题的来源是搞清楚bias有多大,variance有多大。

李宏毅机器学习笔记——误差与梯度下降_第3张图片

variance

由下图也可以看出:简单的模型得出的variance比较小,但bias会比较大。而复杂的模型得出的bias比较小,但variance比较大。 同时简单的模型不容易受到数据的外在因素(如噪音)的干扰。直观可以理解为:假如y=b。则这个模型不论数据是什么样的都是一条直线。

所以,越复杂的模型需要考虑的特征和参数也会越多,同时也要进行更加复杂的运算。** 故进行多次试验时,由于数据的不同,得出的曲线也会不同,则曲线之间的variance也很大。**
李宏毅机器学习笔记——误差与梯度下降_第4张图片

bias

李宏毅机器学习笔记——误差与梯度下降_第5张图片简单的模型虽然variance比较小,但是bias却比较大。复杂的模型与此相反。
可以这么理解:简单的模型得到的范围就如上图左边的小圈一样,只能得出这么大的范围,所以不管使用什么样数据进行实验,得到最终的f*都只能处于得到的圆圈之内,而不能接近靶心。 而复杂的模型就像上图右边的大圈一样,模型越复杂所涵盖的范围也就越大,在使用数据做试验的过程中,得到的f*也就有了接近甚至达到靶心的可能。

过拟合与欠拟合

李宏毅机器学习笔记——误差与梯度下降_第6张图片
bias很大的情况可以称为:欠拟合。
variance很大的情况可以称为:过拟合。

解决欠拟合的对策

1、增加特征输入
2、使用更复杂的模型
李宏毅机器学习笔记——误差与梯度下降_第7张图片

解决过拟合的对策

1、收集更多数据(不现实)
2、正则化,使曲线变得更平滑,但有可能增大bias。

李宏毅机器学习笔记——误差与梯度下降_第8张图片

梯度下降原理

李宏毅机器学习笔记——误差与梯度下降_第9张图片李宏毅机器学习笔记——误差与梯度下降_第10张图片梯度下降的原理也可以用泰勒公式进行解释,同样能得到上图结果。

梯度下降Tip1:动态调整学习率

学习率过小或过大都不行
李宏毅机器学习笔记——误差与梯度下降_第11张图片动态调整过程:
李宏毅机器学习笔记——误差与梯度下降_第12张图片
动态调整学习率的技巧1:Adagrad
adagrad听得不太懂,大概的意思应该是利用一次微分,二次微分,再结合期望和方差来动态地调整学习率。这里先留个坑。

动态调整学习率的技巧2:随机梯度下降
梯度下降的损失函数是通过计算所有训练样本的预测值与真实值的差距的总和得到的。得到损失函数后再根据损失函数的梯度对参数进行更新。

随机梯度下降的损失函数则是通过计算单个训练本的预测值与真实值之间的差距来得到的关于单个样本的损失函数。然后根据这个Loss的梯度对参数进行更新。

举例来说,假如有20个样本,梯度下降在训练完20个样本后才计算1次损失函数。而随机梯度下降会计算20次损失函数。

这样做的好处是:模型能更快迭代到最终结果,提高训练效率。
李宏毅机器学习笔记——误差与梯度下降_第13张图片

梯度下降Tip2:特征缩放

假如现在有x1和x2两个特征。x1与x2的特征取值范围相差较大。图中可以看出x2的取值范围较大而x1的取值范围较小,那么可以缩小x2的取值范围。

这样做的作用是:假如现在有函数如下图所示。如果x2的取值通常都是100-200之间,而x1的取值只是1,2,3等比较小的数。那么x2所对应的w2对Loss函数的影响则比较大,稍微更改w2的取值就会对Loss的结果造成显著的影响。==就像下图中扁扁的圆圈一样,稍微在w2方向上减小一点,就能明显减小等高线上的位置。==反之,由于x1的取值较小,则对应的w1对函数的影响也比较小,只有w1变化非常大时,y才有明显影响。
而特征缩放就像是把扁扁的椭圆变成了比较规整的标准圆,这样使得loss函数的梯度无论从哪个方向上变化都能很快收敛。
李宏毅机器学习笔记——误差与梯度下降_第14张图片李宏毅机器学习笔记——误差与梯度下降_第15张图片
误差参考视频:误差从哪来?
梯度下降参考视频:梯度下降

你可能感兴趣的:(机器学习,人工智能,算法)