判断损失函数是否到达极值为什么不用导数接近于零作为判断条件?
来源:6-2 模拟实现梯度下降法
与寂寞无关
2020-11-11
判断损失函数J(theta) = (theta - 2.5) ** 2 +1是否到达极值时,老师使用的方法是abs(J(theta) - J(last_theta)) < epsilon。为什么不使用dJ(theta) < epsilon来判断是否到达极值?
写回答
1回答
-
liuyubobobo
2020-11-11
由于线性回归法的损失函数非常简单,所以我们可以使用导数为零的方式获得其极值点,也就是线性回归法有数学解。实际上,这个数学解就是在上一章介绍的正规解。你可以实验一下,取导数为零,最终得到的结果,和上一章介绍的正规方程解是一致的。
关键在于,梯度下降法是一种通用的寻找最小值的方法,并不是只有在线性回归法中才能使用的。对于后续学习的很多机器学习算法,其损失函数是没有数学解的,此时只能使用梯度下降法求解。因此,在这一章,我们的关键是学习梯度下降法,而不是仅仅把线性回归法解决了就可以了:)
继续加油!:)
10
相似问题