在机器学习领域的大部分算法中,最终求解损失函数的极值几乎都是基于梯度下降法。这个在数学上是如何求解出来的?
参考资料:https://web.stanford.edu/class/ee364b/lectures/stoch_subgrad_slides.pdf
(第20页)
设损失函数 f(x) 是二阶可导的, 优化问题即为求解
argminx∈Rdf(x)
设 xt 为第 t 次更新之后的变量值,由以下Taylor展开公式:
因此,第 t+1 步的变量值应由下式得到:
xt+1=argminy∈Rd{f(xt)+∇f(xt)T(y−xt)+Lt2∥y−xt∥2}
等价于:
xt+1=argminy∈Rd{∥∥∥∇f(xt)Lt∥∥∥2+2∇f(xt)TLt(y−xt)+∥y−xt∥2}
xt+1=argminy∈Rd⎧⎩⎨∥∥∥∥y−(xt−∇f(xt)Lt)∥∥∥∥2⎫⎭⎬
因此,
xt+1=xt−αt∇f(xt), αt=L−1t.