Python 使用NumPy写下分段函数?

Python 使用NumPy写下分段函数?,python,numpy,Python,Numpy,我是NumPy的新手,我想知道如何写下分段定义的函数。 我有一个MSE_损失函数的导数,使用ReLU作为激活函数: 我有我需要的所有参数。我的问题是:如何使用NumPy处理分段函数(最好不使用循环) 已编辑: 例如,我可以使用NumPy以下方式编写以下函数: 如何使用上述分段公式的相同输入实现函数?我认为本示例中最简单的方法是使用条件乘数,如下所示(并非函数中的所有元素都在您的问题中定义,因此我猜测它们。但是,如果不是这样,您可以轻松修复): 你说的“把手”到底是什么意思?你能举一个输入的例

我是NumPy的新手,我想知道如何写下分段定义的函数。 我有一个MSE_损失函数的导数,使用ReLU作为激活函数:

我有我需要的所有参数。我的问题是:如何使用NumPy处理分段函数(最好不使用循环)

已编辑: 例如,我可以使用NumPy以下方式编写以下函数:


如何使用上述分段公式的相同输入实现函数?

我认为本示例中最简单的方法是使用条件乘数,如下所示(并非函数中的所有元素都在您的问题中定义,因此我猜测它们。但是,如果不是这样,您可以轻松修复):


你说的“把手”到底是什么意思?你能举一个输入的例子并解释你想要什么样的相应输出吗?@KarlKnechtel我补充了一些说明这里有一个
np.分段
函数。但请注意,它不是花哨的(没有编译)-只是(函数、条件)对上的一次迭代。显示输入、输出和示例“幼稚”实现。甚至python循环也可以。这将消除任何歧义。
def loss_derivative(X, y, w, b):
    n = len(y)
    sigma = sigmoid(X @ w + b)
    return (X.T @ ((sigma - y) * sigma * (1 - sigma))) / n
def loss_derivative(X, y, w):
    n = len(y)
    return X.T @ (((X @ w - y) / n) * ((X @ w) > 0))