当前位置: 首页 > news >正文

线性回归与投影的关系

什么是投影?

向量上的投影

首先什么是投影,如下图
在这里插入图片描述

如果我们想将向量x投影到向量v上,那么这个投影 x ‾ \displaystyle \overline{x} x应该还是在v这个方向上,但只是相差了一个常数倍:
x ‾ = c ∗ v \overline{x} =c^{*} v x=cv
而投影点的一个性质就是这个点是在v的方向上,是到x最短的距离:
∥ x ‾ − x ∥ ⩽ ∥ c v − x ∥ ⟹ ∥ c ∗ v − x ∥ ⩽ ∥ c v − x ∥ \| \overline{x} -x\| \leqslant \| cv-x\| \\ \Longrightarrow \| c^{*} v-x\| \leqslant \| cv-x\| xxcvxcvxcvx
因此,我们可以通过最优化这个c,来找到这个投影点:
arg ⁡ min ⁡ c ( ∥ x ‾ − x ∥ ) = arg ⁡ min ⁡ c ( ∑ i ( x ‾ i − x i ) 2 ) = arg ⁡ min ⁡ c ( ∑ i ( x ‾ i − x i ) 2 ) = arg ⁡ min ⁡ c ( ∑ i ( c v i − x i ) 2 )  this is quadratic in  c ,  so minimum lies when  d d c ∑ i ( c v i − x i ) 2 = 0 d d c ∑ i ( c v i − x i ) 2 = ∑ i 2 v i ( c v i − x i ) = 2 ( ∑ i c v i 2 − ∑ i v i x i ) = 2 ( c v T v − v T x )  at minimum,  d d c ∑ i = 2 ( c v T v − v T x ) = 0 ⇒ v T c ∗ v − v T x = 0 c ∗ v T v = v T x c ∗ = ( v T v ) − 1 v T x x ‾ = v c ∗ = v ( v T v ) − 1 v T x = P x   w h e r e   P = v ( v T v ) − 1 v T \begin{aligned} & \arg\min_{c}( \| \overline{x} -x\| )\\ & =\arg\min_{c}\left(\sqrt{\sum _{i}(\overline{x}_{i} -x_{i})^{2}}\right)\\ & =\arg\min_{c}\left(\sum _{i}(\overline{x}_{i} -x_{i})^{2}\right)\\ & =\arg\min_{c}\left(\sum _{i}( cv_{i} -x_{i})^{2}\right)\\ & \text{ this is quadratic in } c,\text{ so minimum lies when }\frac{d}{dc}\sum _{i}( cv_{i} -x_{i})^{2} =0\\ & \frac{d}{dc}\sum _{i}( cv_{i} -x_{i})^{2} =\sum _{i} 2v_{i}( cv_{i} -x_{i})\\ & =2\left(\sum _{i} cv_{i}^{2} -\sum _{i} v_{i} x_{i}\right)\\ & =2\left( cv^{T} v-v^{T} x\right)\\ & \text{ at minimum, }\frac{d}{dc}\sum _{i} =2\left( cv^{T} v-v^{T} x\right) =0\Rightarrow v^{T} c^{*} v-v^{T} x=0\\ & c^{*} v^{T} v=v^{T} x\\ & c^{*} =(v^{T} v)^{-1} v^{T} x\\ & \overline{x} =vc^{*} =v(v^{T} v)^{-1} v^{T} x=Px\ \mathrm{where} \ P=v(v^{T} v)^{-1} v^{T} \end{aligned} argcmin(xx)=argcmin i(xixi)2 =argcmin(i(xixi)2)=argcmin(i(cvixi)2) this is quadratic in c, so minimum lies when dcdi(cvixi)2=0dcdi(cvixi)2=i2vi(cvixi)=2(icvi2ivixi)=2(cvTvvTx) at minimum, dcdi=2(cvTvvTx)=0vTcvvTx=0cvTv=vTxc=(vTv)1vTxx=vc=v(vTv)1vTx=Px where P=v(vTv)1vT
从上面的推导我们可以看出, x ‾ \displaystyle \overline{x} x其实是可以通过对x作一个线性变换 P \displaystyle P P得到的:
x ‾ = v c ∗ = v ( v T v ) − 1 v T x = P x   w h e r e   P = v ( v T v ) − 1 v T \overline{x} =vc^{*} =v(v^{T} v)^{-1} v^{T} x=Px\ \mathrm{where} \ P=v(v^{T} v)^{-1} v^{T} x=vc=v(vTv)1vTx=Px where P=v(vTv)1vT
这个P也称为投影矩阵,而且我们发现这个P跟x是无关的,也就是这个P可以对任意的x作变换从而找到对应的投影向量。

