使用Python实现线性回归
1、数据集
线性回归数据集来源于GitHub,由一百个点组成(也可以自己设置一些点作为数据集),使用matplotlib绘制如下:
2、实验过程
- 损失函数
使用均方误差作为损失函数。通过使均方误差最小化来优化线性模型。
- 参数初始化
设定w,b作为线性模型的两个参数,初始值为0。
lr作为学习率,初始值为0.0001。
epochs初始值设置为90,对数据集训练90轮。 - 更新参数
根据损失函数对w,b进行求导,对求导后的梯度乘以学习率lr,更新参数。详见代码 - 源代码
import tensorflow as tf
import numpy as np
from matplotlib import pyplot as plt
import matplotlib
#加载并处理数据
def load_datasets():
points = np.genfromtxt("data.csv", delimiter=",")
x = points[:, 0]
y = points[:, 1]
x = tf.convert_to_tensor(x, dtype=tf.float32)
y = tf.convert_to_tensor(y, dtype=tf.float32)
return x,y