theta = theta - eta * gradient,直接求导数为0的theta 值就可以了,为啥还要一点点减呢

来源:6-2 模拟实现梯度下降法

桂圆

2021-02-21

6-2 4:36处

写回答

1回答

liuyubobobo

2021-02-21

可以参考这里:http://coding.imooc.com/learn/questiondetail/211364.html 


梯度下降法的关键就是在我们无法使用数学公式的方式直接求极值的情况,转而使用搜索的方式查找极值。


对于线性回归,由于损失函数非常简单,我们可以直接使用公式的方式求解。实际上,在上一章介绍的公式,就是线性回归使用数学公式推导得到的结果。但是,在有些情况下,我们是无法简单计算出导数为 0 时 theta 的值的。比如后需要学习的逻辑回归,比如神经网络,所以,我们需要梯度下降法。


在这一章,我是以线性回归为例,讲梯度下降法的原理。


继续加油!:)

0
2
liuyubobobo
回复
桂圆
就是你的想法没有错。但是在一些情况下,导数为 0 求 theta 不那么容易,甚至求不出来(不是所有微分方程都能找到解析解的),此时就需要使用梯度下降法。
2021-02-21
共2条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5893 学习 · 2454 问题

查看课程