一、一元线性回归
1.解析法
模型中只有一个自变量,且预测的是一条直线
y = w x + b y=wx+b y=wx+b
模型变量: x x x
模型参数: w w w(权重), b b b(偏置量)
拟合误差/残差:某点的真实值和预测值的误差
最佳拟合直线:所有点的残差累计值最小,所有点到预测直线的欧氏距离最小
Loss函数:模型真实值和预测值不一致程度(在求函数最值时求导,直接将拟合误差求和会有正负抵消的问题,加绝对值又不利于求导,所以求拟合误差的平方和最小,并增加系数1/2更利于求导,得到平方损失函数)
均方误差损失函数:平方损失函数/n,引出最小二乘法
…
损失函数两个性质:
1.非负性(使误差不会正负抵消)
2.一致性(损失函数的值和误差变化的趋势一致)
求解线性回归模型的问题:就是函数求极值的问题
解析解:通过严格公式推导计算得出的精确解,能在任意精度下满足方程
数值解:通过近似计算得出的解,能在给定的精度下满足方程
2.梯度下降法
一元凸函数求极值
取定步长,对自变量x不断迭代,将迭代后的y和之前的y进行比较,若y值变小了,则进行下一次迭代,否则终止迭代且该点就是极值点。
[注]
步长越小,迭代次数越多,收敛速度越慢
步长越大,找到极值点的速度越快,但过大可能跨过最小值,引起振荡
改进方案:斜率大的地方选用大步长,斜率小的地方选用小步长
导数的符号决定了迭代的方向,不需要像之前一样比较领域两侧哪边函数值小来决定迭代方向
优点:(1)自动调节步长、确保收敛性 (2)自动确定迭代方向
推广为二元凸函数
分别对x、y求偏导,两者组成的向量即为二元函数的梯度
二元函数迭代算法每一步都沿梯度方向移动
偏导数:函数沿x、y轴的变化率
方向导数:函数沿某个方向的变化率
梯度的模:最大变化率的值
梯度的方向:取最大变化率的方向
只要能把损失函数描述为凸函数,就一定可以采用梯度下降算法,以最快的速度更行权重向量w,找到最小值点
一元线性回归问题可以转化为二元函数求极值问题
二、多元线性回归
多元线性回归:回归分析中有两个及以上的自变量,且应变量和自变量之间是线性关系
y = w 1 x 1 + w 2 x 2 + b y=w_1x_1+w_2x_2+b y=w1x1+w2x2+b
二元线性回归模型,可以表示为三维空间中的一个平面