我正在研究梯度下降,在这段代码中精度的含义是什么?
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))
似乎精度是一种检查收敛性的手段:如果梯度下降的最后一次迭代仅引起很小的变化,则停止。
这种方法不是很可靠。首先,单次迭代中的小变化并不是收敛的强烈迹象。最好在几个连续的迭代中寻找一个小的变化。其次,该过程可能根本不会收敛,因此应该使用某种防止无限循环的措施。
我正在自学梯度下降。 因为是用来简历上大学的。 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))
似乎精度是一种检查收敛性的手段:如果梯度下降的最后一次迭代仅引起很小的变化,则停止。
这种方法不是很可靠。首先,单次迭代中的小变化并不是收敛的强烈迹象。最好在几个连续的迭代中寻找一个小的变化。其次,该过程可能根本不会收敛,因此应该使用某种防止无限循环的措施。