使用 Numpy [Python] 进行元素明智的乘法
Element wise multiplication using Numpy [Python]
我正在尝试使用普通 * 来获取按元素的多重复制,并且我尝试了 np.multiply(),两者都给出了一个奇怪的答案。
现在 (1-y) 是 (100,) 而 np.log(1-sigmoid(np.dot(X,theta)))) 是 (100,1),所以当我按元素乘以它们,它应该给出(100,1);但它给了我 (100,100) 个矩阵(所有都突出显示为蓝色)
如果有帮助的话,这是我的原始功能。
任何人都可以帮我在这里获取错误的来源吗?
我不是 100% 确定为什么 python 这样做,但解决它的方法是应用 np.reshape((1-y),(100,1))
然后应用 np.multiply()
。一般来说,重塑数组并赋予它们第二维总是更好。
编辑:This 解释了在使用维度数组 (n,)
和 (n,1)
.[=15= 时 numpy 如何进行广播]
我正在尝试使用普通 * 来获取按元素的多重复制,并且我尝试了 np.multiply(),两者都给出了一个奇怪的答案。
现在 (1-y) 是 (100,) 而 np.log(1-sigmoid(np.dot(X,theta)))) 是 (100,1),所以当我按元素乘以它们,它应该给出(100,1);但它给了我 (100,100) 个矩阵(所有都突出显示为蓝色)
如果有帮助的话,这是我的原始功能。
任何人都可以帮我在这里获取错误的来源吗?
我不是 100% 确定为什么 python 这样做,但解决它的方法是应用 np.reshape((1-y),(100,1))
然后应用 np.multiply()
。一般来说,重塑数组并赋予它们第二维总是更好。
编辑:This 解释了在使用维度数组 (n,)
和 (n,1)
.[=15= 时 numpy 如何进行广播]