[回归问题]

回归问题

  • 一、一元线性回归
    • 1.解析法
    • 2.梯度下降法
  • 二、多元线性回归

一、一元线性回归

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张图片
优点:(1)自动调节步长、确保收敛性 (2)自动确定迭代方向

推广为二元凸函数
分别对x、y求偏导,两者组成的向量即为二元函数的梯度
二元函数迭代算法每一步都沿梯度方向移动
[回归问题]_第2张图片
偏导数:函数沿x、y轴的变化率
方向导数:函数沿某个方向的变化率
梯度的模:最大变化率的值
梯度的方向:取最大变化率的方向

只要能把损失函数描述为凸函数,就一定可以采用梯度下降算法,以最快的速度更行权重向量w,找到最小值点

一元线性回归问题可以转化为二元函数求极值问题
[回归问题]_第3张图片

二、多元线性回归

多元线性回归:回归分析中有两个及以上的自变量,且应变量和自变量之间是线性关系

y = w 1 x 1 + w 2 x 2 + b y=w_1x_1+w_2x_2+b y=w1x1+w2x2+b
二元线性回归模型,可以表示为三维空间中的一个平面

[回归问题]_第4张图片
[回归问题]_第5张图片
[回归问题]_第6张图片
[回归问题]_第7张图片

你可能感兴趣的:(机器学习,python,人工智能)