能不能用梯度下降法求平方根或者立方根?

  数学 数值计算    浏览次数:194        分享
0

能不能用梯度下降法求平方根或者立方根?面试题卷56里提到了一下,但是没有具体解答。

向各位请教,谢谢!

 

myodd   2019-03-25 14:12



   2个回答 
2

先建立等式,再建立convex函数,最后用梯度下降解。

$$x^2=y$$

$$L=(x^2-y)^2$$

$$g(x)=dL/dx=4x^3-4xy=4x(x^2-y)$$

$$x_{n+1}=x_n-ag(x_n)$$

------------------------------------------------

根据xiaosu的回答,$(x^2-y)^2$只在局部是convex函数。$d^2L/dx^2=4(3x^2-y)>0=>|x|>\sqrt{y/3}$。所以x的初始值范围是$y$的函数。


import numpy as np
import matplotlib.pyplot as plt
y=10.
n=200
xn=np.zeros(n)
def grad(x,y):
  return 4.*np.power(x,3)-4.*x*y
xn[0]=y
a=0.001 # step size
for i in range(1,n):
  xn[i]=xn[i-1]-a*grad(xn[i-1],y)
plt.figure()
plt.plot(xn)
plt.plot([0,n],np.ones(2)*np.sqrt(y),'--')
plt.show()


SofaSofa数据科学社区DS面试题库 DS面经

Zealing   2019-03-26 02:11

2

求立方根就是等价于求$f(x)=x^3-a$的根,也就等价于求$g(x)=f^2(x)=(x^3-a)^2$的最小值。梯度下降法要求$g(x)$是凸函数,但是显然它并不是凸函数。

上面是$g(x)=(x^3-1)^2$的图像,也有可能会收敛到0点。一般不用梯度下降,如果用的话要多试几个初始点,并且最后结果要代回原式子验算一遍。

SofaSofa数据科学社区DS面试题库 DS面经

xiaosu   2019-03-27 10:58



  相关主题

关于随机梯度下降法(SGD)的问题   1回答

怎么用牛顿法近似求解根号2?   2回答

Adam优化算法   1回答

RMSProp的直白解释   1回答

为什么梯度的反方向是函数下降最快的方向?   3回答

常说的低秩分解或者低秩逼近是什么意思?   1回答

最速下降法与梯度下降法   1回答

部分主元   1回答

Newton–Raphson和牛顿法区别?   1回答

随机平均梯度法(Stochasitc Average Gradient)和随机梯度下降(SGD)有什么区别   3回答

随机梯度下降(sgd)的收敛问题   4回答

对于小批量随机剃度下降法(mini-batch SGD),如何选择每批样本的数量?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!