矩有四子

在讨论一些方法的几何意义之前需要理解一下线性代数的一个基础知识,就是矩阵和它代表的空间的含义。

矩阵的4个子空间

假设有个m行n列(m x n)的矩阵,

那么把它按列进行划分:

那么, 矩阵就可以表示为:

也可以按行划分:

那么, 矩阵就可以表示为:

这样, 再结合转置, A的转置的行划分等价于A的列划分:

同理转置的列划分:

而A矩阵有四个基础的子空间:

列空间(Column Space), 行空间(Row Space)

零空间(Null Space), 左零空间(Left Null Space)

Column Space 列空间

列空间定义比较简单,就是把列向量的线性生成空间(Span), 或者把列向量看成是坐标系的向量空间。因为每个列向量的长度为m, 因此Column Space是R^m子空间。

例如两个向量a1和a2的span如下图所示:

如果把C向量用粗体的v向量来表示, 那么线性组合就是标量c的和。

如果把这个线性之和展开:

所以Column Space是A矩阵右乘一个比例因子向量的向量空间。

Row Space 列空间

同理, Row Space是行向量的线性生成空间(Span)是R^n子空间

类似的, 我们R向量写成粗体r向量, 那么它们的线性和如下:

类似的有, Row Space是A的转置矩阵右乘一个比例因子向量的向量空间。

所以A的Row Space等价于A转置的Column Space。

Null Space 零空间

根据Null Space的定义:

我们知道 x 肯定是 n维的向量, 所以直观上, Null Space肯定是R^n空间的子空间。

Left Null Space 左零空间

类似的, 等价于A转置的Null Space, 那为什么叫Left呢? 因为上面的Null Space是右积, 如果改成左积就是Left Null Space,而这样又等价于转置的右积。 所以Left Null Space肯定是R^m空间的子空间。

列空间(Column Space):R^m

A [c1, c2, ..., cn]^T =[v1, v2, ..., vn] [c1, c2, ..., cn]^T

行空间(Row Space): R^n

[c1, c2, ..., cm] A = A^T [c1, c2, ..., cm]^T = [r1, r2, ..., rm] [c1, c2, ..., cm]^T

空空间(Null Space): R^n

Ax = 0

==> [r1^T, r2^T, ..., rm^T]^T x = 0

==> [r1^T x , r2^T x , ..., rm^T x ]^T = 0

左空空间(Left Null Space): R^m

x^T A = A^T x = 0

如上图所示, 我们可以看到空间U和空间V(图里是V^T)的大小情况, U是m长度的, 而V是n长度, 后面乘的空间的维度(自由度)。 下面我们解释这个维度是怎么来的。

子空间

前面我们提到了子空间, 但是我们还是再说明下子空间是有哪些构成的:

零向量(zero)和基向量(base)

零向量是这个子空间的, 另外还有基向量, 基向量的线性组合依然属于这个空间, 基向量的倍数依然属于这个空间。

自由度,维度

一个空间除了这个空间点的长度,还有一个自由度或者维度(dimensions),就是说能不能布满整个R^n 的空间。最小基向量的数量就是这个空间的自由度,或者维度。

例如, 对于如下一个向量A (3 x 5)的矩阵。 对于列向量, 我们只要选择第1列和第4列, 其他任何列都可以通过这两列线性组合到。 所以dim(Col(A)) = 2。 类似的, 行向量,只要选择第1和第2行,所以 dim(Row(A)) = 2。

行变换( elementary row operations, ERO)找基

通过行变换可以定位到那些行可以被化解掉:

这样可以找到列空间的基为:

同理行空间的基为:

那么零空间的基呢?

根据ERO的结果:

再根据 Ax = 0, 代入到ERO的结果里面:

因为x3,x4,x5是自由基,我们把ERO的结果代入x1和x2非自由基, 我们就可以描述整个零空间:

如果把这个式子写成[x1, x2, x3, x4, x5] 的基, 我们得到:

直观理解下, 这个basis是如何来的呢? 因为x3, x4, x5是自由基, 那么x3取值1的时候, 要让R矩阵里面前两个式子为0,必须有x1=1, x2=-2。 同理x4=1的时候, x1=2, x2=-3, 而x5=1的时候, x1=3, x2=-4。

因此 dim(null(A)) = 3。

根据例子, 我们可以看到2个结论:

1, 列空间和行空间的维度一致,其实这个维度就是矩阵A的秩(rank, r)

2. 列空间和零空间的维度之和为n

很容易就推论出另外一个结论:

3. 行空间和左零空间的维度之和为m

根据基和空间长度,我们可以总结如下图:

正交空间 (Perpendicular Space)

向量垂直 和 空间垂直 (orthogonal)

如果两个向量的点积为零, 那么这两个向量是垂直的(orthogonal)。

如果两个空间的中任意两个向量都是垂直的, 那么这两个空间是垂直空间。

两个垂直空间的唯一交集是零向量:

如图所示:

