线性回归与投影的关系

什么是投影?

向量上的投影

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

如果我们想将向量x投影到向量v上,那么这个投影x‾\displaystyle \overline{x}x应该还是在v这个方向上,但只是相差了一个常数倍:
x‾=c∗v \overline{x} =c^{*} v x=cv
而投影点的一个性质就是这个点是在v的方向上,是到x最短的距离:
∥x‾−x∥⩽∥cv−x∥⟹∥c∗v−x∥⩽∥cv−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−xi)2)=arg⁡min⁡c(∑i(x‾i−xi)2)=arg⁡min⁡c(∑i(cvi−xi)2) this is quadratic in c, so minimum lies when ddc∑i(cvi−xi)2=0ddc∑i(cvi−xi)2=∑i2vi(cvi−xi)=2(∑icvi2−∑ivixi)=2(cvTv−vTx) at minimum, ddc∑i=2(cvTv−vTx)=0⇒vTc∗v−vTx=0c∗vTv=vTxc∗=(vTv)−1vTxx‾=vc∗=v(vTv)−1vTx=Px where P=v(vTv)−1vT \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)=argcmini(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 PP得到的:
x‾=vc∗=v(vTv)−1vTx=Px where P=v(vTv)−1vT \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作变换从而找到对应的投影向量。

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

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

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

子空间上的投影

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

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

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

Column space上的投影

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

投影性质

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

线性回归与投影的联系

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值