我正在尝试在没有太多外部帮助的情况下对线性回归进行编程,并且在某种程度上已经成功完成了该过程,因为我的MSE通常返回的数字很小,并且输出的最合适的行看起来正确。我只是对下面的最后一行代码有疑问。优化程序是否还会更改偏差?如果是,则按学习率来更改偏差吗?
#tf graph input, the 9 training values
X = tf.placeholder("float")
Y = tf.placeholder("float")
random = random.uniform(0,20)
#weights and biases
W = tf.Variable((random), name = "Weight")
b = tf.Variable((random), name = "Bias")
#linear model multiply x by weights and biases to get a y
pred = tf.add(tf.multiply(X, W), b)
#cost function to reduce the error. MSE
cost = tf.reduce_sum(tf.pow(pred-Y, 2))/(2*n_samples)
#minimize cost taking steps of 0.01 down the parabola
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)
答案 0 :(得分:0)
是的,优化器更改了偏差,并且针对学习率进行了学习。除非设置了var_list选项,否则优化器将更新图中的所有可训练变量(在这种情况下,它们将更新该列表中的变量)。