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()

  

 

posted @ 2020-04-22 13:56  缪孝文  阅读(158)  评论(0编辑  收藏  举报