【机器学习】6. 线性回归、损失计算、最小二乘法、岭回归

【机器学习】6. 线性回归、损失计算、最小二乘法、岭回归

线性回归 Liner regression

特征向量:
X T = [ 1 , x 1 , x 2 , x 3 ] X^T = [1 , x1, x2,x3] XT=[1,x1,x2,x3]

这里的1用来指代偏移量。 1的必要性:假设用喝牛奶预测身高,如果没有偏移量,那么180不喝牛奶,预测结果是0,为了避免这种情况,加入了偏移,

预测值:

其中w代表权重, y代表真实值, ŷ 代表预测值
y ≈ y ^ = ∑ i = 0 3 w i x i = w T x y ≈ ŷ = \sum_{i=0}^{3}{w_ix_i} = w^Tx y≈y^=i=0∑3wixi=wTx

1维线性函数

y ≈ y ^ = w 0 + w 1 x y ≈ ŷ = w_0 + w_1x y≈y^=w0+w1x

  • y : 标签
  • x: 特征
  • w0: 截距 / 偏移
  • w1: 斜率

损失评估方式

平方损失函数:
( y − y ^ ) 2 (y - ŷ)^2 (y−y^)2

绝对损失函数
∣ y − y ^ ∣ | y - ŷ | ∣y−y^∣

平方损失函数(Square Loss)在实践中更加常用,更有数学意义。

最小二乘法(Least Squares Regression)

权重w属于超参数,如果我们想要优化模型,就需要从w入手,将loss降低,也就是找到最小loss
m i n w ∑ i = 1 n ( w T x ( i ) − y ( i ) ) 2 min_{w}\sum^n_{i=1}(w^Tx^{(i)} - y^{(i)})^2 minwi=1∑n(wTx(i)−y(i))2

也可以用L2范式简写一下
m i n w ∣ ∣ w x --- y ∣ ∣ 2 2 min_w ||wx ---y||_2^2 minw∣∣wx---y∣∣22

最小值怎么求?导数=0求极值
f ( w ) = ∣ ∣ w x --- y ∣ ∣ 2 2 = ∑ i = 1 n ( w x ( i ) − y ( i ) ) 2 f(w) = ||wx ---y||2^2 = \sum^n{i=1}(wx^{(i)} - y^{(i)})^2 f(w)=∣∣wx---y∣∣22=i=1∑n(wx(i)−y(i))2
d f d w ( w ) = 2 ∗ ∑ i = 1 n ( w x ( i ) − y ( i ) ) = 0 \frac{df}{dw}(w) = 2* \sum^n_{i=1}(wx^{(i)} - y^{(i)}) = 0 dwdf(w)=2∗i=1∑n(wx(i)−y(i))=0

同样的,可以用矩阵计算
w = ( X T X ) − 1 X T y w = (X^TX)^{-1}X^Ty w=(XTX)−1XTy

矩阵计算,举个简单的例子。

不要忘记矩阵怎么算(第一行 * 第一列,第一行 * 第二列...)
X T X^T XT

这个是矩阵的转置。

从公式中,我们可以得知,最小二乘法要求矩阵可逆。

什么样的矩阵不可逆呢?

参考MIT教授的解释:可以找到一个矩阵相乘=0

岭回归 (Ridge Regression)

由于最小二乘法需要可逆矩阵,那么可不可以做优化呢?这里的优化就用到了岭回归。

岭回归加入了一个超参数λ

公式变成:
m i n w ∣ ∣ w x --- y ∣ ∣ 2 2 + λ ∣ ∣ w ∣ ∣ 2 2 min_w ||wx ---y||_2^2 + λ||w||_2^2 minw∣∣wx---y∣∣22+λ∣∣w∣∣22
w = ( X T X + λ I k ) − 1 X T y w = (X^TX + λI_k )^{-1}X^Ty w=(XTX+λIk)−1XTy

其中I 是单位矩阵(单位矩阵:对角线都为1)

∣ ∣ w x --- y ∣ ∣ 2 2 ||wx ---y||_2^2 ∣∣wx---y∣∣22

前面这一部分,是模型损失
λ ∣ ∣ w ∣ ∣ 2 2 λ||w||_2^2 λ∣∣w∣∣22

后面这一部分,定义为模型复杂度(model complexity),其中λ是一个自由的超参数,在模型复杂度和训练误差之中权衡赋值。

最终矩阵变成非奇异,进而能够求逆,λ为正则化系数,或者叫做惩罚系数。

惩罚项能够过滤不太重要的特征,相比普通线性回归(最小二乘法)能够得到更好的预测效果,能够解决特征数多于样本量的情况(矩阵不可逆)以及解决过拟合和特征共线性的问题。

当然,更常用还是梯度下降法啦!后文会继续介绍

相关推荐
J_Xiong01171 分钟前
【Agents篇】07:Agent 的行动模块——工具使用与具身执行
人工智能·ai agent
SEO_juper7 分钟前
13个不容错过的SEO技巧,让您的网站可见度飙升
人工智能·seo·数字营销
小瑞瑞acd9 分钟前
【小瑞瑞精讲】卷积神经网络(CNN):从入门到精通,计算机如何“看”懂世界?
人工智能·python·深度学习·神经网络·机器学习
CoderJia程序员甲18 分钟前
GitHub 热榜项目 - 日榜(2026-02-06)
人工智能·ai·大模型·github·ai教程
wukangjupingbb23 分钟前
AI多模态技术在创新药研发中的结合路径、机制及挑战
人工智能
CoderIsArt33 分钟前
三大主流智能体框架解析
人工智能
民乐团扒谱机37 分钟前
【微实验】机器学习之集成学习 GBDT和XGBoost 附 matlab仿真代码 复制即可运行
人工智能·机器学习·matlab·集成学习·xgboost·gbdt·梯度提升树
Coder_Boy_39 分钟前
Deeplearning4j+ Spring Boot 电商用户复购预测案例中相关概念
java·人工智能·spring boot·后端·spring
芷栀夏42 分钟前
CANN ops-math:揭秘异构计算架构下数学算子的低延迟高吞吐优化逻辑
人工智能·深度学习·神经网络·cann
L5434144644 分钟前
告别代码堆砌匠厂架构让你的系统吞吐量翻倍提升
大数据·人工智能·架构·自动化·rpa