📜  TensorFlow-线性回归(1)

📅  最后修改于: 2023-12-03 15:05:32.552000             🧑  作者: Mango

TensorFlow-线性回归

TensorFlow是一个用于数值计算的开源软件库。它支持多种机器学习算法,并提供一套完整的API和工具来帮助开发者构建和部署机器学习模型。

线性回归

线性回归是一种简单但非常有效的机器学习算法。它可以用来预测一个连续的数值,如房价、股票价格等。它通过拟合一个直线或者超平面来完成预测任务。

TensorFlow实现

以下是一个使用TensorFlow实现线性回归的示例:

import tensorflow as tf
import numpy as np

# 创建占位符
x = tf.placeholder(tf.float32)
y = tf.placeholder(tf.float32)

# 定义模型参数
W = tf.Variable(np.random.randn(), name="weight")
b = tf.Variable(np.random.randn(), name="bias")

# 定义线性模型
linear_model = W*x + b

# 定义损失函数
cost = tf.reduce_mean(tf.square(linear_model - y))

# 定义优化器
optimizer = tf.train.GradientDescentOptimizer(0.01)
train_op = optimizer.minimize(cost)

# 创建TensorFlow会话
sess = tf.Session()

# 初始化模型参数
sess.run(tf.global_variables_initializer())

# 训练模型
for i in range(100):
    _, c = sess.run([train_op, cost], feed_dict={x: x_train, y: y_train})
    print("Epoch:", '%04d' % (i+1), "cost=", "{:.9f}".format(c), \
          "W=", sess.run(W), "b=", sess.run(b))

# 使用模型进行预测
x_test = np.array([1, 2, 3, 4])
y_test = sess.run(linear_model, feed_dict={x: x_test})
print("Predictions:", y_test)

在这个例子中,我们首先定义了两个占位符xy,它们用于输入模型的数据。然后我们定义了两个模型参数Wb,分别代表线性模型的权重和偏置。接着我们定义了线性模型和损失函数,并选择了使用梯度下降算法作为优化器。最后,我们创建了一个TensorFlow会话,并对模型进行了训练。训练完成后,我们可使用模型进行预测。

总结

这是一个简单的使用TensorFlow实现线性回归的示例。TensorFlow支持多种机器学习算法,并提供一套完整的API和工具,可以帮助开发者构建和部署机器学习模型。