同时,这个投影矩阵还具有性质
P P = v ( v T v ) − 1 v T v ( v T v ) − 1 v T = v ( v T v ) − 1 ( v T v ) ( v T v ) − 1 v T = v ( v T v ) − 1 v T = P \begin{aligned} PP & =v(v^{T} v)^{-1} v^{T} v(v^{T} v)^{-1} v^{T}\\ & =v(v^{T} v)^{-1}\left( v^{T} v\right) (v^{T} v)^{-1} v^{T}\\ & =v(v^{T} v)^{-1} v^{T} =P \end{aligned} PP=v(vTv)1vTv(vTv)1vT=v(vTv)1(vTv)(vTv)1vT=v(vTv)1vT=P
这意味着这个投影矩阵 P n = P \displaystyle P^{n} =P Pn=P,因此他的特征值必然是1或者0。直觉上,为什么会有这个性质呢?其实很简单,因为P就是将x变成v上的投影,那经过一次变换后的向量就已经在v上了,再投影一次其实还是在原地,所以他必然满足 P 2 = P \displaystyle P^{2} =P P2=P

而且图1所示,向量 x ‾ − x \displaystyle \overline{x} -x xx v \displaystyle v v是成一个垂直关系的,因此
P x − x ⊥ v Px-x\bot v Pxxv
我们一般称 x − P x = ( I − P ) x = r \displaystyle \mathbf{x} -P\mathbf{x} =( I-P)\mathbf{x} =r xPx=(IP)x=r为残差,因此, I − P \displaystyle I-P IP也被称为residual maker matrix。

从垂直这个性质,我们可以用几何的方法来推出同样的P矩阵,首先因为他们垂直,我们有
v T ( P x − x ) = 0 v^{T} (Px-x)=0 vT(Pxx)=0
又因为, P x = c v \displaystyle Px=cv Px=cv,所以
v T ( c v − x ) = 0 v^{T} (cv-x)=0 vT(cvx)=0
于是
c = ( v T v ) − 1 v T x c=\left( v^{T} v\right)^{-1} v^{T} x c=(vTv)1vTx
因此,
P x = v ( v T v ) − 1 v T x Px=v\left( v^{T} v\right)^{-1} v^{T} x Px=v(vTv)1vTx
我们同样推出了P的形式。

子空间上的投影

更一般的,如果 v \displaystyle v v是一个子空间(或者平面),我们可以将问题推广到将向量 x x x 投影到子空间 V V V 上。设 V V V 是一个子空间,其基向量为 { v 1 , v 2 , … , v k } \{v_{1} ,v_{2} ,\dotsc ,v_{k} \} {v1,v2,,vk},我们需要找到投影矩阵 P P P,使得 P x Px Px x x x V V V 上的投影,且 P x − x Px-x Pxx V V V 中的任意向量垂直。

