《机器学习线性代数基础》Python描述——第三章笔记

在看这章之前,最好先看完上一章节:第二章笔记

利用矩阵,描述向量b向一维直线的投影—>向二维平面的投影—>向n维子空间的投影(一般化):

解决问题的核心突破口:原始向量b与投影向量p的向量之差(即误差向量e = b - p )与这个n维子空间的垂直关系。

然后问题就转化为在这个n维空间中寻找n个线性无关的向量a1,a2,a3…an作为这个子空间的一组基向量,然后使得误差向量e与这一组基向量分别垂直。
首先要满足:
a1 * e = 0
a2 * e = 0
a3 * e = 0

an * e = 0

然后投影向量p被表示为这组基向量的线性组合形式:
p = x1a1 + x2a2 + x3a3 +…+ xnan

将这一组基向量a1,a2,a3…an构造成矩阵A的各列,矩阵A = [a1 a2 a3 … an],系数向量为x = [x1 x2 x3 … xn]T

现在投影向量p可以被表示为:p = Ax,同样的也就有e = b - p = b - Ax。
最后,把n个基向量与误差向量e垂直的表达式统一起来:
ak*e = 0 -> akT(b-Ax) = 0 -> AT(b-Ax) = 0 -> ATAx = ATb

此时矩阵A为一个m*n规模的矩阵,由于矩阵A的各列表示的是Rm空间中n维子空间的一组基,因此必然有m >= n的不等式关系成立,所以同样有结论:ATA是一个n阶的可逆方阵。
结果:
x为标量系数,p为投影向量,P为投影矩阵

  • x = (ATA)-1ATb
  • p = A(ATA)-1ATb
  • P = A(ATA)-1AT

重要结论:如果矩阵A是一个列满秩方阵,那么ATA是一个可逆方阵。

深入剖析最小二乘法的本质

互补的子空间:

在一个Rm空间中有一个向量b,可以选取m个线性无关的向量a1 a2 a3 … am作为Rm空间中的一组基向量,将向量b向每个基向量上进行投影,就能得到m个投影向量:p1 p2 p3 … pm,并且他们满足b = p1 + p2 + p3 … + pm,即通过空间中所有投影轴上的投影向量能够重构向量b的完整信息。

互补空间的子空间一方面由不同的基向量所组成,另一方面它们的维数之和为整个Rm空间的维数。空间中的任意一个向量b,其在互补子空间上的投影向量之和,就是向量自身。

正交的子空间:

子空间V和子空间W满足正交关系成立的条件是:子空间V中任意一个向量v和子空间W中任意一个向量w都垂直。

同时位于相互正交的两个子空间上的向量只可能是零向量,因为只有零向量才和自身保持垂直。

相互正交补的子空间:

Rm空间中的两个互补的子空间,如果满足相互正交的关系,则它们满足正交补的关系,它们的空间维数之和应该为m。

m*n规模矩阵A的行空间和零空间在Rn空间中满足正交补的关系
由于转置矩阵AT的行空间和零空间也相互正交,因此矩阵A的列空间和左零空间在Rm中同样满足正交补的关系。

处理无解方程组的近似解:

方程组:
2x + y = 4
x + 2y = 3
x + 4y = 9

令矩阵A = [[2,1],[1,2],[1,4]] 向量b = [4,3,9]T
根据上述公式,由于向量x就是想要获取的近似解向量
即x = (ATA)-1ATb
直接进行计算

利用Python来计算的过程:
代码展示:

A = np.array([[2, 1],
              [1, 2],
              [1, 4]])
b = np.array([[4], [3], [9]])
A_T_A = np.dot(A.T, A)
x = np.dot(np.dot(linalg.inv(A_T_A), A.T), b)
print(x)

结果:
在这里插入图片描述

上述求无解线性方程组近似解的方法是最小二乘法
最小二乘法的两个要点:
  1. 绘制一条距离3个点最近的直线,判定的指标就是3个点到直线的竖直线,而不是直观上最容易想到的垂直线。
  2. 最小二乘法就是最小平方的意思,我们的优化目标就是去求解3调竖直线长度的平方和开根号之和的最小值。

施密特正交化:寻找最佳投影基

一组列向量彼此之间的点积为0,意味着向量之间彼此正交,而向量与自身的点积为1 ,则意味着每一个向量的模长都为1,这一组列向量均为单位向量,我们称这一组向量是标准正交的。
如果用Q来表示,就会满足QTQ = I (I为单位矩阵)
当Q为方阵时候,我们就可以称之为正交矩阵,并且Q满足可逆性,有QTQ = I -> QT = Q-1 ,即正交矩阵的逆矩阵等于自身的转置矩阵

由此,如果用正交矩阵Q来代替原来的一般矩阵A,那么原先的标量系数矩阵x,投影向量p和投影矩阵P都可以得到大大的简化:
x = (QTQ)-1QTb = QTb
p = Qx = Q(QTQ)-1QTb = QQTb
P = QQT

施密特正交化具体步骤:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值