Обновление массива numpy, кроме i-й записи - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь реализовать алгоритм SGD, где есть формула обновления

Это можно легко сделать с помощью

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

Но я нахожу это уродливым, и мне интересно, есть ли более элегантный способ сделать это (возможно, с помощью некоторых приемов индексирования).

1 Ответ

0 голосов
/ 30 ноября 2018

Вы можете использовать маску:

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

Затем используйте маску позже:

beta[mask] = beta_old[mask]

Но она может быть медленнее, чем ваш текущий метод.

...