学习目标:
机器学习----线性回归
学习内容:
1、 线性回归 2、梯度下降法
学习记录:
import numpy as np
import matplotlib.pyplot as mp
train_x = np.array([0.5, 0.6, 0.8, 1.1, 1.4])
train_y = np.array([5.0, 5.5, 6.0, 6.8, 7.0])
w0, w1 = 1, 1
times = 1000
lrate=0.01
for i in range(1, times + 1):
d0=(w0+w1*train_x-train_y).sum()
d1=(train_x*(w0+w1*train_x-train_y)).sum()
w0=w0-lrate*d0
w1=w1-lrate*d1
print(w0)
print(w1)
linex=np.linspace(train_x.min(),train_x.max(),100)
liney=w1*linex+w0
mp.figure('linear regression',facecolor='lightgray')
mp.title('linear regression',fontsize=18)
mp.grid(linestyle=':')
mp.scatter(train_x,train_y,s=80,marker='o',
color='dodgerblue',label='Samples')
mp.plot(linex,liney,color='orangered',
linewidth=2,label='regression line')
mp.legend()
mp.show()
import numpy as np
import matplotlib.pyplot as mp
train_x =