Optimization 我想用梯度下降法找到任意离散函数的最小点

Optimization 我想用梯度下降法找到任意离散函数的最小点,optimization,gradient,Optimization,Gradient,我想用梯度下降法找到任何离散函数的最小点,但我不知道如何计算函数对特定点的导数。比如说 function = [100 81 64 49 36 25 16 9 4 1 0 1 4 9 16 25 36 49 64 81 100] derivative = [ -19 -17 -15 -13 -11 -9 -7 -5 -3 -1 1 3 5 7 9 11 13 15 17 19] 梯度下降算法 x_next = x_now - alfa * derivative(x_now) 但是我如何计算

我想用梯度下降法找到任何离散函数的最小点,但我不知道如何计算函数对特定点的导数。比如说

function = [100 81 64 49 36 25 16 9 4 1 0 1 4 9 16 25 36 49 64 81 100]
derivative = [ -19 -17 -15 -13 -11 -9 -7 -5 -3 -1 1 3 5 7 9 11 13 15 17 19]
梯度下降算法

x_next = x_now - alfa * derivative(x_now) 

但是我如何计算导数(x_now)?我希望您能理解我的意思,谢谢

假设您知道与离散函数值对应的x值,例如

x = [-5 -4 -3 -2 ... ],
function = [100 81 64 49 36 ... ],
derivative = [-19 -17 -15 -13 ...],
梯度下降法中的导数可以被视为每个区间[x_(i),x_(i+1))上的常数,即伪码中的导数

derivative(x_now) = derivative(x_i), where x_(i) <= x_now < x_(i+1).

也许更合适我投票将这个问题作为离题题题结束,因为据我所知,这是一个数学问题。阿卜杜拉·卡利斯坎:如果您对问题的答案感到满意,请将其标记为已回答。否则,请给出反馈或尝试将问题移至math.stackexchange.com,看看是否有人可以回答如果你在那里更好,我发誓。
derivative(-3.5) = -15