线性回归原理总结

基本形式

线性回归(linear regression)通过学习获得一个线性模型以尽可能准确地预测实际标签值。对于具有m个样本的数据集,给定n个特征,其线性回归模型如下:

h(x)=θ0+θ1x1+θ2x2+...+θnxn=i=0nθixi    其中,h(x)表示用来预测的假设函数,通过此函数输出一组连续型标签值;xi(i=1,2,...,n)表示每个样本在第i个特征上的取值;θi(i=1,2,...,n)为模型参数,θ0表示截距,θ1~θn称为系数。

一般向量形式为

h(x)=[θ0,θ1,θ2,...,θn][x0x1x2...xn]=θTx (x0=1),其中θx均为(n+1)x1向量

损失函数

损失函数用来衡量模型参数θ的优劣,即评估真实值与预测值的误差,是求解最优参数的工具。损失函数最小时,模型在训练集上的表现最好,对应的模型参数最优。

在线性回归中,一般采用均方误差(1mi=1m(h(x)(i)y(i))2)作为性能度量。损失函数形式如下:

J(θ)=12mj=1m(h(x)(j)y(j))2 代数式2-1,其中,m是样本数,j=1,2,...,mh(x)(j)y(j)分别表示第j个样本对应的预测值和实际标签值

将所有样本的特征和标签分别以矩阵形式表示: X=[1x1(1)x2(1)...xn(1)1x1(2)x2(2)...xn(2).......1x1(m)x2(m)...xn(m)] ,Y=[y(1)y(2)...y(m)],则损失函数J(θ)为:J(θ)=12m(XθY)T(XθY) 矩阵形式2-2

注:线性回归的损失函数是凸函数。关于损失函数的具体形式,不同书籍、网页资料、教程会有所不同,区别在于是否添加系数12或者12m或者1m,这里不必纠结,看个人爱好,因为系数只是影响了极值的大小,与损失函数取极值时的模型参数没有关系。而我们关心的是损失函数取极值时对应的模型参数。

损失函数的优化

1.最小二乘法(用途广泛,不仅限于线性回归)

基于均方误差最小化来进行模型参数求解的方法称为"最小二乘法"(least square method),就是试图找到一条直线(或一个超平面),使所有样本到直线(或超平面)上的欧式距离之和最小(注:均方误差等于最小二乘法除以样本数m)。

代数法求解

那么,最小二乘法如何才能使J(θ)最小呢?也就是说,一组θi(i=0,1,2,...,n)分别取哪些值时对应的J(θ)值最小?学过微积分的同学应该很容易想到答案—对θi(i=0,1,2,...,n)分别取偏导,并令偏导数为0,得到一个含n+1个方程的n+1元一次方程组,求解便可得到θi(i=0,1,2,...,n)的值,如下:

首先把损失函数J(θ)代数式化简J(θ)=12mj=1m(h(x)(j)y(j))2=12mj=1m(i=0nθixi(j)y(j))2    2-3

θi求导,并令导数为0,可得1mj=1m(i=0nθixi(j)y(j))xi(j)=0    2-4

矩阵法求解

目前,机器学习中用到最小二乘法时,绝大多数都是利用矩阵进行求解。下面讲解比较简洁的矩阵法来求解最小二乘法,如下:

首先把损失函数J(θ)化简 J(θ)=12m(XθY)T(XθY)

                                            =12m((Xθ)TYT)(XθY)

                                            =12m((Xθ)TXθ(Xθ)TYYT(Xθ)+YTY)

                                            =12m(θTXTXθ2(Xθ)TY+YTY)

θ求导: J(θ)θ=1m(XTXθXTY)     公式2-5

XTX为满秩矩阵时,令公式2-5等于0可得θ=(XTX)1XTY

涉及到的矩阵运算公式

(A±B)T=AT±BT

(AB)T=BTAT

对于任意两个列向量ABATB=BTA

若矩阵A可逆,A1A=IAA1=I,其中I为单位矩阵

最小二乘法的应用条件和局限性

  • XTX必须可逆。对于特征数目n+1大于样本数m的情况,会导致X的列数多于行数,XTX不是满秩,故不能用最小二乘法。
  • 建议样本特征<10000时,使用最小二乘法。因为当特征n非常大时,计算XTX的逆矩阵比较耗时。
  • 拟合函数必须是线性的。

2.梯度下降法

注:由于线性回归的损失函数是凸函数,梯度下降得到的解一定是全局最优解。

θi=θiαJ(θ)θi=θiα1mj=1m(i=0nθixi(j)y(j))xi(j)    代数迭代公式2-6

θ=θαJ(θ)θ=θα1mXT(XθY)    矩阵迭代公式2-7,

涉及到的矩阵运算公式

(XTX)X=2X

(ATX)X=(XTA)X=A,其中A为常数矩阵

正则化

为了防止模型过拟合,通常需要引入正则项,实现方式是原损失函数J(θ)+正则项生成一个正则化后的损失函数J(θ)L

常见的正则化方式有两种:L1和L2。其中L1正则项是指参数向量中每个参数的绝对值之和,L2为参数向量中每个参数的平方和。L1正则化可以使得参数稀疏化,即得到一个稀疏矩阵(很多参数压缩为0),也可以用于特征选择。L2正则化只会让参数尽量小,不会取到0。在线性回归模型中,L1正则化叫做Lasso回归,L2正则化的叫做Ridge回归(岭回归)。

J(θ)L1=J(θ)+C||θ||1        L1正则化3-1     其中C为常数系数,||θ||1为L1范式

J(θ)L2=J(θ)+C||θ||22        L2正则化3-2     其中C为常数系数,||θ||22为L2范式

 

参考资料

1.周志华《机器学习》

posted @   yayagogogo  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示