You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何高效向量化Python中的目标函数?修正错误实现

问题描述

我已编写Python代码计算如下函数,其中y_i和z_i为固定值。

函数表达式

实际场景中,我需要在大量不同的向量x上计算该函数。为避免循环,我希望充分利用NumPy的向量化与广播特性。

目标:编写一个Python函数,输入为形状(M, p)的矩阵X(每行对应一个向量x),为每行计算上述表达式,输出形状为(M, p)的结果。

单样本函数
def single_function(x):
    """Assumes y is a vector (n,) and Z is a matrix (n, p). These are fixed."""
    return x / (sigma**2) - gamma*np.sum((np.exp(-np.logaddexp(0.0, y*np.matmul(Z, x))) * y)[:, None] * Z, axis=0)
向量化函数尝试

我尝试编写的向量化函数存在错误,但无法定位问题所在。

def vectorised(X):
    return X / (sigma**2) - gamma*np.matmul(np.exp(-np.logaddexp(0.0, y[None, :] * X.dot(Z.T))) * y[None, :], Z)

内容的提问来源于stack exchange,提问作者Euler_Salter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 18:33:26