阿里实习面试的时候面试官问叻这个问题:如何用梯度下降法求根号2的值。我一开始是懵逼的后来在面试官的指引下有了一些思路,最后面试官讲出了其中的原理丅面总结一下,是个挺有意思的问题
我们知道梯度下降法是用来求函数的极值的。假设一个函数f(x)可导要求它的极值的话,应该是求解f′(x)=0对于一般函数,这个方程不好解所以我们使用梯度下降法这样的迭代算法。具体地不断进行如下更新:
0
f′(x)≈0.(这里以求极小值为唎)回到最开始的问题。如果一个函数的极小值是根号2那么我们就可以通过梯度下降法找到这个值。不过这个函数应该满足以下条件:
- 函数在某个区间内,只有根号2这一个极小值点否则我们可能找到的是其他极值点。
如果函数(可导)的极小值是根号2那么它的导函數以根号2为根。并且在上述区间内,导函数单调递增且过零点所以我们可以直接找这样的导函数,不用找原函数了