中科院算法研究员带你学算法(2)——线性回归(2)

本文深入探讨线性回归的最小二乘法优化基础,从正态分布的中心极限定理出发,阐述误差的正态分布假设,然后通过极大似然估计解释最小二乘法的合理性。同时,文章介绍了用于评估模型效果的R2指标,并对比了频率学派和贝叶斯学派在统计学上的观点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  在上一篇文章中,我们通过最小二乘法得到了线性回归问题中,最优参数的闭式解:
β l s = ( X T X ) − 1 X T Y (1) \beta^{ls} = (X^TX)^{-1}X^TY \tag{1} βls=(XTX)1XTY(1)
但是为什么在优化时使用最小二乘法呢?

从正态分布到最小二乘法

  在这一小节,我们重点阐述所有推导的依据,首先要给出一个关键的定理,中心极限定理,作为后续的基础。

中心极限定理

  中心极限定理说明大量的独立同分布变量共同作用的结果,会逐渐趋近一个正态分布,我们可以认为,也是假设预测值和真实值之间的误差 ϵ \epsilon ϵ,来源于大量的独立同分布(iid, independently identically distribution)效果的叠加,这里的独立来源于不同干扰项之间相互不影响,但是同分布的要求较为牵强,可认为是由于产生的环境都较为类似故近似认为是同分布,但是正态分布的常见性使得这个假设的适用范围很广,一般会有较好的效果。

可记

ϵ i = y − x i T β (2) \epsilon_i=y-x_i^T\beta \tag{2} ϵi=yxiTβ(2)
满足 ϵ i ∼ N   ( μ , σ 2 ) \epsilon_i \sim \bold{N} ~(\mu, \sigma^2) ϵiN (μ,σ2),其中 β \beta β为真实参数。

  而其中误差的均值可以通过bias调整到零,即将bias项增加 μ \mu μ,则 ϵ i = y − x i T β − μ \epsilon_i = y-x_i^T\beta-\mu ϵi=yxiTβμ,此时其对应的正态分布变为 N ( 0 , σ 2 ) \bold{N}(0, \sigma^2) N(0,σ2),成功将分布中心移到原点处。。
  引入了正态分布之后,可以据此进行下一步的讨论。

极大似然估计

使用乘法原理得到如下的联合分布,以描述当前数据集

P ( ϵ ∣ X , Y ) = ∏ P ( ϵ i ) = ∏ i 1 2 π exp ⁡ ( − ( ϵ i ) 2 2 σ 2 ) = ( 1 2 π ) N ∏ i exp ⁡ ( − ( ϵ i ) 2 2 σ 2 ) (3) \begin{aligned} \bold{P}(\epsilon|X, Y)&=\prod \bold{P}(\epsilon_i)\\ &=\prod_i \frac{1}{\sqrt{2 \pi}}\exp\bigg(-\frac{(\epsilon_i )^2}{2\sigma ^2}\bigg)\\ &=\bigg(\frac{1}{\sqrt{2 \pi}}\bigg)^N\prod_i \exp\bigg(-\frac{(\epsilon_i )^2}{2\sigma ^2}\bigg) \end{aligned} \tag{3} P(ϵX,Y)=P(ϵi)=i2π 1exp(2σ2(ϵi)2)=(2π 1)Niexp(2σ2(ϵi)2)(3)

  可认为在类似环境下产生的数据方差一样,即认为 ϵ i \epsilon_i ϵi独立同分布。这个iid的底气就比上面那个假设要强。

  则上式取对数之后有
