【线性回归模型】

线性回归模型

创建一些带标签的数据集𝐷 = {(𝒙1, 𝑦1) , (𝒙2, 𝑦2 ), ... , (𝒙𝑚, 𝑦𝑚) }

x为特征,映射到对应的标签y,再引入偏置b

线性回归模型的函数表达式可以用下面的式子

来表达:

𝑓(𝑥) = 𝑤1𝑥1 + 𝑤2𝑥2 + ⋯ + 𝑤𝑛𝑥𝑛 + 𝑏

对比函数(误差函数)

即将参数模型预测出的y与真实的y做对比,来调节参数和权重,以及偏置使得误差最小

即找到一些w使得J(x)最小甚至等于0

Loss值计算公式:

f(x)就是线性模型预测值,y为真实值,这里把b省略掉了便于计算。

最小二乘法

这里loss值(即损失值)的函数为开口向上的二次函数,那一定有个最小值

就是对w求导,导数为0时取得极小值,w=y/x时loss值最小

最小二乘法向量形式

将参数𝑏纳入到矩阵𝒘中,此时数据特征矩阵𝒙则为:

矩阵𝒘为:

得到线性回归模型的向量表达式如下式所示𝑓(𝑿) = 𝑿w

求解使得loss最小

还是仿造刚刚简易的最小二乘法求这个较复杂带矩阵表达式的最小loss值

很显然𝒙和𝒘都是一个矩阵,利用最小二乘法对这个矩阵求最优的𝒘矩阵参数。

计算的步骤如下所示

J ( ω ) = 1 2 ( f ( x ) − Y ) 2 J(\omega)=\frac{1}{2}(f(x)-Y)^2 J(ω)=21(f(x)−Y)2

这个 1 2 \frac{1}{2} 21只是方便之后计算,注意这里Xw是两个矩阵
J ( ω ) = 1 2 ( X w − Y ) 2 J(\omega)=\frac{1}{2}(Xw-Y)^2 J(ω)=21(Xw−Y)2

在线性代数里可写为它的转置乘以它本身 J ( ω ) = 1 2 ( X w − Y ) T ( X w − Y ) J(\omega)=\frac{1}{2}(Xw-Y)^T(Xw-Y) J(ω)=21(Xw−Y)T(Xw−Y)

转置拿进去
J ( ω ) = 1 2 ( X T w T − Y T ) ( X w − Y ) J(\omega)=\frac{1}{2}(X^Tw^T-Y^T)(Xw-Y) J(ω)=21(XTwT−YT)(Xw−Y)
= 1 2 ( X T w T X w − Y T X w − X T w T Y + Y Y T ) =\frac{1}{2}(X^Tw^TXw-Y^TXw-X^Tw^TY+YY^T) =21(XTwTXw−YTXw−XTwTY+YYT)
我们求 J ( ω ) J(\omega) J(ω)的导数为0时有loss的极小值

好,来求一下w的偏导数
∂ J ( ω ) ∂ w = 1 2 ( X T w T X w ∂ w − Y T X w ∂ w − X T w T Y ∂ w ) \frac{\partial J(\omega)}{\partial w}=\frac{1}{2}(\frac{X^Tw^TXw}{\partial w}-\frac{Y^TXw}{\partial w}-\frac{X^Tw^TY}{\partial w}) ∂w∂J(ω)=21(∂wXTwTXw−∂wYTXw−∂wXTwTY)

常数项 Y Y T YY^T YYT为0,看看对矩阵求导的公式知识点吧,如

套公式则
∂ J ( ω ) ∂ w = 1 2 ( 2 X X T w − X T Y − X T Y ) \frac{\partial J(\omega)}{\partial w}=\frac{1}{2}(2XX^Tw-X^TY-X^TY) ∂w∂J(ω)=21(2XXTw−XTY−XTY)
∂ J ( ω ) ∂ w = X X T w − X T Y ) \frac{\partial J(\omega)}{\partial w}=XX^Tw-X^TY) ∂w∂J(ω)=XXTw−XTY)

令 ∂ J ( ω ) ∂ w = 0 \frac{\partial J(\omega)}{\partial w}=0 ∂w∂J(ω)=0则 X X T w − X T Y = 0 XX^Tw-X^TY=0 XXTw−XTY=0
w = ( X X T ) − 1 X T Y w=(XX^T)^{-1}X^TY w=(XXT)−1XTY
但是 ( X X T ) − 1 (XX^T)^{-1} (XXT)−1大多数时候是无解的,所以最小二乘法多数情况下不能来求导得出loss最小值
于是梯度下降法就上线了

相关推荐
zh路西法1 小时前
【C++决策和状态管理】从状态模式,有限状态机,行为树到决策树(一):从电梯出发的状态模式State Pattern
c++·决策树·状态模式
ROBOT玲玉1 小时前
Milvus 中,FieldSchema 的 dim 参数和索引参数中的 “nlist“ 的区别
python·机器学习·numpy
GocNeverGiveUp2 小时前
机器学习2-NumPy
人工智能·机器学习·numpy
浊酒南街2 小时前
决策树(理论知识1)
算法·决策树·机器学习
B站计算机毕业设计超人3 小时前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
学术头条3 小时前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
18号房客3 小时前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
feifeikon3 小时前
机器学习DAY3 : 线性回归与最小二乘法与sklearn实现 (线性回归完)
人工智能·机器学习·线性回归
古希腊掌管学习的神3 小时前
[机器学习]sklearn入门指南(2)
人工智能·机器学习·sklearn
IT猿手3 小时前
最新高性能多目标优化算法:多目标麋鹿优化算法(MOEHO)求解TP1-TP10及工程应用---盘式制动器设计,提供完整MATLAB代码
开发语言·深度学习·算法·机器学习·matlab·多目标算法