从投影、正交补角度证明(推导)最小二乘法公式
学习线性回归的时候,会教我们Xθ=y可以直接用最小二乘法直接把θ求出来:
θ=(XTX)−1XTy
并且还在这篇文章 矩阵最小二乘法求解仿射变换矩阵 里直接应用了一番(那是根据公式来应用,即如何构建正确的A和y,从而应用公式直接求解θ),里面还引了一篇详实的证明文章。
首先,在吴恩达的教材里,这个并不叫最小二乘(least suqare),而是叫Normal Equation method,这个不重要,毕竟在可汗学院的教材里,又叫最小二乘了^^。今天补充的内容,就是在回顾之前的笔记的时候,发现了大量的证明和应用这个公式的地方,而且全是在引入了投影(Projection)概念之后。因为那个时候并没有接触机器学习,看了也就看了,现在看到了应用场景,那就闭环了,回顾一下:
首先,预备知识
子空间

笔记很清楚了,对于一个矩阵
A=[−24−12−36] 它的列空间是自然是C(A),行空间自然是A的转置的后的列空间,然后各自拥有一个对应的零空间(即求解Ax=0,ATx=0)
上图用红框框出来的部分即是具体这个矩阵A的四个子空间。同时,拥有如下性质:
- C(A)与N(AT)正交(
orthogonal),即列空间与左零空间正交
- C(AT)与N(A)正交,即行空间与零空间正交
正交补
V⊥={x∈Rn∣x⋅v=0forevery v∈V} 即V的正交补为垂直于V内任意一个向量的所有向量。
那么:
- C(A)=(N(AT))⊥
- C(AT)=(N(A))⊥
投影是一个线性变换
这里已经看到我们熟悉的(ATA)−1ATx了,我们来看一下推导过程:
- x在V∈Rn上的投影ProjVx=v必然能表示成该空间的
basis{b1,b2,b3,…}的线性变换:v∈V=y1b1+y2b2+⋯+ykbk=Ay
- 求出y则求出了这个投影在哪里
- x能向V投影,自然也能向V⊥投影(w)
- 这里是故意这么说的,强调都是投影,其实在向V投影时,在V⊥的投影(w)就是那条垂线
- V⇒C(A),V⊥⇒N(AT),v∈V,w∈V⊥
- 左零空间只不过是转置的零空间,那么零空间的特性是什么呢?即Ax=0的空间,那么w在左零空间里,意味着: ATw=0
- w=x−v=x−Ay⇒AT(x−Ay)=0⇒ATx=ATAy
- 只要ATA可逆的话: ⇒y=(ATA)−1ATx
- ∴ProjVx=Ay=A(ATA)−1ATx
- 得证x在V上的投影就是一个线性变换
- y即是机器学习中我们需要学习到的系数 = (ATA)−1AT
最小二乘逼近
由此到了下一课,the lease squares approximation,讲的就是Ax=b无解时,意思就是在b不存在A的张成子空间中,所以无论进行怎样的线性变换,都是不可能得到b的,则取x在C(A)中的投影作为近似的解(证明就不再展开了)
仍然用的是同一个思路,即"垂线在左零空间中",来构造AT⋅w=0
应用最小二乘拟合一条回归线
这里终于讲到了与机器学习最接近的内容:regression
可以看到,毫无业务思维的花花肠子,很多机器学习课程里会花大量工夫从感性到理性上给你讲这些内容,因为它的期望从0跟你讲清楚,而在循序渐进的数学理论体系里,这些根本就不需要关联感性认识的,什么每年的房价啊,数学关注的只是建模。
这个回归实例里,因为需要拟合的是一条直线:y=b+ax,那么既有的数据就成了机器学习里的“样本”,但我们这里不需要这么理解,而是直接理解为矩阵,得到
方程组:
⎩⎨⎧b+a=1b+2a=2b+3a=2
提取矩阵:
A=⎣⎡111123⎦⎤,b=⎣⎡122⎦⎤⇒Ax=b
好了,在上面提到的矩阵最小二乘法求解仿射变换矩阵里,我们不明就里地直接用了公式,已知A和b求变换矩阵M(即这里的x),还当成是机器学习的内容,而现在我们已经知道自己是在做什么,就是找b在A的张成子空间里的投影,就能得到最近似的解
x≈(ATA)−1ATb