【发布时间】:2016-10-08 18:52:23
【问题描述】:
我是机器学习的初学者。我从python machine learning 这本书和一些在线视频开始我的学习。
我对“python 机器学习”中 Perceptron 的实现感到困惑。这是公式:
但是根据公式,在实现中是 W * X,而不是 X * W。它们对于矩阵不同。(对于numpy dot,如果 X 是二维数组,则它是矩阵乘法。)。为什么实现不遵循公式?
本书中Iris示例的上述python代码中的实际值如下:
w[1:]: [-0.68 1.82]
X: [[ 3.3 0. ]
[ 3.32 0. ]
[ 3.34 0. ]
...,
[ 7.94 6.08]
[ 7.96 6.08]
[ 7.98 6.08]]
谢谢。
【问题讨论】:
-
点积是一个标量和
a.b == b.a。见en.wikipedia.org/wiki/Dot_product#Properties -
对于 numpy dot,如果 X 是二维数组,则为矩阵乘法。如果切换 X 和 W 则会出现编译错误。因此 W * X 和 X * W 的结果不一样。见:docs.scipy.org/doc/numpy/reference/generated/numpy.dot.html