零空间、行空间都属于子空间,所以需要理解子空间,要理解子空间,自然需要知道“空间”的意思。
“空间”,这里特指向量空间,是对于线性运算封闭的向量集合,即对于空间中的任意向量和
,对于任何实数
和
,线性组合
必属于该空间。简单的例子如其和
和数乘
也必属于该空间。
常见的如实数空间,……都是重要的向量空间,
表示
维空间。
“子空间”为包含向量空间内的一个向量空间,它是原向量空间的一个子集,而且本身也满足向量空间的要求。
但是“子空间”和“子集”的概念有区别,所有元素都在原空间之内就可以称之为子集,但是要满足对线性运算封闭的子集才能称为子空间。
可以环顾下自己身处的房间,我们都处于三维空间中。细讲的话,地面是二维子空间,房门所在墙也是一个二维子空间,窗户所在墙同样也是一个二维子空间,房顶也是一个二维子空间(如果你家房子是常规房子)。但是,你应该要认识到地面和房顶所在的二维子空间是同一个子空间(或平面),只是它们所处物理高度不同。不要去考虑“高度”,因为在二维世界里没有“高度”(只有长宽),在二维世界的视角,地面和房顶是一个平面空间);以上是常规的二维空间,你也可以把倾斜地显示器屏幕想象成它处于一个二维空间,没错,“空间”很自由,你任意旋转屏幕就能得到任意一个二维空间(平面)。说完二维空间,三维空间应该更好理解了。例如,任一墙面与地面的垂线(例如两个墙面的相交的线)和地面就构成了“正交”空间。这里要注意,构成空间的子空间可以不正交,正交只是笛卡尔坐标系的特点。当然,正交的子空间有特别优异的特性,在实际数据处理过程中,大家都努力把子空间经过变换称为正交子空间,从而在不同子空间中的数据互不影响。为什么互不影响呢?因为正交,正交表明两个子空间的数据“独立不相关”。所以任意子空间如果相互正交,那么其中一个子空间与另一个子空间互成“零空间”(NullSpace)。
列空间 Column space(行空间在零空间里讲解)
矩阵的列空间C(
)是其列向量的所有线性组合所构成的空间。
求解的问题,对于给定的矩阵
,对于任意的
都能得到解么?显然并不是所有的
都能保证
有解,因为它有4个线性方程而只有3个未知数,矩阵
列向量的线性组合无法充满
,因此如果
不能被表示为
列向量的线性组合时,方程式无解的。只有当
在矩阵
的列空间C(
)时,
才有解。
对于我们所给定的矩阵,由于列向量不是线性无关的,第三个列向量为前两个列向量之和,所以尽管有3个列向量,但是只有2个对张成向量空间有贡献。矩阵
的列空间为
内的一个二维子空间。
零空间(或称化零空间)Nullspace
矩阵的零空间N(
)是指满足
的所有解的集合。对于所给定的这个矩阵
,其列向量含有4个分量,因此列空间是
的子空间,
为含有3个分量的向量,故矩阵
的零空间是
的子空间。对于
矩阵,列空间为
的子空间,零空间为
的子空间。零空间的维数是
,
就不展开了,线性代数的基础知识。
本例中矩阵的零空间N(
)为包含
的任何倍数的集合,因为很容易看到第一列向量和第二列向量相加除以2减去第三列向量为零,所以此零空间为
中的一条直线。
为了验证的解释一个向量空间,可以验证它是否对线性运算封闭:
若和
为解集中的元素,则有:
,
因此得证。
值的影响
若方程变为,则其解集不能构成一个子空间。零空间并不在这个集合内,解集是空间
内过
和
的一个平面,但是并不穿过原点
。
小结:对于列空间,它是由列向量进行线性组合张成的空间;而零空间是从方程组出发,通过让满足特定条件而得到的子空间。
接下来等我有空了,就继续更新Nullspace在neural computation中的经典应用,即在动作没产生前,大量神经元的活动就是在Nullspace中,所以对肌肉没有产生实质输出:Cortical activity in the null space: permitting preparation without movement