log ⁡ ( P ( ϵ ∣ X , Y ) ) = log ⁡ [ ( 1 2 π ) N ∏ i exp ⁡ ( − ( ϵ i ) 2 2 σ 2 ) ] = ∑ i log ⁡ ( 1 2 π exp ⁡ ( − ( ϵ i ) 2 2 σ 2 ) ) = N log ⁡ ( 1 2 π ) + ∑ i − ( ϵ i ) 2 2 σ 2 = C − 1 2 σ 2 ∑ i ϵ i 2 (4) \begin{aligned} \log\big(\bold{P}(\epsilon|X, Y)\big)&=\log\bigg[\bigg(\frac{1}{\sqrt{2 \pi}}\bigg)^N\prod_i \exp\bigg(-\frac{(\epsilon_i )^2}{2\sigma ^2}\bigg)\bigg]\\ &=\sum_i \log\bigg(\frac{1}{\sqrt{2 \pi}}\exp\bigg(-\frac{(\epsilon_i )^2}{2\sigma ^2}\bigg)\bigg)\\ &=N\log\bigg(\frac{1}{\sqrt{2 \pi}}\bigg)+\sum_i -\frac{(\epsilon_i )^2}{2\sigma ^2}\\ &=C-\frac{1}{2\sigma ^2}\sum_i \epsilon_i ^2 \tag{4} \end{aligned} log(P(ϵX,Y))=log[(2π 1)Niexp(2σ2(ϵi)2)]=ilog(2π 1exp(2σ2(ϵi)2))=Nlog(2π 1)+i2σ2(ϵi)2=C2σ21iϵi2(4)

  所以最大化上述概率值,等价于最小化 ∑ ϵ i 2 \sum \epsilon_i^2 ϵi2,即等价于使用最小二乘法进行优化。

  至此,我们证明了最小二乘法和正态分布之间的关系,实际上,所有使用mse作为优化指标的任务都默认一个正态分布的先验假设

  显然, ϵ \epsilon ϵ和真实值之间的关系可如下表示

Y i = ∑ j β j ^ x i j + ϵ i (5) Y_i = \sum_j \hat{\beta_j} x_{ij} + \epsilon_i \tag{5} Yi=jβj^xij+ϵi(5)

  即在统计的视角下,给定 X X X之后, Y Y Y是一个在预测值附近波动的量,反过来说,给定了数据集即输入输出之后,预测值的出现对应一个概率值,上述的工作就是在最大化这个概率。

  这也意味着,在所有的样本中,一个 X X X可能对应不同的 Y Y Y

ϵ i \epsilon_i ϵi同分布,故其方差为
∀ i , v a r ( Y i ) = σ 2 (6) \forall i,var(Y_i) = \sigma^2 \tag{6} i,var(Yi)=σ2(6)

Y i Y_i Yi之间没有相关性,则
v a r ( Y ) = σ 2 I ∈ R N ∗ N (7) var(Y) = \sigma^2I \in \bold{R}^{N*N} \tag{7} var(Y)=σ2IRNN(7)
又由
β l s ^ = ( X T X ) − 1 X T Y (8) \hat{\beta^{ls}} = (X^TX)^{-1}X^TY \tag{8} βls^=(XTX)1XTY(8)

ϵ i = 0 \epsilon_i = 0 ϵi=0时,意味着输入输出的关系一一对应,否则单一预测值无法同时满足多个不同的输出,此时 β l s ^ = β \hat{\beta^{ls}} = \beta βls^=β,是一定值,所以 β ^ \hat{\beta} β^ 的扰动来源于 X X X确定之后 Y Y Y的不确定性,有

  • E ( ϵ ) = 0 E(\epsilon) = 0 E(ϵ)=0
  • v a r ( x ) = σ 2 I , v a r ( A x ) = A σ 2 I A T var(x)=\sigma^2I, var(Ax) = A\sigma^2IA^T var(x)=σ2I,var(Ax)=Aσ2IAT
  • ( X T X ) − 1 X T σ 2 I X ( X T X ) − 1 T = σ 2 ( X T X ) − 1 X T X ( X T X ) − 1 T = ( X T X ) − 1 σ 2 (X^TX)^{-1}X^T\sigma^2IX(X^TX)^{-1^T}=\sigma^2(X^TX)^{-1}X^TX(X^TX)^{-1^T}=(X^TX)^{-1}\sigma^2 (XTX)1XTσ2IX(XTX)1T=σ2(XTX)1XTX(XTX)1T=(XTX)1σ2

综上有

β l s ^ ∼ N ( β , ( X T X ) − 1 σ 2 ) (9) \hat{\beta^{ls}}\sim \bold{N}(\beta, (X^TX)^{-1}\sigma^2) \tag{9} βls^N(β,(XTX)1σ2)(9)

从均方误差到平均值

当我们需要用常数去minimize一个mse时,哪一个会是最合适的数值。
简单的求导看一下。

