【问题标题】:how to calculate the gradient in python numpy如何在python numpy中计算梯度
【发布时间】:2018-11-15 12:06:30
【问题描述】:

我必须在 Numpy 中实现随机梯度下降。所以我必须定义这个函数 E 的梯度:

其中 f 和 g 也在图像中定义。 我不知道如何做到这一点,我尝试使用 Sympy 和 numdifftools 但这些库给了我一些错误。 如何写出函数 E 的梯度? 谢谢

【问题讨论】:

    标签: numpy scipy gradient sympy


    【解决方案1】:

    你是说这个吗?

    import numpy as np
    
    # G function
    def g(x):
        return np.tanh(x/2)
    
    # F function
    def f(x, N, n, v, g):
        sumf = 0
        for j in range(1, N):
            sumi = 0
            for i in range(1, n):
                sumi += w[j, i]*x[i] - b[j]
            sumf += v[j]*g(sumi)
    
        return sumf
    

    【讨论】:

    • 嗨,这是我在 f 中的激活函数。但是我要做函数Error E(图中第一个)的梯度。
    • 你想实现第一个功能? E(w, pi) ?
    • 我想计算函数 E(w, pi) 的梯度,因为我刚刚在 Python 中定义了这个函数,但现在我需要优化,尊重 omega,使用梯度算法。
    • 你要写函数F吗?
    • 函数我已经写好了,但是我需要误差函数E的梯度来优化。我需要使用算法梯度下降,在使用它之前我需要 E 的梯度
    猜你喜欢
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    • 2017-06-06
    • 2021-06-12
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    相关资源
    最近更新 更多