首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >机器学习:为什么xW+b而不是Wx+b?

机器学习:为什么xW+b而不是Wx+b?
EN

Stack Overflow用户
提问于 2016-11-16 21:32:27
回答 2查看 6.9K关注 0票数 6

我开始学习机器学习。现在我试着和tensorflow一起玩。

我经常看到这样的例子:

代码语言:javascript
运行
复制
pred = tf.add(tf.mul(X, W), b)

我还在一个简单的numpy实现中看到了这样一条线。为什么总是使用x*W+b而不是W*x+b?如果矩阵以这种方式相乘,是否有优势?我认为这是可能的(如果XWb被转置),但我看不到优势。在学校的数学课上,我们总是只使用Wx+b

非常感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-16 21:38:00

这就是原因:

  • 默认情况下,w是权重向量,在数学中,向量被认为是列,而不是行。
  • X是数据的集合。它是一个矩阵nxd (其中n是数据的个数,d是特征的数目)(大写X是矩阵nxd,下情况只有1个数据1xd矩阵)。

要正确地乘这两种方法并在正确的特性中使用正确的权重,必须使用X*w+b:

  • 对于X*w,您可以根据其相应的权重来对每个特性进行变异,通过添加b,您可以在每个预测中添加偏倚项。

如果你把w*x乘以a(1xd)*( no ),它就没有意义了。

票数 11
EN

Stack Overflow用户

发布于 2016-11-24 08:46:32

我也对此感到困惑。我想这可能是一个维度的问题。对于n*m维矩阵W和n维向量x,使用x_W+b可以很容易地看作是将n维特征映射为m维特征,也就是说,您可以很容易地将W看作n维-> m维操作,其中W_x+b (x现在必须是m维向量)变成了m维-> n维操作,在我看来,这看起来不太舒服。:D

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40642732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档