6-8 的15:32处dj_debug适用于所有函数不太理解
来源:6-8 如何确定梯度计算的准确性?调试梯度下降法
桂圆
2021-12-12
- 像是在6-4中介绍的,用while循环来求梯度是不是也适用与所有函数
- 对于dj_math不适用其它情况,希望举例说下
写回答
1回答
-
liuyubobobo
2021-12-12
1.
如果你说的 while 循环是这里 In[9] 中的 while cur_iter < n_iters 这个循环:https://git.imooc.com/coding-169/coding-169/src/master/06-Gradient-Descent/04-Implement-Gradient-Descent-in-Linear-Regression/04-Implement-Gradient-Descent-in-Linear-Regression.ipynb
这个 while 循环不是在求梯度,而是在使用梯度下降法求解整个损失函数 J 的最小值,以及取得最小值时,对应的参数值。
是的,梯度下降法这个方法对于任意函数都适用。但是,不同的函数,梯度是不同的。另外,不是处处可导的函数,可能效果不好。
2.
这里说的 dJ_math 不适用其他情况,就是指不同的 J,其 dJ 的式子是不同的。我们在这一章实现的 dJ,完全是根据线性回归的 J 函数推出来。完全是这个式子的实现。
换一个算法,其 J 函数变了,相应的 dJ 的式子就变了,dJ_math 就要重新写。
比如课程后续,我们会介绍逻辑回归。逻辑回归的 J 是这样的,那么我们就要推出新的 dJ_math,而不能使用这个 dJ_math 函数。
继续加油!:)
00
相似问题