首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想用梯度下降法求任意离散函数的极小点。

我想用梯度下降法求任意离散函数的极小点。
EN

Stack Overflow用户
提问于 2015-11-18 20:33:03
回答 1查看 1.4K关注 0票数 2

我想用梯度下降法求任何离散函数的极小点,但我不知道如何计算函数对某一特定点的导数。例如

代码语言:javascript
复制
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]

对于梯度下降算法

代码语言:javascript
复制
x_next = x_now - alfa * derivative(x_now) 

但是我如何评估derivative(x_now)呢?我希望你能理解我的意思,谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-12-06 07:53:31

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

代码语言:javascript
复制
x = [-5 -4 -3 -2 ... ],
function = [100 81 64 49 36 ... ],
derivative = [-19 -17 -15 -13 ...],

梯度下降法中的导数可以作为每个区间[x_(i),x_(i+1))上的常数。即在伪代码中

代码语言:javascript
复制
derivative(x_now) = derivative(x_i), where x_(i) <= x_now < x_(i+1).

例如,使用上面的x值:

代码语言:javascript
复制
derivative(-3.5) = -15
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33780198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档