有了垂直空间,那么对于空间任意一个向量, 可以向垂直的向量进行投影分解, 例如x向量可以向V空间和V垂直空间进行投影:

行空间和零空间正交

我们来看一下, 根据前面的定义, 矩阵A的零空间表示如下:

我们把矩阵A写成行向量组合模式, 如下:

那么, 行空间就是:

根据零空间的定义, Az = 0 零向量, 那么每个行向量和空间里面的向量的点积为零:

那么,取行空间任意向量y和零空间任意向量z:

那么, 它们的点积为:

根据空间垂直的定义, 那么我们有Row(A) 垂直于Null(A)。

有了空间垂直的关系, 在根据垂直空间的维度的关系:

我们也可以得到类似结论:

在根据:

可以得到:

列空间和左零空间正交

类似的, 我们可以证明这两个空间也是正交的:

那么取任意的向量u和v,使得

我们根据定义有如下结论:

那么, 可以得到:

也就是说任意的列向量和u之间垂直:

那么u和v也必然垂直:

根据空间垂直我们有如下所示结论:

类似于前面垂直空间的结论, 我们有任意的R^m向量可以向列空间和左零空间进行投影,或者R^n向量可以向行空间和零空间进行投影:

而这种投影恰恰可以用来描述最小二乘法的几何意义, 这个会在后续中介绍。

物理意义

线性空间投影

对于线性乘法空间的描述 Ax = b,就可以图示化的如下描述, 我们可以对x进行投影分解, 或者对b进行投影分解, 来探讨更深层次的物理意义。

对x进行投影分解:

对b进行分解

合起来在看,是不是觉得有点神奇?

矩阵分解

更进一步在Singular Value Decomposition,SVD中,有如下分解公式:

如果把U用前面标记的Col(A)和Null(A^T)然后V^T用前面标记的Row(A)和Null(A)表示, 是不是一下子更清晰了?

后记, 赞Gilbert Strang

你之所以能看到如此美妙的图示, 离不开MIT数学系教授Gilbert Strang的工作, 这里感谢他, 并且推荐他的著作“Introduction to Linear Algebra”。

现在能看懂封面的图了吧?

参考:

http://2008.igem.org/Team:LCG-UNAM-Mexico/Notebook/2008-October

http://www.itshared.org/2015/06/the-four-fundamental-subspaces.html

http://fourier.eng.hmc.edu/e176/lectures/ch0/node8.html

http://math.stackexchange.com/questions/29072/how-is-the-column-space-of-a-matrix-a-orthogonal-to-its-nullspace

原文发布于微信公众号 - AI2ML人工智能to机器学习(mloptimization)

原文发表时间:2016-11-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Petrichor的专栏

深度学习: ResNet (残差) 网络

ResNet (残差) 网络 由He Kaiming、Sun jian等大佬在2015年的论文 Deep Residual Learning for Image...

7702
来自专栏奇点大数据

Pytorch神器(5)

大家好,今天我们进一步学习Pytorch的用法之正向传播(FeedForward)网络的用法。

1262
来自专栏技术沉淀

KNN算法实现及其交叉验证

2853
来自专栏云时之间

深度学习与神经网络:单层感知机

今天这个文章让我们一起来学习下感知机: ? 一个传统的单层感知机如上图所示,其实理解起来很简单,我们可以直接理解为输入节点接受信号之后直接传输到输出节点,然后得...

4815
来自专栏人工智能LeadAI

文本与序列的深度模型 | 深度学习笔记

Rare Event 与其他机器学习不同,在文本分析里,陌生的东西(rare event)往往是最重要的,而最常见的东西往往是最不重要的。 语法多义性 一个东西...

45910
来自专栏云时之间

深度学习与神经网络:单层感知机

一个传统的单层感知机如上图所示,其实理解起来很简单,我们可以直接理解为输入节点接受信号之后直接传输到输出节点,然后得到结果y.

3689
来自专栏YoungGy

KD树和LSH局部敏感哈希

文档结构 文档表示 距离度量 KD树 原理 构建 查询 复杂度 KD树的KNN KD树的逼近KNN 不适用高维数据 LSH LSH潜在的问题 LSH算法 复杂度...

3568
来自专栏用户3246163的专栏

2.1 统计基础

主要用在线性回归的时候来估计b1 unbiasedness: 估计的残差是随机的 efficiency:对比其他估计样本残差最小 consistency:样本增...

2493
来自专栏机器学习算法工程师

你知道词袋模型吗?

词袋模型是一种在使用机器学习算法建模文本时表示文本数据的方式; 易于理解和实现,并且在语言建模和文档分类等问题上取得了巨大成功。

1273
来自专栏企鹅号快讯

基础 Word2vec的原理介绍

一,词向量的概念 将 word映射到一个新的空间中,并以多维的连续实数向量进行表示叫做“Word Represention” 或 “Word Embedding...

23310

扫码关注云+社区

领取腾讯云代金券