使用numpython实现元素级乘法

使用numpython实现元素级乘法,python,list,numpy,matrix,numpy-ndarray,Python,List,Numpy,Matrix,Numpy Ndarray,我试图用normal*得到元素级的多重应用程序,我尝试了np.multiply(),两者都给出了奇怪的答案 现在(1-y)是(100,)而np.log(1-sigmoid(np.dot(X,θ)))是(100,1),所以当我按元素方式对它们进行多重计算时,它应该是(100,1);但它给了我(100100)矩阵(都是亮蓝色) 这里是我的原始功能,如果它可以帮助。 有人能帮我找到错误的来源吗?我不太清楚python为什么会这样做,但解决的方法是应用np.revorme((1-y)、(100,1)

我试图用normal*得到元素级的多重应用程序,我尝试了np.multiply(),两者都给出了奇怪的答案

现在(1-y)是(100,)而np.log(1-sigmoid(np.dot(X,θ)))是(100,1),所以当我按元素方式对它们进行多重计算时,它应该是(100,1);但它给了我(100100)矩阵(都是亮蓝色)

这里是我的原始功能,如果它可以帮助。


有人能帮我找到错误的来源吗?

我不太清楚python为什么会这样做,但解决的方法是应用
np.revorme((1-y)、(100,1))
然后应用
np.multiply()
。总的来说,改变数组的形状并给它们一个第二维度总是更好的


编辑:解释numpy在使用维度数组
(n,)
(n,1)

时如何进行广播请提供预期的(MRE)。我们应该能够复制和粘贴一个连续的代码块,执行该文件,并再现您的问题以及跟踪问题点的输出。这让我们可以根据您的测试数据和期望的输出来测试我们的建议。显示中间结果与您预期的不同之处。不接受场外链接和文本图像;我们需要你的问题是独立的,以符合本网站的目的。根据
广播的规则
a(100,)扩展到(1100)。用(100,1)生成(100100)。如果你不学习这些基础知识,你将永远在numpy受挫。请避免。这是一个更好的做法,把它们转录下来。这些是《努比兄弟》的基本规则。是的,它解决了这个问题。非常感谢