为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么

为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么


■网友
【为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么】 谢邀
@田star 的证明很好的解释了为什么linear regression 的cost function是convex的, 我来证明下为什么convex function 的local optima一定是global optima.
假设f()是任意定义在convex set 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么
上的convex function, 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么
是local minimum, 那么 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么
. 假设 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么
, 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么
s.t. 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么
(即假设 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么
不是global minimum). By convexity of 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么
, 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么

and by convexity of f(), 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么

得出的结论和以上"为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么
是local minimum"的结论矛盾→假设不成立→为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么
是global minimum

■网友
梯度算法找到的确实是局部最优解,但是线性回归构成一个线性最小二乘问题,也就是说线性回归的代价函数是个凸函数,如果是一维的情况,则形如 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么


那么当梯度算法不断迭代,其梯度值越来越小,越来越趋近于零,而上面的函数仅有一个梯度为零的点,该点就是全局最优。

简而言之,进行梯度优化达到终止条件之一就是梯度为零,而线性回归的代价函数仅在全局最优点出梯度为零。

■网友
首先, 凸函数也不一定有最优解, 比如 指数函数 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么
是凸函数, 在 R 上也没有最值.
当然实际情况是 我们只会在有限的区间上去寻找最值.
那么设 有限的区间 上函数 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么
是严格凸函数, 即 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么
, 那么就可以证明 为啥线性回的代价函数J(theta)可以用梯度算法找到全局最优解,梯度算法不是只能找到局部最优解么
在区间 上有唯一的最小值(最基本的高数...).
高维时候其实也是一个泰勒展开就可以看出来, 基本的高数知识...

现实情况是除了线性回归这个简单的分类器, 似乎很难找到损失函数是凸的, 在高维的时候, 基本收敛到到鞍点去了. 所以才有了各种优化算法.


推荐阅读