投影 P x Px Px 应满足:
P x ∈ V Px\in V PxV
P x Px Px 可以表示为基向量的线性组合:
P x = ∑ i = 1 k c i v i Px=\sum _{i=1}^{k} c_{i} v_{i} Px=i=1kcivi
根据垂直条件, P x − x Px-x Pxx 应与 V V V 中的任意向量垂直,即:
v j T ( P x − x ) = 0    ∀ j = 1 , 2 , … , k v_{j}^{T} (Px-x)=0\ \ \forall j=1,2,\dotsc ,k vjT(Pxx)=0  j=1,2,,k
P x = ∑ i = 1 k c i v i Px=\sum _{i=1}^{k} c_{i} v_{i} Px=i=1kcivi 代入:
v j T ( ∑ i = 1 k c i v i − x ) = 0 v_{j}^{T}\left(\sum _{i=1}^{k} c_{i} v_{i} -x\right) =0 vjT(i=1kcivix)=0
展开后得到:
∑ i = 1 k c i ( v j T v i ) − v j T x = 0 \sum _{i=1}^{k} c_{i} (v_{j}^{T} v_{i} )-v_{j}^{T} x=0 i=1kci(vjTvi)vjTx=0
列出所有的j,这可以写成矩阵形式:
A T A c = A T x A^{T} Ac=A^{T} x ATAc=ATx
其中, A A A 是子空间 V V V 的基向量组成的矩阵, A = [ v 1 , v 2 , … , v k ] A=[v_{1} ,v_{2} ,\dotsc ,v_{k} ] A=[v1,v2,,vk] c c c 是系数向量, c = [ c 1 , c 2 , … , c k ] T c=[c_{1} ,c_{2} ,\dotsc ,c_{k} ]^{T} c=[c1,c2,,ck]T

通过解上述方程,可以得到系数向量 c c c
c = ( A T A ) − 1 A T x c=(A^{T} A)^{-1} A^{T} x c=(ATA)1ATx
因此,投影 P x Px Px 为:
P x = A c = A ( A T A ) − 1 A T x Px=Ac=A(A^{T} A)^{-1} A^{T} x Px=Ac=A(ATA)1ATx
于是,投影矩阵 P P P 为:
P = A ( A T A ) − 1 A T P=A(A^{T} A)^{-1} A^{T} P=A(ATA)1AT
显然,如果 V V V 是单个向量 v v v那就会退化为之前的结果, P = v ( v T v ) − 1 v T \displaystyle P=v\left( v^{T} v\right)^{-1} v^{T} P=v(vTv)1vT,而如果 V V V 是正交基组成的子空间,则 A T A = I A^{T} A=I ATA=I,投影矩阵简化为 P = A A T \displaystyle P=AA^{T} P=AAT

Column space上的投影

对于更一般的情况,矩阵 A \displaystyle A A的每一列并不一定是由基向量组成,这时候,矩阵A的每一列会张成一个column space,此时,向量x在这个column space上的投影为:
P x = A c Px=Ac Px=Ac
这里P是投影矩阵, A = [ v 1 , v 2 , … , v k ] \displaystyle A=[v_{1} ,v_{2} ,\dotsc ,v_{k} ] A=[v1,v2,,vk]是任意列组成的矩阵, c = [ c 1 , c 2 , … , c k ] T \displaystyle c=[c_{1} ,c_{2} ,\dotsc ,c_{k} ]^{T} c=[c1,c2,,ck]T是一个向量, A c \displaystyle Ac Ac表示这些列的任意线性组合,因此 A c ∈ Column space ( A ) \displaystyle Ac\in \text{Column space}( A) AcColumn space(A)是列空间上的元素(因为是由列元素线性组合而成),于是,根据正交性质, P x − x \displaystyle Px-x Pxx应当与 A \displaystyle A A的每一列都垂直,因此
A T ( P x − x ) = 0 ⟹ A T ( A c − x ) = 0 ⟹ c = ( A T A ) − 1 A T x \begin{aligned} & A^{T} (Px-x)=0\\ \Longrightarrow & A^{T} (Ac-x)=0\\ \Longrightarrow & c=\left( A^{T} A\right)^{-1} A^{T} x \end{aligned} AT(Pxx)=0AT(Acx)=0c=(ATA)1ATx
于是,我们有
P x = A c = A ( A T A ) − 1 A T x Px=Ac=A\left( A^{T} A\right)^{-1} A^{T} x Px=Ac=A(ATA)1ATx
因此, P = A ( A T A ) − 1 A T \displaystyle P=A\left( A^{T} A\right)^{-1} A^{T} P=A(ATA)1AT,还是同一个东西。

投影性质

根据投影的性质,x在A上的投影到x的距离,一定是A的列空间中所有元素中离x最近的,因此我们有
∥ P x − x ∥ = ∥ A c ∗ − x ∥ ⩽ ∥ A c − x ∥ \| Px-x\| =\| Ac^{*} -x\| \leqslant \| Ac-x\| Pxx=AcxAcx

