这是一个很奇怪的问题,但这是我的代码:
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]
其中weights
和normalizedX
是numpy数组。是否有某种方法可以在一行中完成而不是重复执行?另外,我可以使用循环,但我想知道是否首先有一种更优雅的方法。
答案 0 :(得分:5)
假设权重的尺寸为(3,)
,归一化为(n, 3)
:
weights = weights - (1 / outputY.size) * alpha * (errorDiff) * normalizedX[i]
您也可以就地执行此操作:
weights -= (1 / outputY.size) * alpha * (errorDiff) * normalizedX[i]