【发布时间】:2021-11-06 15:08:17
【问题描述】:
鉴于采用渐变是机器学习的核心思想,我试图找出对某些函数(例如 f(x) = 4x^2 + 3x + 2; 和 Julia 中的输入值)采用渐变所需的代码。我环顾四周但没有我发现的资源中没有明确提到这一点。
【问题讨论】:
-
可以自己提问和回答问题:stackoverflow.blog/2011/07/01/…
鉴于采用渐变是机器学习的核心思想,我试图找出对某些函数(例如 f(x) = 4x^2 + 3x + 2; 和 Julia 中的输入值)采用渐变所需的代码。我环顾四周但没有我发现的资源中没有明确提到这一点。
【问题讨论】:
Flux 实际上有一个内置的gradient 函数,可以按如下方式使用:
julia> using Flux
julia> f(x) = 4x^2 + 3x + 2;
julia> df(x) = gradient(f, x)[1]; # df/dx = 8x + 3
julia> df(2)
19.0
其中 f 是函数,x 是输入值。
它甚至可以用来取二阶导数。您可以阅读有关gradient function in the Flux.jl docs 的更多信息。
【讨论】: