13
0
0

线性回归概论

2026-07-17
2026-07-17

思维导图

线性回归概览.png

线性回归

线性回归

y = kx +b -> y = wx +b w权重 b偏置

一元线性回归 多元线性回归

y = w1x1 +w2x2 +w3x3 +... +b

w = [[b],[w1],[w2],[w3],[w4]]

x = [[1],[x1],[x2],[x3],[x4]]

总结:y = w的转置 * x

线性回归API

from sklearn.linear_model import LinearRegression
准备数据
x = [[1],[x1],[x2],[x3],[x4]]
y = [1,2,3,4]
准备模型
model = LinearRegression()
model.fit(x,y)
预测
model.predict([[176]])

线性回顾实现的原理

误差 = 预测 - 真实

损失函数 -》 衡量误差的函数 
最小二乘
均方误差
均方根误差
平均绝对误差

损失函数  =  (〖160𝑘+(−100)−56.3)〗^2  + (〖166𝑘+(−100)−60.6)〗^(2 )  + (〖172𝑘+(−100)−65.1)〗^(2 ) + (〖174𝑘+(−100)−58.5)〗^(2 ) + (〖180𝑘+(−100)−56.3)〗^(2 )
    
损失函数' = 函数的瞬时变化率

函数的瞬时变化率 = 0 -> 函数是最小值

损失函数求导 -> 函数最小值

损失函数求偏导 -> 对什么求导,就让其他变量为常数

正规方程法

一元线性方程 :损失函数' = 0,求解

多元线性方程: 损失函数’‘ ,求解

不一定有解,如果矩阵不可逆,那就没法求解,所以需要梯度下降法

梯度下降法

一次下降一点梯度,逐步向0靠近

w新 = w旧 - 学习率*梯度

学习率不能太大,否则会出现梯度震荡

学习率不能太小,否则会出现梯度爆炸

学习率:0.001 ~ 0.01

梯度是函数上升的方向,梯度的反方向是函数下降的方向。就像一个指北针一样

拟合问题

过拟合

特征过多,需要删减无用的特征(删是直接不要特征,减少特征的权重)

欠拟合

特征过少,需要增加特征(一般都需要拉去新的特征,测试一般都是加平方,立方...作为测试数据)

正好拟合

解决过拟合的方案:L1正则化 && L2正则化

L1正则化Lasso - 权重可能更新到0从而放弃当前的特征

例子:一个员工如果不听话,就进行开出

L2正则化Ridge - 权重不断靠近0,但是不会等于0(重点)

例子:一个员工如果不听话,就降薪

线性回归模型评估

(MAE\RMSE) 比较接近,RMSE一般大于MAE,如果过于大,也是异常的表现

MSE放大误差

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或者给予支持!