我正在研究梯度下降,在这段代码中精度的含义是什么?

Im studying Gradient Descent, at this code precision meaning is what?

我正在自学梯度下降。 因为是用来简历上大学的。 precision的意思是error的允许值吗?

x_old = 0
x_new = 6 # The algorithm starts at x=6
eps = 0.01 # step size
precision = 0.00001

def f_prime(x):
    return 4 * x**3 - 9 * x**2

while abs(x_new - x_old) > precision:
    x_old = x_new
    x_new = x_old - eps * f_prime(x_old)

print("Local minimum occurs at: " + str(x_new))

似乎精度是一种检查收敛性的手段:如果梯度下降的最后一次迭代仅引起很小的变化,则停止。

这种方法不是很可靠。首先,单次迭代中的小变化并不是收敛的强烈迹象。最好在几个连续的迭代中寻找一个小的变化。其次,该过程可能根本不会收敛,因此应该使用某种防止无限循环的措施。