零参数向量在张量流中如何工作?

问题描述 投票:0回答:1

所以,我正在关注 Chris Mattman 写的关于 Tensorflow 的书。它有很多错误并且已经过时,但我仍在尝试用它进入机器学习(书中还有一些有趣的概念)

这是代码:

import tensorflow as tf
tf.disable_v1_behavior()
#...
#...
#...
def model(X, w):
    terms = []
    for i in range(num_coeffs): #num_coeffs = 6
        term = tf.multiply(w[i], tf.pow(X, i))
        terms.append(term)
    return tf.add_n(terms)

w = tf.Variable([0.]*num_coeffs, name="parameters")
y_model = model(X, w) #X = tf.placeholder(tf.float32)

我的问题:我们如何将 0. 乘以变量中的某个值并得到与 0 不同的值? 编辑:我忘了提,它是多项式回归模型 =)

python tensorflow machine-learning linear-regression tensorflow2.0
1个回答
0
投票

参数

[0.]*num_coefs
w表示的张量流变量的
初始
值。当然,当所有系数都为零时,乘以这些系数的结果也为零。

针对某些距离或损失度量(例如最小化均方误差)执行优化的要点是变量将被更新为非零值,从而根据输入和输出数据优化度量。您的代码尚未包含 optimizer,因此该变量不会被更新。添加优化器将导致变量更新为非零向量,并根据所选优化器遵循某种策略。

© www.soinside.com 2019 - 2024. All rights reserved.