MIT18.06课程笔记16:最小二乘法,线性回归

课程简介

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+dy1)2+(cx2+dy2)2+...+(cxm+dym)2)

2. 换个角度看问题

最后需要最小化的目标函数其实是误差的平方和,此目标等效于最小化误差的距离(平方和开方)。
具体地设

e=[e1,e2,...,em]Tei=cxi+dyi,0<im

则目标函数为 argminc,d(eTe) ,等价于 argminc,d||e||
进一步,如果设
A=x1x2...xm121,b=y1y2...ym

则有
e=A[cd]b

目标则为
argminc,d||A[cd]b||

上诉公式都是非常直观的,就不多做介绍。
经过上诉转换之后,就可以把投射矩阵应用进来了。具体的,最小化 ||e|| ,其实就是要找到 b̂ C(A) ,使得 ||b̂ b|| 最小。(C(A)是A的column space,具体定义请见 MIT18.06课程笔记15:Projection Matrix投射矩阵)。而且这里的问题更简单,就只需要求 x=[c,d]T 即可(不需要求取投射后的向量 b̂  了)。
使用投射矩阵中的公式
[c,d]T=x=(ATA)1Ab

3. ATA 的可逆性

我自己的思考:
1. 对于任意矩阵 A,B ,有 range(AB)range(A) , range(AB)range(B) 。因为新生成的矩阵的每一列都在A的column space里面(例如 AB 的第一列就是A与B的第一列相乘的结果。同样因为 (AB)T=BTAT ,所以新生成矩阵的每一行都在 BT 的column space里面。
2. range(AB) 可以小于 min{range(A),range(B)} 。例如A的column不是线性无关的,那么可以通过两种不同的方式生成同一个向量。那么有 range(B)=2 , range(A)>2 , 而 range(AB)=1

3.1. 命题

A 是column independent的 ⇒ ATA是可逆的。

3.2. 反证法

ATA 是不可逆的 <=> x0,ATAx=0
两边同时乘以 xT ,则有
x0,xTATAx=(Ax)T(Ax)=0 ,
进而 x0,Ax=0 。而已知A是column independent的,所以不存在x使得 Ax=0 。从而假设不成立。
从几何的角度也知假设不成立, Ax 位于A的column space内,而 ATAx=0 则是再说 Ax AT 的null space里面。具体地,就是说几个线性无关基向量的线性组合要和每个基向量都垂直。而满足这种情况的只有 Ax=0

4. 线性代数求导的角度

对于2中转换为矩阵相乘的问题表述形式,可以通过对其求导求解。两个方法角度不同,结果相同。
具体地,目标是

argminc,deTe=argminc,d(Axb)T(Axb)error=(Axb)T(Axb)

error x 求导,可得AT2(Axb)=0, 进而 x=(ATA)1Ab

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值