更新除 i-th 条目之外的 numpy 数组

Update a numpy array except i-th entry

我正在尝试实现 SGD 算法,其中有一个更新公式

这可以通过使用

轻松完成
temp = beta_old[i]
beta = beta_old
beta[i] = temp

但我觉得这很难看,我想知道是否有更优雅的方法来做到这一点(也许通过使用一些索引技巧)。

您可能想要使用面具:

mask = np.ones(size, dtype=np.bool)
mask[i] = false

以后再用面膜:

beta[mask] = beta_old[mask]

但它可能比您当前的方法慢。