课程简介
18.06是Gilbert Strang教授在MIT开的线性代数公开课,课程视频以及相关资料请见https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/index.htm。
自己思考的部分使用斜体表示。
课程笔记
关于投射矩阵的内容请参考MIT18.06课程笔记15:Projection Matrix投射矩阵。此部分是投射矩阵的具体应用。
1. 线性回归问题简介
简单叙述:给定一系列的数据点(例如{
(x1,y1),(x2,y2)...
},其中x表示特征向量,y表示目标值),求取一个线性函数(例如一维直线就是
y=cx+d
)拟合数据点,即使得函数值的误差的平方和最小。
具体到一维情况就是最小二乘法:
数据集是{
(x1,y1),(x2,y2)...(xm,ym)
}。
线性函数为
y=cx+d
。
求
argminc,d((cx1+d−y1)2+(cx2+d−y2)2+...+(cxm+d−ym)2)
。
2. 换个角度看问题
最后需要最小化的目标函数其实是误差的平方和,此目标等效于最小化误差的距离(平方和开方)。
具体地设
则目标函数为 argminc,d(eTe) ,等价于 argminc,d||e|| 。
进一步,如果设
则有
目标则为
上诉公式都是非常直观的,就不多做介绍。
经过上诉转换之后,就可以把投射矩阵应用进来了。具体的,最小化 ||e|| ,其实就是要找到 b̂ ∈C(A) ,使得 ||b̂ −b|| 最小。(C(A)是A的column space,具体定义请见 MIT18.06课程笔记15:Projection Matrix投射矩阵)。而且这里的问题更简单,就只需要求 x=[c,d]T 即可(不需要求取投射后的向量 b̂ 了)。
使用投射矩阵中的公式
3. ATA 的可逆性
我自己的思考:
1. 对于任意矩阵
A,B
,有
range(A∗B)≤range(A)
,
range(A∗B)≤range(B)
。因为新生成的矩阵的每一列都在A的column space里面(例如
A∗B
的第一列就是A与B的第一列相乘的结果。同样因为
(A∗B)T=BT∗AT
,所以新生成矩阵的每一行都在
BT
的column space里面。
2.
range(A∗B)
可以小于
min{range(A),range(B)}
。例如A的column不是线性无关的,那么可以通过两种不同的方式生成同一个向量。那么有
range(B)=2
,
range(A)>2
, 而
range(A∗B)=1
。
3.1. 命题
A
是column independent的 ⇒
3.2. 反证法
ATA
是不可逆的 <=>
∃x≠0,ATAx=0
,
两边同时乘以
xT
,则有
∃x≠0,xTATAx=(Ax)T(Ax)=0
,
进而
∃x≠0,Ax=0
。而已知A是column independent的,所以不存在x使得
Ax=0
。从而假设不成立。
从几何的角度也知假设不成立,
Ax
位于A的column space内,而
ATAx=0
则是再说
Ax
在
AT
的null space里面。具体地,就是说几个线性无关基向量的线性组合要和每个基向量都垂直。而满足这种情况的只有
Ax=0
。
4. 线性代数求导的角度
对于2中转换为矩阵相乘的问题表述形式,可以通过对其求导求解。两个方法角度不同,结果相同。
具体地,目标是
error 对 x 求导,可得