线性回归为毛使用梯度下降而不是导数等于0

因为并不是所有的函数都可以根据导数求出取得0值的点的, 现实的情况可能是:
1. 可以求出导数在每个点的值, 但是直接解方程解不出来, 比如一些简单的神经网络
2. 导数没有解析解, 像一个黑匣子一样, 给定输入值, 可以返回输出值, 但是具体里面是什么情况, 搞不清楚, 工程上似乎有这种情况

以上两种就不能直接令导数为0求解.

牛顿迭代和梯度下降法都可以计算极值, 区别在于, 梯度下降法的算法复杂度低一些, 但是迭代次数多一些; 牛顿迭代法计算的更快(初值必须设置的很合理), 但是牛顿迭代法因为有"除法"参与(对矩阵来说就是求逆矩阵), 所以每一步迭代计算量很大. 一般会根据具体的情况取舍.


作者:卢生
链接:https://www.zhihu.com/question/20319985/answer/18306495
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
展开阅读全文

没有更多推荐了,返回首页