首页 > 解决方案 > 更新除第 i 个条目外的 numpy 数组

问题描述

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

这可以通过使用轻松完成

temp = beta_old[i]
beta = beta_old
beta[i] = temp

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

标签: pythonnumpygradient-descent

解决方案


您可能需要使用掩码:

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

然后稍后使用掩码:

beta[mask] = beta_old[mask]

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


推荐阅读