o b j = 1 N ∑ i ( y i − c ) 2 (10) obj = \frac{1}{N}\sum_i (y_i - c)^2 \tag{10} obj=N1i(yic)2(10)

∂ o b j ∂ c = 2 N ∑ i ( y i − c ) (11) \frac{\partial obj}{\partial c} = \frac{2}{N}\sum_i(y_i - c) \tag{11} cobj=N2i(yic)(11)
这是一个凸函数,故令上式为0,则有
∑ i ( y i − c ) = 0 (12) \sum_i (y_i - c) = 0 \tag{12} i(yic)=0(12)


c = 1 N y i (13) c = \frac{1}{N} y_i \tag{13} c=N1yi(13)
所以此时使用均值可以得到最小的均方误差。

  进一步的,如果使用的绝对值误差,此时的常数对应数据集的中位数,这个结论可以依靠去除绝对值符号时,正号和负号数目相等得到。若存在偶数个,记为 2 K 2K 2K个样本,则顺序排列后,第 K K K和第 K + 1 K+1 K+1个样本之间的任意值都可作为最优解。

  进一步结合上述两个小结的内容,其实可以发现,所谓的mse、正态分布和取均值作为最优解,实际上是等价的,这一点在后文说到K-Means时会再次提到。

统计所有出现过的不同输入值 X X X,记为 X u n i q u e = s e t ( X ) X_{unique}=set(X) Xunique=set(X)

遍历集合中的所有元素,则此时,前文所述MSE可改写为

∑ x ϵ X u n i q u e ∑ i I ( x i = x ) ( x i β − y i ) 2 (14) \sum_{x \epsilon X_{unique}} \sum_i I(x_i = x)(x_i\beta - y_i)^2 \tag{14} xϵXuniqueiI(xi=x)(xiβyi)2(14)

  即所有的输入样本,按照取值的不同,可以分为不同的子集,若一共有 N = ∣ X u n i q u e ∣ N = |X_{unique}| N=Xunique种不同取值,则一共会划分为 N N N个子集。

  对应的最优解是在每个子集中,将对应的均值作为预测值。对 ∀ X j ∈ X u n i q u e \forall X_j \in X_{unique} XjXunique

f ^ ( X j ) = ∑ i ( I ( X i = X j ) ∗ Y i ) / ∑ i I ( X i = X j ) (15) \hat{f}(X_j) = \sum_{i}\big(I(X_i = X_j)*Y_i\big)/\sum_i I(X_i = X_j) \tag{15} f^(Xj)=i(I(Xi=Xj)Yi)/iI(Xi=Xj)(15)

  对应上文最小二乘法的思路,此时的概率值也最大。但需要说明的是,由于最小化的是整体的损失,这种pointwise的最优解不一定能拟合得到,由模型和数据的特点决定。

  这种pointwise的求均值方式不由得使人想起K近邻算法。
  以针对回归问题的K近邻模型为例,记距离输入样本 X X X最近的K个样本组成集合 n e i g h b o u r neighbour neighbour,则
f ^ ( X ) = ∑ ( X i , Y i ) ∈ n e i g h b o u r Y i / K (16) \hat{f}(X) = \sum_{(X_i, Y_i) \in neighbour} Y_i/K \tag{16} f^(X)=(Xi,Yi)neighbourYi/K(16)
  和上式相比,唯一的区别在于进行求均值的样本范围不同,线性回归使用和输入取值相同的样本,而K近邻使用输入的一个邻域范围内的样本。

  则,当样本密度足够大时,即当每一个样本的位置都落入K个样本时,此时利用最小二乘法求解的线性回归和K近邻等价,最近的K个样本都落在输入样本的位置上,求均值的范围从一个邻域缩小为一个点,也即pointwise

最大似然估计和不同的统计学派

首先,给定一个表达式

P ( X ∣ β ) (17) \bold{P}(X | \beta) \tag{17} P(Xβ)(17)

