【机器学习】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),其中λ是一个自由的超参数,在模型复杂度和训练误差之中权衡赋值。

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

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

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

相关推荐
凳子花❀1 分钟前
强化学习与深度学习以及相关芯片之间的区别
人工智能·深度学习·神经网络·ai·强化学习
泰迪智能科技012 小时前
高校深度学习视觉应用平台产品介绍
人工智能·深度学习
盛派网络小助手2 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
Eric.Lee20213 小时前
Paddle OCR 中英文检测识别 - python 实现
人工智能·opencv·计算机视觉·ocr检测
cd_farsight3 小时前
nlp初学者怎么入门?需要学习哪些?
人工智能·自然语言处理
AI明说3 小时前
评估大语言模型在药物基因组学问答任务中的表现:PGxQA
人工智能·语言模型·自然语言处理·数智药师·数智药学
Focus_Liu3 小时前
NLP-UIE(Universal Information Extraction)
人工智能·自然语言处理
PowerBI学谦3 小时前
使用copilot轻松将电子邮件转为高效会议
人工智能·copilot
audyxiao0013 小时前
AI一周重要会议和活动概览
人工智能·计算机视觉·数据挖掘·多模态