我一直在閱讀有關張量流動的指南: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