如何在一行代码中将多个更新组合到一个numpy数组?

时间:2019-02-10 16:25:01

标签: python numpy

这是一个很奇怪的问题,但这是我的代码:

weights[0] = weights[0] - (1 / outputY.size) * alpha * (errorDiff) * normalizedX[i][0]
weights[1] = weights[1] - (1 / outputY.size) * alpha * (errorDiff) * normalizedX[i][1]
weights[2] = weights[2] - (1 / outputY.size) * alpha * (errorDiff) * normalizedX[i][2]

其中weightsnormalizedX是numpy数组。是否有某种方法可以在一行中完成而不是重复执行?另外,我可以使用循环,但我想知道是否首先有一种更优雅的方法。

1 个答案:

答案 0 :(得分:5)

假设权重的尺寸为(3,),归一化为(n, 3)

weights = weights - (1 / outputY.size) * alpha * (errorDiff) * normalizedX[i]

您也可以就地执行此操作:

weights -= (1 / outputY.size) * alpha * (errorDiff) * normalizedX[i]