表示在 β \beta β所描述的模型中,事件 X X X的概率。

  当 X X X是变量时,此表达式为条件概率,而 β \beta β变化时,此表达式称为似然函数,给定一组观测,其概率值随着参数的变化而变化,似然函数就是参数 β \beta β的函数。

  上文中,给定了 X X X,选择最佳的参数值,恰恰与此契合。

  以上操作记为极大似然估计(maximum likelihood estimation(MLE)),给出由参数决定的概率值,通过调整参数取值使得当前事件的发生获得最大的概率值,即
max ⁡ β ∏ i P ( μ i ∣ β ) (18) \max_{\beta} \prod_i \bold{P}(\mu_i | \beta) \tag{18} βmaxiP(μiβ)(18)

当前一共有两种较大的统计学派,频率学派贝叶斯学派

  • 频率学派

    认为未知参数是一个固定的数值,可以进行大量重复实验进行逼近得到。但是这存在一定的局限性,这要求事件可以进行重复实验,一来可能没有重复的条件,二来若观测是对于未来进行预测,则实验也无法进行。

    和极大似然估计结合时,由于我们认为参数值固定,需要选择一个确定的值来使得观测到的事件发生的概率最大,这个使得似然函数值最大的参数最有可能是真实的参数值。即

    β ^ = arg max ⁡ β P ( X ∣ β ) (19) \hat{\beta} = \argmax_{\beta} \bold{P}(X | \beta) \tag{19} β^=βargmaxP(Xβ)(19)

  • 贝叶斯学派

    贝叶斯学派则认为未知变量是一个满足某种先验分布的随机变量。

综上可知,极大似然估计是一种频率学派的算法,贝叶斯学派有其自身的贝叶斯推断

用于解释模型的效果指标— R 2 R^2 R2

  经过上述的论证,在给定了一个列满秩的 X X X和对应的 Y Y Y之后,可以利用他们求得当前使得MSE最小的参数 β ^ l s \hat{\beta}^{ls} β^ls

引入一个新的指标 R 2 R^2 R2
R 2 = 1 − S S E / S S T (20) R^2 = 1- SSE/SST \tag{20} R2=1SSE/SST(20)
其中
S S E = ∑ i ( y i − y i ^ ) 2 (21) SSE = \sum_i (y_i - \hat{y_i})^2 \tag{21} SSE=i(yiyi^)2(21)
S S T = ∑ i ( y i − y ˉ ) 2 (22) SST = \sum_i (y_i - \bar{y})^2 \tag{22} SST=i(yiyˉ)2(22)

接下来对 R 2 R^2 R2尝试进行理解

  先来看 S S T SST SST,它描述的是所有的输出值之间的方差,即数据的散布情况。

  再来看 S S E SSE SSE,它描述的是预测值和真实值之间的差异,模型训练完毕之后,预测值 y ^ \hat{y} y^在真实值 y y y的附近发生不可控的震荡,此时 S S E SSE SSE描述了在固定了模型中所有参数的取值之后,剩下的那部分不受控的变化。

  减少的量,可理解为输出值减少了多少随机性,在多大的程度上被此时的模型解释。

  故, S S T SST SST描述了数据中输出的方差大小,而 S S E SSE SSE描述了模型训练完毕之后,有多少方差被保留,相应的 R 2 R^2 R2实际描述了此模型可以消除,即可以解释多少方差,显然,这个指标越大越好

还有另一个思路:

  当只得到了数据集而未训练得到模型时,若采用mse指标,可使用数据集的均值作为每一个样本的预测值故此时的方差实际也是对此时预测误差大小的描述

  对应的,式21中的SSE即为模型对每一个样本进行预测所产生的误差之和。

  那么 R 2 R^2 R2实际也描述了当前模型可以减少多少预测误差,体现了模型的预测能力。

再给出一个在计量统计中常见的统计量
S S R = ∑ i ( y i ^ − y ˉ ) 2 (23) SSR = \sum_i (\hat{y_i} - \bar{y})^2 \tag{23} SSR=i(yi^yˉ)2(23)

β ^ l s \hat{\beta}^{ls} β^ls使得凸函数SSE最小,即一阶导数为0,则若记
y i ^ = β 0 + β T x i (24) \hat{y_i} = \beta_0 + \beta^Tx_i \tag{24} yi^=β0+βTxi(24)
则有
∂ S S E ∂ β 0 = 2 ∑ i y i − y i ^ = 0 (25) \frac{\partial{SSE}}{\partial\beta_0}=2\sum_i y_i - \hat{y_i}=0 \tag{25} β0SSE=2iyiyi^=0(25)

