tensorflow实现多变量线性回归模型
时间: 2023-10-09 10:11:30 浏览: 119
使用tensorflow实现线性回归
以下是一个多变量线性回归模型的TensorFlow实现示例:
```python
import tensorflow as tf
import numpy as np
# 定义训练数据
x1 = np.random.rand(100, 1)
x2 = np.random.rand(100, 1)
x3 = np.random.rand(100, 1)
y = 2 * x1 + 3 * x2 + 4 * x3 + 5
# 定义模型
X = tf.placeholder(tf.float32, [None, 3])
W = tf.Variable(tf.zeros([3, 1]))
b = tf.Variable(tf.zeros([1]))
Y = tf.matmul(X, W) + b
# 定义损失函数和优化器
loss = tf.reduce_mean(tf.square(Y - y))
optimizer = tf.train.GradientDescentOptimizer(0.01)
train = optimizer.minimize(loss)
# 初始化变量
init = tf.global_variables_initializer()
# 开始训练
with tf.Session() as sess:
sess.run(init)
for i in range(1000):
_, l = sess.run([train, loss], feed_dict={X: np.hstack((x1, x2, x3)), Y: y})
if i % 100 == 0:
print("Step %d, loss: %f" % (i, l))
# 打印训练结果
print("W:", sess.run(W))
print("b:", sess.run(b))
```
在以上示例中,我们使用了三个变量x1、x2、x3作为输入数据,将它们组合成一个矩阵X,使用变量W和b作为模型的参数,使用tf.matmul函数进行矩阵乘法运算,得到模型的输出Y。然后定义了损失函数和优化器,使用梯度下降法进行训练,并在每个训练步骤结束后输出损失值。最后输出训练得到的参数W和b。
阅读全文