MIT 线性代数(16—18)读书笔记
2017-04-07 16:39
543 查看
第十六讲 投影矩阵(Ax=b)和最小二乘法
上一讲中,我们知道了投影矩阵P=A(ATA)−1AT,Pb将会把向量投影在A的列空间中。即只要知道矩阵A的列空间,就能得到投影矩阵P的导出式。1.投影矩阵(Ax=b无解的情形)
1.1两个极端的例子:
如果b∈C(A),则Pb=b;如果b⊥C(A),则Pb=0。
证明1:Pb=A(ATA)−1ATb=A(ATA)−1ATAx=A((ATA−1)ATA)x=Ax=b
证明2:Pb=A(ATA)−1ATb=A(ATA−1)(ATb)=A((ATA−1)0=0
一般情况下,b将会有一个垂直于A的分量,有一个在A列空间中的分量,投影的作用就是去掉垂直分量而保留列空间中的分量。
1.2一般情形
一般情况下,b将会有一个垂直于A的分量,有一个在A列空间中的分量,投影的作用就是去掉垂直分量而保留列空间中的分量。如图:向量b投影后,有b=e+p,p=Pb,e=(I−P)b,这里的p是b在C(A)中的分量,而e是b在N(AT)中的分量。
可以理解为:向量b的投影在A的column space,error vector的投影在left null space上,我们知道P,可以将b 投影到p,那么一个什么样的投影矩阵把b投影到了e?因为column space与left null space正交补,所以他们共同组成了整个空间,I的column space就是整个空间,I−P就是把b投影到e的矩阵,它和P有意义的性质。
2. 最小二乘法(Ax=b)
回到上一讲最后提到的例题:我们需要找到距离图中三个点 (1,1),(2,2),(3,2) 偏差最小的直线:y=C+Dt。
根据条件可以得到方程组 ⎧⎩⎨C+DC+2DC+3D=1=2=2,写作矩阵形式 ⎡⎣⎢111123⎤⎦⎥[CD]=⎡⎣⎢122⎤⎦⎥,也就是我们的Ax=b,很明显方程组无解。
此时我们要找到最接近的解”最优解”,我们要使得解最优即误差最小,定义误差为Ax−b=e的模长的平方即∥Ax−b∥2=∥e∥2=e21+e22+e23。此处使用平方的原因一是排除开根号带来的非线性运算,一是方便利用偏导数求解最小值。
1.利用偏导求解
这里如果使用偏导数我们也能得到关于最优解的方程,展开结果为:
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪∥e∥2=e21+e22+e22=(C+D−1)2+(C+2D−2)2+(C+3D−2)2=3C2+14D2+9−10C−22D+12CD
然后对C求偏导为6C−10+12D=0;对D求偏导为28D−22+12C=0。
解方程得C^=23,D^=12,则“最佳直线”为y=23+12t,带回原方程组解得p1=76,p2=53,p3=136,即e1=−16,e2=13,e3=−16。
于是我们得到p=⎡⎣⎢⎢⎢7653136⎤⎦⎥⎥⎥,e=⎡⎣⎢⎢−1613−16⎤⎦⎥⎥,易看出b=p+e,同时我们发现p⋅e=0即p⊥e。
可以验证,向量p 与e 正交,并且e 与矩阵A 的列空间正交。
pTe=7/6∗(−1/6)+5/3∗1/3+13/6∗(−1/6)=0eTa1=1∗(−1/6)+1∗1/3+1∗(−1/6)=0eTa2=1∗(−1/6)+2∗1/3+3∗(−1/6)=0
误差向量e不仅垂直于投影向量p,它同时垂直于列空间,如 ⎡⎣⎢111⎤⎦⎥,⎡⎣⎢123⎤⎦⎥。
2.利用矩阵求解
用矩阵的方法求解Ax^=Pb得到的方程是一样的,现在我们尝试解出x^=[C^D^]与p=⎡⎣⎢p1p2p3⎤⎦⎥。
ATAx^=ATbATA=[36614]ATb=[511][36614][C^D^]=[511]
写成方程形式为{3C^+16D^6C^+14D^=5=11,也称作正规方程组(normalequations)。
求的的结果是一样的。
我们现在做的运算也称作线性回归(linearregression),使用误差的平方和作为测量总误差的标准。
注:
如果有另一个点,如(0,100),在本例中该点明显距离别的点很远,最小二乘将很容易被离群的点影响,通常使用最小二乘时会去掉明显离群的点。
3.证明ATA可逆
3.1 证明可逆
接下来我们观察ATA,如果A的各列线性无关,求证ATA是可逆矩阵。先假设ATAx=0,两边同时乘以xT有xTATAx=0,即(Ax)T(Ax)=0。一个矩阵乘其转置结果为零,则这个矩阵也必须为零((Ax)T(Ax)相当于Ax长度的平方)。则Ax=0,结合题设中的“A的各列线性无关”,可知x=0,也就是ATA的零空间中有且只有零向量,得证。
3.2互相垂直线性无关
我们再来看一种线性无关的特殊情况:互相垂直的单位向量一定是线性无关的。比如:⎡⎣⎢100⎤⎦⎥⎡⎣⎢010⎤⎦⎥⎡⎣⎢001⎤⎦⎥,这三个正交单位向量也称作标准正交向量组(orthonormal vectors)。
另一个例子[cosθsinθ][−sinθcosθ]
下一讲研究标准正交向量组。
4.总结
1.记住图的意义:2.最小二乘法求解的意义。
3.ATA可逆的条件和正交向量组。
第十七讲:正交矩阵和Gram-Schmidt正交化法
这是关于正交性最后一讲,已经知道正交空间,比如行空间和零空间,今天主要看正交基和正交矩阵1.标准正交基与正交矩阵
1.1 标准正交基
定义标准正交向量(orthonormal):qTiqj={0i≠j1i=j;2.将标准正交向量放入矩阵中,有Q=[q1q2⋯qn],计算QTQ
QTQ=⎡⎣⎢⎢⎢⎢⎢10⋮001⋮0⋯⋯⋱⋯00⋮1⎤⎦⎥⎥⎥⎥⎥=I
我们也把Q成为标准正交矩阵(orthonormal matrix)。
标准正交基:
- 举个置换矩阵的例子:Q=⎡⎣⎢010100001⎤⎦⎥,则QT=⎡⎣⎢001100010⎤⎦⎥,易得QTQ=I。
- 使用上一讲的例子Q=[cosθsinθ−sinθcosθ],列向量长度为1,且列向量相互正交。
- 其他例子Q=12√[111−1],列向量长度为1,且列向量相互正交。
- 使用上一个例子的矩阵,令Q′=c[QQQ−Q],取合适的c另列向量长度为1也可以构造标准正交矩阵:Q=12⎡⎣⎢⎢⎢11111−11−111−1−11−1−11⎤⎦⎥⎥⎥,这种构造方法以阿德玛(Adhemar)命名,对2,4,16,64,⋯阶矩阵有效。
- 再来看一个例子,Q=13⎡⎣⎢122−2−122−21⎤⎦⎥,列向量长度为1,且列向量相互正交。格拉姆-施密特正交化法的缺点在于,由于要求得单位向量,所以我们总是除以向量的长度,这导致标准正交矩阵中总是带有根号,而上面几个例子很少有根号。
标准正交矩阵
QTQ对任意的Q都成立,但我们更关注Q为方阵时的情况,因为其有逆且由QTQ=I⇒Q−1=QT,我们叫这种column vector为标准正交向量组成且为方阵的矩阵为正交矩阵 orthogonal matrix。
注意:标准正交矩阵 orthogonormal matrix不一定是方阵,当它是方阵的时候,我们叫它正交矩阵 orthogonal matrix。
1.2正交矩阵
为什么我们如此关注标准正交矩阵 orthogonormal matrix为方阵 的情形?上一讲我们研究了ATA的特性,联系我们之前学习的投影矩阵projection matrix,将向量b投影在标准正交矩阵Q的列空间中,根据上一讲的公式得P=Q(QTQ)−1QT,由于标准正交矩阵Q的性质,易得P=QQT。
我们断言,当列向量为标准正交基时,QQT是投影矩阵。极端情况,假设矩阵是方阵,而其列向量是标准正交的,则其列空间就是整个向量空间,而投影整个空间的投影矩阵就是单位矩阵,此时QQT=I。
投影矩阵的两个性质:
1. (QQT)T=QQT,
证明:(QQT)T=(QT)TQT=QQT
2.(QQT)2=QQT
证明:(QQT)2=QQTQQT=Q(QTQ)QT=QQT
我们计算的ATAx^=ATb,现在变为QTQx^=QTb,也就是x^=QTb,分解开来看就是x^i=qTib−−−−−−−,这个式子在很多数学领域都有重要作用。当我们知道标准正交基,则解向量第$i$个分量为基的第$i$个分量乘以b,在第$i$个基方向上的投影就等于qTib。
2. Gram-Schmidt正交化法
这是一种将矩阵转化为标准正交向量orthogonormal matrix的方法。按老师的说法Schmidt教我们如何将一个向量标准化normalized,而Graham教我们如何使得各个向量正交orthogonal。总思路:
已知相互无关的向量a,b,目标要将a,b 变成相互正交且长度为1的q1,q2,可将向量a 固定,然后b投影到a上,误差e=B.
我们有两个线性无关的向量a,b,先把它们化为单位正交向量A,B:
我们取定a向量的方向,a=A;
接下来将b投影在A的法方向上得到B,也就是求子空间投影一讲中,我们提到的误差向量e=b−p,即B=b−ATbATAA。检验一下A⊥B,ATB=ATb−ATATbATAA=ATb−ATAATAATb=0。(ATbATAA就是Ax^=p);
再将它们单位化,变为单位正交向量q1=A∥A∥,q2=B∥B∥。
如果我们有三个线性无关的向量a,b,c,则我们现需要求它们变换成单位正交向量A,B,C:
前两个向量我们已经得到了,我们现在需要求第三个向量同时正交于A,B;
我们依然沿用上面的方法,从c中减去其在A,B上的分量,得到正交与A,B的C:C=c−ATcATAA−BTcBTBB;
再将它们单位化,变为单位正交向量q1=A∥A∥,q2=B∥B∥,q3=C∥C∥。
例子:
现在我们试验一下推导出来的公式,a=⎡⎣⎢111⎤⎦⎥,b=⎡⎣⎢102⎤⎦⎥:
则A=a=⎡⎣⎢111⎤⎦⎥;
根据公式有B=a−hA,h是比值ATbATA=33,则B=⎡⎣⎢111⎤⎦⎥−33⎡⎣⎢102⎤⎦⎥=⎡⎣⎢0−11⎤⎦⎥。验证一下正交性有A⋅B=0。
单位化,q1=13√⎡⎣⎢111⎤⎦⎥,q2=12√⎡⎣⎢102⎤⎦⎥,则标准正交矩阵为Q=⎡⎣⎢⎢⎢⎢13√13√13√0−12√12√⎤⎦⎥⎥⎥⎥,对比原来的矩阵D=⎡⎣⎢111102⎤⎦⎥,有D,Q的列空间是相同的,我们只是将原来的基标准正交化了。
3.QR分解
我们曾经用矩阵的眼光审视消元法,有A=LU。同样的,我们也用矩阵表达标准正交化,A=QR,这里的R是一个上三角矩阵upper triangular matrix 。设矩阵A有两个列向量[a1a2],则标准正交化后有[a1a2]=[q1q2][aT1q1aT1q2aT2q1aT2q2],而左下角的aT1q2始终为0,因为Gram-Schmidt正交化总是使得a1⊥q2,后来构造的向量总是正交于先前的向量。所以这个R矩阵是一个上三角矩阵。
4.总结
1.标准正交基与正交矩阵;2.Gram-Schmidt正交标准化;
3.QR分解(与LU分解的区别)。
第十八讲:行列式及其性质
行列式最早是应用在用来判断方程组是否有解,在矩阵被发明后,行列式就拥有了更多的性质和应用。其强大之处在于将整个矩阵的信息压缩到了一个值当中。行列式的英文名为determinant:决定因素,因为他可以决定方程组是否有解即矩阵是否可逆,从另外一个角度来理解,行列式代表了这个矩阵的特征,这是学习特征分解的前置概念。
1.基础性质
本讲我们讨论出行列式(determinant)的性质:行列式的基本性质:
性质1: detI=1,单位矩阵行列式值为一。
性质2:交换行,行列式变号。
性质3: a. ∣∣∣tatctbtd∣∣∣=t∣∣∣acbd∣∣∣。
b. ∣∣∣a+a′cb+b′d∣∣∣=∣∣∣acbd∣∣∣+∣∣∣a′cb′d∣∣∣。
由性质1和2可知,对置换矩阵有detP={1−1evenodd。
举例:∣∣∣1001∣∣∣=1,∣∣∣0110∣∣∣=−1,于是我们猜想,对于二阶方阵,行列式的计算公式为∣∣∣acbd∣∣∣=ad−bc。
性质3(b)对于每行都单独成立,其他行则不变,即不能同时组合第一行和第二行。det(A+B)≠det(A)+det(B)。
2. 推导出的性质
更多的性质可以从以上的三条性质中推导出来。性质4:如果两行相等,则行列式为零。使用性质2交换两行易证。
性质5 :从第k行中减去第i行的l倍,行列式不变。
解析:这条性质是针对消元的,我们可以先消元,将方阵变为上三角形式后再计算行列式。
举例:∣∣∣ac−labd−lb∣∣∣=3.b∣∣∣acbd∣∣∣+∣∣∣a−lab−lb∣∣∣=3.a∣∣∣acbd∣∣∣−l∣∣∣aabb∣∣∣=4∣∣∣acbd∣∣∣
性质6:如果方阵的某一行为零,则其行列式值为零。
证明:使用性质3(a)对为零行乘以不为零系数l,使ldetA=detA即可证明;或使用性质5将某行加到为零行,使存在两行相等后使用性质4即可证明。
性质7:有上三角行列式U=∣∣∣∣∣∣∣d10⋮0∗d2⋮0⋯⋯⋱⋯∗∗⋮dn∣∣∣∣∣∣∣,则detU=d1d2⋯dn。
证明:使用性质5,从最后一行开始,将对角元素上方的∗元素依次变为零,可以得到型为D=∣∣∣∣∣∣∣d10⋮00d2⋮0⋯⋯⋱⋯00⋮dn∣∣∣∣∣∣∣的对角行列式,再使用性质3将对角元素提出得到dndn−1⋯d1∣∣∣∣∣∣∣10⋮001⋮0⋯⋯⋱⋯00⋮1∣∣∣∣∣∣∣,得证。
性质8:当矩阵A为奇异矩阵时,detA=0;当且仅当A可逆时,有detA≠0。
证明:如果矩阵可逆,则化简为上三角形式后各行都含有主元,行列式即为主元乘积;如果矩阵奇异,则化简为上三角形式时会出现全零行,行列式为零。
再回顾二阶情况:∣∣∣acbd∣∣∣−→−消元∣∣∣a0bd−cab∣∣∣=ad−bc,前面的猜想得到证实。
性质9:detAB=(detA)(detB)。
解析:使用这一性质,detI=detA−1A=detA−1detA,所以detA−1=1detA。
同时还可以得到:detA2=(detA)2,以及det2A=2ndetA,这个式子就像是求体积,对三维物体有每边翻倍则体积变为原来的八倍。
性质10:detAT=detA。
前面一直在关注行的属性给行列式带来的变化,有了这条性质,行的属性同样适用于列,比如对性质2就有“交换列行列式变号”。
证明:∣∣AT∣∣=|A|→∣∣UTLT∣∣=|LU|→∣∣UT∣∣∣∣LT∣∣=|L||U|,值得注意的是,L,U的行列式并不因为转置而改变,得证。
相关文章推荐
- MIT 线性代数(31—33)读书笔记
- MIT 线性代数(34—35)读书笔记
- MIT 线性代数(13—15)读书笔记
- MIT 线性代数(4—6)读书笔记
- MIT 线性代数(7—9)读书笔记
- 《C++捷径教程》读书笔记--Chapter 18--C++的I/O系统-16
- MIT 线性代数(1—3)读书笔记
- MIT 线性代数(10—12)读书笔记
- 《剑指Offer》读书笔记--面试题16:反转链表
- 15-多线程(同步代码块) 16-多线程(同步的好处和弊端)图解 16-多线程(同步的好处和弊端) 18-多线程(同步函数)
- 《C++捷径教程》读书笔记--Chapter 18--C++的I/O系统--4-6
- 2699: 16 and 18
- MIT 18.06 线性代数总结(Part I)
- 《Android源码设计模式》读书笔记 (16) 第16章 访问者模式
- 存储器的保护(一)——《x86汇编语言:从实模式到保护模式》读书笔记18
- Linux Mint 18(Ubuntu 16)安装f.lux教程
- 读书笔记: 博弈论导论 - 16 - 不完整信息的动态博弈 信号传递博弈
- 读书笔记 effective c++ Item 16 成对使用new和delete时要用相同的形式
- 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!
- iOS之《Effective Objective-C 2.0》读书笔记(16)