∂ S S E ∂ β = 2 ∑ i x i ( y i − y i ^ ) = 0 (26) \frac{\partial{SSE}}{\partial\beta}=2\sum_ix_i(y_i - \hat{y_i})=0 \tag{26} βSSE=2ixi(yiyi^)=0(26)

进一步有
S S T = ∑ i ( y i − y ˉ ) 2 = ∑ i ( y i − y i ^ + y i ^ − y ˉ ) 2 = ∑ i ( y i − y i ^ ) 2 + ∑ i ( y i ^ − y ˉ ) 2 + 2 ∑ i ( y i − y i ^ ) ( y i ^ − y ˉ ) = S S E + S S R + 2 i n t e r s e c t i o n (27) \begin{aligned} SST &= \sum_i (y_i - \bar{y})^2 \\ &=\sum_i (y_i - \hat{y_i} + \hat{y_i} - \bar{y})^2 \\ &=\sum_i (y_i -\hat{y_i})^2 +\sum_i (\hat{y_i} - \bar{y})^2 + 2\sum_i (y_i - \hat{y_i} )(\hat{y_i} - \bar{y}) \\ &= SSE + SSR + 2intersection \tag{27} \end{aligned} SST=i(yiyˉ)2=i(yiyi^+yi^yˉ)2=i(yiyi^)2+i(yi^yˉ)2+2i(yiyi^)(yi^yˉ)=SSE+SSR+2intersection(27)

其中intersection
∑ i ( y i − y i ^ ) ( y i ^ − y ˉ ) = ∑ i − ( y i − y i ^ ) y ˉ + ( y i − y i ^ ) y i ^ (28) \sum_i (y_i - \hat{y_i} )(\hat{y_i} - \bar{y})=\sum_i-(y_i - \hat{y_i})\bar{y} + (y_i -\hat{y_i})\hat{y_i} \tag{28} i(yiyi^)(yi^yˉ)=i(yiyi^)yˉ+(yiyi^)yi^(28)

由式25、26,有
∑ i ( y i − y i ^ ) y i ^ = ∑ i ( y i − y i ^ ) ( β x i + β 0 ) = β 0 ∑ i ( y i − y i ^ ) + β ∑ i x i ( y i − y i ^ ) = 0 (29) \begin{aligned} \sum_i (y_i -\hat{y_i})\hat{y_i}&=\sum_i(y_i - \hat{y_i})(\beta x_i + \beta_0) \\ &=\beta_0\sum_i(y_i - \hat{y_i})+\beta \sum_ix_i(y_i - \hat{y_i})\\ &= 0 \tag{29} \end{aligned} i(yiyi^)yi^=i(yiyi^)(βxi+β0)=β0i(yiyi^)+βixi(yiyi^)=0(29)

y ˉ \bar{y} yˉ为常数,故
∑ i ( y i − y i ^ ) y ˉ = y ˉ ( ∑ i ( y i − y i ^ ) ) = 0 (30) \begin{aligned} \sum_i (y_i - \hat{y_i})\bar{y} &= \bar{y} \bigg(\sum_i(y_i - \hat{y_i} ) \bigg)\\ &= 0 \tag{30} \end{aligned} i(yiyi^)yˉ=yˉ(i(yiyi^))=0(30)

故式27有
∑ i ( y i − y i ^ ) ( y i ^ − y ˉ ) = − ∑ i ( y i − y i ^ ) y ˉ + ( y i − y i ^ ) y i ^ = 0 (31) \begin{aligned} \sum_i (y_i - \hat{y_i} )(\hat{y_i} - \bar{y}) &=-\sum_i(y_i - \hat{y_i})\bar{y} + (y_i -\hat{y_i})\hat{y_i} \\ & =0 \tag{31} \end{aligned} i(yiyi^)(yi^yˉ)=i(yiyi^)yˉ+(yiyi^)yi^=0(31)

因此有
S S T = S S E + S S R (32) SST = SSE + SSR \tag{32} SST=SSE+SSR(32)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值