线性回归与投影的联系

A = [ x 1 , . . . , x k ] ∈ R m × k \mathbf{A} =[ x_{1} ,...,x_{k}] \in \mathbb{R}^{m\times k} A=[x1,...,xk]Rm×k 表示自变量的设计矩阵,包含 m m m 个样本和 k k k 个特征,向量 y ∈ R n \mathbf{y} \in \mathbb{R}^{n} yRn 表示因变量。线性回归的目标是找到系数向量 w ∈ R k \mathbf{w} \in \mathbb{R}^{k} wRk,使得预测值 A w \mathbf{Aw} Aw 尽可能接近真实值 y \mathbf{y} y
min ⁡ w   ∥ y − A w ∥ 2 . \min_{\mathbf{w}} \ \| \mathbf{y} -A\mathbf{w} \| ^{2} . wmin yAw2.
看到这个式子,我们似乎想要找到一个最优的 w ∗ \displaystyle \mathbf{w}^{*} w,使得
  ∥ y − A w ∗ ∥ 2 ⩽   ∥ y − A w ∥ 2 \ \| \mathbf{y} -A\mathbf{w}^{*} \| ^{2} \leqslant \ \| \mathbf{y} -A\mathbf{w} \| ^{2}  yAw2 yAw2
有没有发现很熟悉,从投影的角度,我们其实就是在找 y \displaystyle \mathbf{y} y A \displaystyle A A上的投影,从而
∥ y − P y ∥ 2 = ∥ y − A w ∗ ∥ 2 ⩽ ∥ y − A w ∥ 2 . \| \mathbf{y} -P\mathbf{y} \| ^{2} =\| \mathbf{y} -A\mathbf{w}^{*} \| ^{2} \leqslant \| \mathbf{y} -A\mathbf{w} \| ^{2} . yPy2=yAw2yAw2.
这里 A w \displaystyle A\mathbf{w} Aw就是列空间A上的任意元素(投影必须落在这个空间上),于是,根据我们前面一节的推导,我们有
w ∗ = ( A T A ) − 1 A T y \mathbf{w}^{*} =\left( A^{T} A\right)^{-1} A^{T}\mathbf{y} w=(ATA)1ATy
直觉上,如果A满秩,而且有足够多样本的话,那么A就形成了一个k维列空间,而我们目的就是要找到y在这个k维列空间上的投影,也就是找到这个空间上距离y最近的那个点,本质上就是在搜索最优的k维的w,使得残差最小。

相关文章:

  • SpringBoot + Mybatis Plus 整合 Redis
  • 文本检测-文本内容审核-文本过滤接口如何用PHP调用?
  • 大华HTTP协议在智联视频超融合平台中的接入方法
  • 每日一题---翻转二叉树
  • 软件项目设计思维:从用户痛点到数字世界的优雅解构
  • 黑马商城完成随笔
  • 文心大模型4.5及X1重磅上线,真实测评
  • svg画图
  • MySQL复合查询
  • RocketMQ学习
  • 二次型 → 矩阵的正定性 → 特征值
  • 详解软件设计原则
  • python调用百度人脸识别接口
  • 第十一次CCF-CSP认证(含C++源码)
  • TensorFlow 基本原理与使用场景
  • 【SpringBatch】01简单入门
  • 简要分析NLMSG_DONE参数
  • Ubuntu下升级node.js从12.22到22.14
  • 商业智能BI分析中,汽车4S销售行业的返厂频次有什么分析价值?
  • 查看IP地址/Ping 命令
  • 今天北京白天气温超30℃,晚间为何下冰雹?
  • 中国巴西民间推动建立经第三方验证的“森林友好型”牛肉供应链
  • 第十届影像上海博览会落幕后,留给中国摄影收藏的三个问题
  • 河南信阳拟发文严控预售许可条件:新出让土地开发的商品房一律现房销售
  • “远践”项目启动公益生态圈,上海青少年公益力量蓬勃生长
  • 视频丨美国两名男童持枪与警察对峙,一人还试图扣动扳机