我一直在阅读有关张量流动的指南:https://medium.com/all-of-us-are-belong-to-machines/the-gentlest-introduction-to-tensorflow-248dc871a224为什么线性回归占位符在张量流中具有形状[1,1]?
...而且大多数情况下,我看到发生了什么。
然而,在example code线性模型限定所述线性模型是这样的:
# Model linear regression y = Wx + b
x = tf.placeholder(tf.float32, [None, 1])
W = tf.Variable(tf.zeros([1,1]))
b = tf.Variable(tf.zeros([1]))
product = tf.matmul(x,W)
y = product + b
y_ = tf.placeholder(tf.float32, [None, 1])
# Cost function sum((y_-y)**2)
cost = tf.reduce_mean(tf.square(y_-y))
# Training using Gradient Descent to minimize cost
train_step = tf.train.GradientDescentOptimizer(0.0000001).minimize(cost)
的问题是:为什么Wx + b
与这些值表示:
x = tf.placeholder(tf.float32, [None, 1])
W = tf.Variable(tf.zeros([1,1]))
b = tf.Variable(tf.zeros([1]))
? [None, 1]
,[1, 1]
?为什么[None, 1]
为x和[1, 1]
为W?
如果[1, 1]
是大小为1的1个元素,那么为什么b只是[1]
,这是什么意思? 1个大小为0的元素?
对于W = tf.Variable,第一个'1'是特征,房屋大小,第二'1'是输出房价。
这是否意味着,如果我试图表现的模型,说:
y = Ax + Bz
这意味着我有两个“功能”(x和z)和我的A和B值应形[2,1]?这看起来不正确...
这似乎完全不同于polynomial regression,其中权重因子是形状[1]
。为什么这是不同的?
这就是文章所说的!我问的问题是*为什么*。这是另一种解决方案,不会*做到这一点:https://raw.githubusercontent.com/pkmital/tensorflow_tutorials/master/python/02_linear_regression.py你为什么要做这个*而不是*那*。 – Doug
@Doug实际上,如果您只有一个输入功能和一个输出功能,则这两种解决方案之间没有区别。但是发布在您的问题中的解决方案可以很容易地修改为用于多个输入功能和多个输出功能的情况。 – Sraw
@Doug换句话说,它更可能是一个关于编码的问题,而不是模型的结构。 – Sraw