用 TensorFlow 实现线性回归(Linear Regression)
给定一批由 y = 3x + 2 生成的数据集(x, y),建立线性回归模型 h(x) = wx + b,预测出 w = 3 和 b = 2。
1.1 生成拟合的数据集
数据集只含有一个特征向量,注意误差项需要满足高斯分布。使用了numpy和matplotlib库。numpy是Python的一个开源数值科学计算库,可用来存储和处理大型矩阵。matplotlib 是 Python 的绘图库,它可与 numpy 一起使用,提供了一种有效的 MatLab 开源替代方案
其代码如下:
#首先导入3个库:
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
#随机产生数据点100个,随机概率符合高斯分布(正态分布)
num_points = 100
vectors_set = []
for i in range(num_points):
x1 = np.random.normal(0.,0.55)
y1 = x1 * 0.1 + 0.3 + np.random.normal(0.0,0.03)
vectors_set.append([x1,y1])
#定义特征向量x
x_data = [v[0] for v in vectors_set]
#定义标签向量y
y_data = [v[1] for v in vectors_set]
#按[x_data,y_data]在X-Y坐标系中以打点方式显示,调用plt建立坐标系并将值打印输出
plt.scatter(x_data,