5.线性回归算法
1.本节重点知识点用自己的话总结出来,可以配上图片,以及说明该知识点的重要性
这个知识点非常重要,复习了矩阵的相关知识。线性回归都基于矩阵的基础。
损失函数是确定正确的线性方程的重要依据
重点递归下降,是优化方程的最佳途径。
2.思考线性回归算法可以用来做什么?(大家尽量不要写重复)
线性回归算法可以将生活的具有某一线性特征的属性概述总结,再遇到相关问题时,能快速根据线性回归方程得到最佳的解。例如根据手机的价格可以线性回归出手机的配置,若以后在某一价格可以快速匹配到相应的手机配置。
3.自主编写线性回归算法 ,数据可以自己造,或者从网上获取。(加分题)
# a = [1,2,3] # b = [4,5,6] # c = [4,5,6,7,8] # zipped = zip(a,b) # 打包为元组的列表 # [(1, 4), (2, 5), (3, 6)] import matplotlib.pyplot as plt import random _xs = [0.1*x for x in range(0, 10)] _ys = [6*i+3 for i in _xs] print(_xs) print(_ys) w = 1 # 权重 b = 1 # 间距 a1 = [] b1 = [] for i in range(100): for x, y in zip(_xs, _ys): o = w*x+b e = (o-y) loss = e**2 dw = 2*e*x # 对w求导 db = 2*e*1 # 对b求导 w = w - 0.2*dw # 梯度下降 b = b - 0.2*db # 学习率为0.1 print('此线性回归方程为y={0}x+{1}'.format(w, b)) a1.append(i) b1.append(loss) plt.plot(a1, b1) plt.pause(0.1) plt.show()