那么如何了解线性回归的原理和算法呢?

简介: 线性回归可以说是机器学习中最基本的问题类型了,这里就对线性回归的原理和算法做一个小结。

线性回归可以说是机器学习中最基本的问题类型了,这里就对线性回归的原理和算法做一个小结。

一、线性回归的模型函数和损失函数

线性回归遇到的问题一般是这样的。我们有m个样本,每个样本对应于n维特征和一个结果输出,如下:

image.png

我们的问题是,对于一个新的

image.png

他所对应的yx是多少呢? 如果这个问题里面的y是连续的,则是一个回归问题,否则是一个分类问题。

对于n维特征的样本数据,如果我们决定使用线性回归,那么对应的模型是这样的:

image.png

其中 为模型参数, 为每个样本的n个特征值。 这个表示可以简化,我们增加一个特征 ,这样
image.png

进一步用矩阵形式表达更加简洁如下:

image.png

其中, 假设函数 为 的向量, θ为 的向量, 里面有n个代数法的模型参数。 X为 维的矩阵,m代表样本的个数,n代表样本的特征数。

得到了模型,我们需要求出需要的损失函数,一般线性回归我们用均方误差作为损失函数。损失函数的代数法表示如下:

image.png

进一步用矩阵形式表达损失函数:

image.png

由于矩阵法表达比较的简洁,后面我们将统一采用矩阵方式表达模型函数和损失函数。

二、线性回归的算法

对于线性回归的损失函数

image.png

我们常用的有两种方法来求损失函数最小化时候的θ参数:

一种是梯度下降法,一种是最小二乘法。

由于已经在其它篇中单独介绍了梯度下降法和最小二乘法,可以点蓝字到对应的文章链接去阅读。

如果采用梯度下降法,则θ的迭代公式是这样的:
image.png

通过若干次迭代后,我们可以得到最终的θ的结果

如果采用最小二乘法,则θ的结果公式如下:

image.png

当然线性回归,还有其他的常用算法,比如牛顿法和拟牛顿法,这里不详细描述。

三、线性回归的推广:多项式回归

回到我们开始的线性模型,

image.png

如果这里不仅仅是x的一次方,比如增加二次方,那么模型就变成了多项式回归。

这里写一个只有两个特征的p次方多项式回归的模型:

image.png

我们令,这样我们就得到了下式:

image.png

可以发现,我们又重新回到了线性回归,这是一个五元线性回归,可以用线性回归的方法来完成算法。

对于每个二元样本特征,我们得到一个五元样本特征,通过这个改进的五元样本特征,我们重新把不是线性回归的函数变回线性回归。

image.png

四、线性回归的推广:广义线性回归

在上一节的线性回归的推广中,我们对样本特征端做了推广,这里我们对于特征y做推广。比如我们的输出Y不满足和X的线性关系,但是lnY
和X满足线性关系,模型函数如下:

image.png

这样对与每个样本的输入y,我们用去lny
对应, 从而仍然可以用线性回归的算法去处理这个问题。我们把lny
一般化,假设这个函数是单调可微函数,则一般化的广义线性回归形式是:

image.png

这个函数我们通常称为联系函数。

五、线性回归的正则化

为了防止模型的过拟合,我们在建立线性模型的时候经常需要加入正则化项。一般有L1正则化和L2正则化。

线性回归的L1正则化通常称为Lasso回归,它和一般线性回归的区别是在损失函数上增加了一个L1正则化的项,L1正则化的项有一个常数系数α来调节损失函数的均方差项和正则化项的权重,具体Lasso回归的损失函数表达式如下:

image.png

其中,n为样本个数,α为常数系数,需要进行调优。为L1范数。

Lasso回归可以使得一些特征的系数变小,甚至还是一些绝对值较小的系数直接变为0。增强模型的泛化能力。

Lasso回归的求解办法一般有坐标轴下降法(coordinate descent)和最小角回归法(Least Angle Regression)。

线性回归的L2正则化通常称为Ridge回归,它和一般线性回归的区别是在损失函数上增加了一个L2正则化的项,和Lasso回归的区别是Ridge回归的正则化项是L2范数,而Lasso回归的正则化项是L1范数。具体Ridge回归的损失函数表达式如下:

