上期回顾
应用场景--->向量化--->模型-->结果
人工智能主要围绕模型展开,模型可以理解为公式
模型之一:线性回归
模型是直线,让直线拟合这些点,所以叫线性回归

需求:给出一组数据x,y,给出点的分布情况(给出一个公式),类似于y=ax+b
    也就是说,通过调整a,b的值,让直线拟合这些点
    (调整w,b的值就是机器在学习的过程,要知道,不管怎么调整,都是由误差的,机器学习的目的
    就是找到合适w,b让误差最小)
    
    优化之后,我们得到w=2,b=1的值,得到此模型(公式)
    y_prodict=2x+1  mse=(y_prodict-y)*2   误差最小,就是求mse最小

代码展示:
    x,y=通过查表读取出来de 百分之80
    model=line(建立线性回归的模型)
    model.fit(x,y) 训练模型
    model.w
    model.b
    模型做出来之后,使用训练数据和测试数据分别得出预测值和真实值去比较,求出平方值的最小值
    
    mse只有相对意义
    推广能力:能在测试集上表现很好的能力
mse的最小值
mse=(y_prodict-y)^2现在的目的就是不断地调整w,b让mse最小即可
也就是说求mse的最小值
解决方案:先求导数,判断单调型,一旦单调性发生改变,图像就会转弯
    mse/w=2(wx+b-y)*x
    先随机给w0,w1=w0-&*mse/w,w2=w1-mse/w1 一直找最小值,这叫梯度下降法  因为要震动的浮动,所以增加一个参数&,控制震动的小
问题
问题一:测试机的误差和训练集的误差谁大谁小
    测试机的mse有可能比训练集大,也有可能比训练集小
    但是,因为很难取到训练集的数据,所以,在工程上,测试集的数据要比训练集mse大
    解决办法:增大训练集;增大训练集的多样性
    
    模型是针对训练集的,很难渠道压在训练集上的数据
问题二:为什么使用方差
    方差:把容易测得测完之后,mse下降一定值,就会注意到一些
    难测得一些数据
    绝对值:只训练简单的,不做难题
问题三:训练集的mse是不是越小越好
    不能越小越好,过度拟合的话,就学过头了
    怎么判断学过头?
    将训练集的数据分成训练和有效的,1h的时候看一下mse,2h的时候
    看一下mse,当发现mse变大的时候,说明学过头l
总结一点:线性回归就是通过不断的去调整w,使得mse最小
多元线性
y=wx=b
y=w1x+w2x+w3x...
简称:x=(1,x1,x2,x3)  w=(w0,w1,w2,w3)  y=w^t*x

使用线性回归的条件是数据尽可能在一条直线上
若是抛物线:y=w1x^2+w2x+w0
更复杂一点:y=w1x+w2x^2+w3x^3...