通过讲解学习了监督学习算法,并将其应用到一个实例中。
该算法实现了对数据的拟合于后续的发展可能的预测。
对于该问题:
我们使用函数:
进行学习拟合。
这里theta为需要学习拟合出的系数。
L为误差分析函数,我们以L小于1*e-4为满足条件。
下降梯度:
import random import numpy as np import matplotlib.pyplot as plt x1 = np.array([2104,1600,2400,1416,3000]) x2 = np.array([3,3,3,2,4]) p = np.array([400,330,369,232,540]) #对th(0~2)赋随机初值 th0 = random.random() th1 = random.random() th2 = random.random() th = np.array([th1,th2]) #学习度 al = 0.01 ep = 1e-4 #初值 e0 = 5 e1 = 5 e2 = 5 while e0>ep or e1>ep or e2>ep: i =0 j = 0 e0 = np.sum((th0+th1*x1[i]+th2*x2[i]-p[i])) e1 =e0 * x1[i] e2 = e0 * x2[i] th0 = th0 - al * e0 th1 = th1 - al * e1 th2 = th2 - al * e2 i+= 1 print(th0 ,th1, th2) plt.plot([th0,th1,th2],[th0,th1,th2],'ro')