image.png

其中α为常数系数,需要进行调优。为L2范数。

Ridge回归在不抛弃任何一个特征的情况下,缩小了回归系数,使得模型相对而言比较的稳定,但和Lasso回归比,这会使得模型的特征留的特别多,模型解释性差。

Ridge回归的求解比较简单,一般用最小二乘法。这里给出用最小二乘法的矩阵推导形式,和普通线性回归类似。

令的导数为0,得到下式:

image.png

整理即可得到最后的θ的结果:

image.png

其中E为单位矩阵。

除了上面这两种常见的线性回归正则化,还有一些其他的线性回归正则化算法,区别主要就在于正则化项的不同,和损失函数的优化方式不同,这里就不累述了。

目录
相关文章
机器学习/深度学习 算法 自动驾驶
1268 0
|
7月前
|
机器学习/深度学习 算法 搜索推荐
从零开始构建图注意力网络:GAT算法原理与数值实现详解
本文详细解析了图注意力网络(GAT)的算法原理和实现过程。GAT通过引入注意力机制解决了图卷积网络(GCN)中所有邻居节点贡献相等的局限性,让模型能够自动学习不同邻居的重要性权重。
1369 0
从零开始构建图注意力网络:GAT算法原理与数值实现详解
|
8月前
|
传感器 算法 定位技术
KF,EKF,IEKF 算法的基本原理并构建推导出四轮前驱自主移动机器人的运动学模型和观测模型(Matlab代码实现)
KF,EKF,IEKF 算法的基本原理并构建推导出四轮前驱自主移动机器人的运动学模型和观测模型(Matlab代码实现)
265 2
|
8月前
|
算法
离散粒子群算法(DPSO)的原理与MATLAB实现
离散粒子群算法(DPSO)的原理与MATLAB实现
403 0
|
9月前
|
机器学习/深度学习 人工智能 编解码
AI视觉新突破:多角度理解3D世界的算法原理全解析
多视角条件扩散算法通过多张图片输入生成高质量3D模型,克服了单图建模背面细节缺失的问题。该技术模拟人类多角度观察方式,结合跨视图注意力机制与一致性损失优化,大幅提升几何精度与纹理保真度,成为AI 3D生成的重要突破。
1210 0
|
9月前
|
算法 区块链 数据安全/隐私保护
加密算法:深度解析Ed25519原理
在 Solana 开发过程中,我一直对 Ed25519 加密算法 如何生成公钥、签名以及验证签名的机制感到困惑。为了弄清这一点,我查阅了大量相关资料,终于对其流程有了更清晰的理解。在此记录实现过程,方便日后查阅。
1246 0
|
10月前
|
消息中间件 存储 缓存
zk基础—1.一致性原理和算法
本文详细介绍了分布式系统的特点、理论及一致性算法。首先分析了分布式系统的五大特点:分布性、对等性、并发性、缺乏全局时钟和故障随时发生。接着探讨了分布式系统理论,包括CAP理论(一致性、可用性、分区容错性)和BASE理论(基本可用、软状态、最终一致性)。文中还深入讲解了两阶段提交(2PC)与三阶段提交(3PC)协议,以及Paxos算法的推导过程和核心思想,强调了其在ZooKeeper中的应用。最后简述了ZAB算法,指出其通过改编的两阶段提交协议确保节点间数据一致性,并在Leader故障时快速恢复服务。这些内容为理解分布式系统的设计与实现提供了全面的基础。
|
10月前
|
存储 算法 安全
Java中的对称加密算法的原理与实现
本文详细解析了Java中三种常用对称加密算法(AES、DES、3DES)的实现原理及应用。对称加密使用相同密钥进行加解密,适合数据安全传输与存储。AES作为现代标准,支持128/192/256位密钥,安全性高;DES采用56位密钥,现已不够安全;3DES通过三重加密增强安全性,但性能较低。文章提供了各算法的具体Java代码示例,便于快速上手实现加密解密操作,帮助用户根据需求选择合适的加密方案保护数据安全。
736 58

热门文章

最新文章

下一篇
开通oss服务