数极客首页

数据挖掘化功大法(11)——线性空间

向量空间又称线性空间,是线性代数的中心内容和基本概念之一。在解析几何里引入向量概念后,使许多问题的处理变得更为简洁和清晰,在此基础上的进一步抽象化,形成了与域相联系的向量空间概念。譬如,实系数多项式的集合在定义适当的运算后构成向量空间,在代数上处理是方便的。单变元实函数的集合在定义适当的运算后,也构成向量空间,研究此类函数向量空间的数学分支称为泛函分析。

向量空间它的理论和方法在科学技术的各个领域都有广泛的应用。

设F是一个域。一个F上的向量空间是一个集合V和两个运算:

向量加法:+ : V × V → V 记作 v + w, s v, w ∈ V

标量乘法:· : F × V → V 记作 a v, ?a ∈ F 及 v ∈ V

符合下列公理 (? a, b ∈ F 及 u, v, w ∈ V):

向量加法结合律:u + (v + w) = (u + v) + w;

向量加法交换律:v + w = w + v;

向量加法的单位元:V 里有一个叫做零向量的 0,? v ∈ V , v + 0 = v;

向量加法的逆元素:?v∈V, ?w∈V,使得 v + w = 0;

标量乘法分配于向量加法上:a(v + w) = a v + a w;

标量乘法分配于域加法上: (a + b)v = a v + b v;

标量乘法一致于标量的域乘法: a(b v) = (ab)v;

标量乘法有单位元: 1 v = v, 这里 1 是指域 F 的乘法单位元。

有些教科书还强调以下两个公理:

V 闭合在向量加法下:v + w ∈ V

V 闭合在标量乘法下:a v ∈ V

基变换和坐标变换

基变换就是一组基到另外一组基的线性变换,用过渡矩阵表示

坐标变换就是确定基变换后,同一向量在不同基底下的坐标表示之间的关系

子空间的直和

简单理解就是两两相交的一组基,都相互垂直,并且相交等于0。

线性变换

这部分直接引用一段其它人写的信息吧,原链接地址在:

http://blog.csdn.net/jane617_min/article/details/7044479

一般来说,方阵能描述任意线性变换。线性变换保留了直线和平行线,但原点没有移动。线性变换保留直线的同时,其他的几何性质如长度、角度、面积和体积可能被变换改变了。从非技术意义上说,线性变换可能“拉伸”坐标系,但不会“弯曲”或“卷折”坐标系。

矩阵是怎样变换向量的

向量在几何上能被解释成一系列与轴平行的位移,一般来说,任意向量v都能写成“扩展”形式:

数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间

让我们将上面的向量和重写一遍,这次分别将p、q、r定义为指向+x,+y和+z方向的单位向量,如下所示:

v = xp + yq + zr

现在,向量v就被表示成向量p,q,r的线性变换了,向量p,q,r称作基向量。这里基向量是笛卡尔坐标轴,但事实上,一个坐标系能用任意3个基向量定义,当然这三个基向量要线性无关(也就是不在同一平面上)。以p、q、r为行构建一个3 x 3矩阵M,可得到如下矩阵:

数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间

从这点看,术语“转换”和“乘法”是等价的。

坦率地说,矩阵并不神秘,它只是用一种紧凑的方式来表达坐标转换所需的数学运算。进一步,用线性代数操作矩阵,是一种进行简单转换或导出更复杂转换的简便方法。

矩阵的形式:

基向量[1, 0, 0], [0, 1, 0], [0, 0, 1]乘以任意矩阵M:

数据挖掘化功大法(11)——线性空间

这个强有力的概念有两条重要性质:

1、有了一种简单的方法来形象化解释矩阵所代表的变换。

2、有了反向建立矩阵的可能 —- 给出一个期望的变换(如旋转、缩放等),能够构造一个矩阵代表此变换。我们所要做的一切就是计算基向量的变换,然后将变换后的基向量填入矩阵。

首先来看看2D例子,一个2 x 2矩阵:

数据挖掘化功大法(11)——线性空间

p = [2 1]

q = [-1 2]

图7.1以“原”基向量(x轴,y轴)为参考,在笛卡尔平面中展示了这些向量。

数据挖掘化功大法(11)——线性空间

如图7.1所示,x基向量变换至上面的p向量,y基向量变换至q向量。所以2D中想象矩阵的方法就是想象由行向量构成的“L”形状。这个例子中,能够很清楚的看到,M代表的部分变换是逆时针旋转26度。

当然,所有向量都被线性变换所影响,不只是基向量,从“L”形状能够得到变换最直观的印象,把基向量构成的整个2D平行四边形画完整有助于进一步看到变换对其他向量的影响,如图7.2所示:

数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间

这种技术也能应用到3D转换中。2D中有两个基向量,构成”L”型;3D中有三个基向量,它们形成一个”三脚架“。首先,让我们展示出一个转换前的物品。图7.4展示了一个茶壶,一个立方体。基向量在”单位“向量处。

数据挖掘化功大法(11)——线性空间

现在,考虑以下3D变换矩阵:

数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间

我们可以通过让比例因子k按比例放大或缩小来缩放物体。如果在各方向应用同比例的缩放,并且沿原点“膨胀”物体,那么就是均匀缩放。均匀缩放可以保持物体的角度和比例不变。如果长度增加或减小因子k,则面积增加或减小k^2。在3D中,体积将增加或减小 k^3。

如果需要“挤压”或”拉伸”物体,在不同的方向应用不同的因子即可,这称作非均匀缩放。非均匀缩放时,物体角度将发生变化。视各方向缩放因子的不同,长度、面积、体积的变化因子也各不相同。

如果|k|<1,物体将“变短”;如果|k|>1,物体将“变长”,如果k = 0,就是正交投影,如果k < 0就是镜像。

应用非均匀缩放的效果类似于切变,事实上,非均匀缩放和切变和很难区分的。

沿坐标轴的缩放

最简单的缩放方法是沿着每个坐标轴应用单独的缩放因子,缩放是沿着垂直的轴(2D中)或平面(3D中)进行的。如果每个轴的缩放因子相同,就是均匀缩放,否则是非均匀缩放。

2D中有两个不同的缩放因子,Kx和Ky,图8.13展示了应用不同缩放因子后的情况。

数据挖掘化功大法(11)——线性空间

p‘ = Kxp = Kx [1 0] = [Kx 0]

q‘ = Kyq = Ky [0 1] = [0 Ky]

用基向量构造矩阵,结果如公式8.6所示:

数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间

我们可以不依赖于坐标系而沿任意方向进行缩放,设n为平行于缩放方向的单位向量,k为缩放因子,缩放沿穿过原点并平行于n的直线(2D中)或平面(3D中)进行。

我们需要推导出一个表达式,给定向量v,可以通过v,n和k来计算v’。为了做到这一点,将v分解为两个分量,v||和v⊥,分别平行于n和垂直于n,并满足v =v|| + v⊥。v||是v在n上的投影,由 (v . ) 可以得到 v||。因为v⊥垂直于n,它不会被缩放操作影响。因此,v’ = v||’ + v⊥,剩下的问题就是怎样得到v||’。由于v||平行于缩放方向,v||’可以由公式kv||得出,如图8.14所示:

数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间

一般来说,投影意味着降维操作,有一种投影方法是在某个方向上用0作为缩放因子。这种情况下,所有点都被拉平至垂直的轴(2D)或平面(3D)上。这种类型的投影称作正交投影(或者平行投影),因为从原来的点到投影点的直线相互平行。

向坐标轴或平面投影

最简单的投影方式是向坐标轴(2D)或平面(3D)投影,如图8.15所示:

数据挖掘化功大法(11)——线性空间

通过使垂直方向上的缩放因子为零,就能向坐标轴或平面投影。考虑到完整性,下面列出这些变换矩阵,见公式8.10 – 8.14。

数据挖掘化功大法(11)——线性空间

也能向任意直线或平面投影,像往常一样,由于不考虑平移,这些直线或平面必须通过原点。投影由垂直于直线或平面的单位向量n定义。

通过使该方向的缩放因子为0能够导出向任意方向投影的矩阵,2D中的情况如公式8.15所示:

数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间

镜像(也叫做反射)是一种变换,其作用是将物体沿直线(2D中)或平面(3D中)“翻折”,图8.16展示了镜像的效果。

数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间

切变

切变是一种坐标系“扭曲”变换,非均匀地拉伸它。切变的时候角度会发生变化,但令人惊奇的是面积和体积却保持不变。基本思想是将某一坐标的乘积加到另一个上。例如,2D中将y乘以某个因子然后加到x上,得到 x’ = x + sy,如图8.17所示:

数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间

设想世界中有一个任意方向、任意位置的物体,我们要把它渲染到任意方向、任意位置的摄像机中。为了做到这一点,必须将物体的所有顶点从物体坐标系变换到世界坐标系,接着再从世界坐标系变换到摄像机坐标系。其中的数学变换总结如下:

数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间
数据挖掘化功大法(11)——线性空间

变换分类

变换的类别并不是互斥的,也不存在一定的“次序”或“层次”使得某一类比另一类多或少一些限制。

当讨论一般意义上的变换时,我们将使用类似的术语:映射或函数。在最一般的意义上,映射就是一种简单的规则,接受输入,产生输出。我们把从a到b的F映射记作F(a) = b。

线性变换

在数学上,如果满足下式,那么映射F(a)就是线性的:

F(a + b) = F(a) + F(b) 以及 F(ka) = kF(a)

如果映射F保持了基本运算:加法和数量乘,那么就可以称该映射为线性的。在这种情况下,将两个向量相加然后再进行变换得到的结果和先分别进行变换再将变换后的向量相加得到的结果相同。同样,将一个向量数量乘再进行变换和先进行变换再数量乘的结果也是一样的。

这个线性变换的定义有两条重要的引理:

(1) 映射F(a) = aM,当M为任意方阵时,说映是一个线性变换,这是因为:

F(a + b) = (a + b)M = aM + bM = F(a) + F(b)

F(ka) = (ka)M = k(aM) = kF(a)

(2) 零向量的任意线性变换的结果仍然是零向量。(如果F(0) = a,a ≠ 0。那么F不可能是线性变换。因为F(k0) =a,但F(k0) ≠ kF(0)),因此线性变换不会导致平移(原点位置上不会变化)。

在某些文献中,线性变换的定义是平行线变换后仍然是平行线。大多数情况下它是对的,但有一个小小的例外:投影(当一条直线投影后变成一个点,能认为这个点 平行于什么?)除了这点理论上的例外,这种定义是正确的。线性变换可能造成“拉伸”,但直线不会”弯折“,所以平行线仍然保持平行。

仿射变换

仿射变换是指线性变换后接着平移。因此仿射变换的集合是线性变换的超集,任何线性变换都是仿射变换,但不是所有仿射变换都是线性变换。

任何具有形式 v’ = vM + b 的变换都是仿射变换。

可逆变换

如果存在一个逆变换可以”撤销“原变换,那么该变换是可逆的。换句话说,如果存在逆变换G,使得G(F(a)) = a,对于任意a,映射F(a)是可逆的。

存在非仿射变换的可逆变换,但暂不考虑它们。现在,我们集中精力于检测一个仿射变换是否可逆。一个仿射变换就是一个线性变换加上平移,显然,可以用相反的量”撤销“平移部分,所以问题变为一个线性变换是否可逆。

显然,除了投影以外,其他变换都能”撤销“。当物体被投影时,某一维有用的信息被抛弃了,而这些信息时不可能恢复的。因此,所有基本变换除了投影都是可逆的。

因为任意线性变换都能表达为矩阵,所以求逆变换等价于求矩阵的逆。如果矩阵是奇异的,则变换不可逆;可逆矩阵的行列式不为0。

等角变换

如果变换前后两向量夹角的大小和方向都不改变,该变换是等角的。只有平移,旋转和均匀缩放是等角变换。等角变换将会保持比例不变,镜像并不是等角变换,因为尽管两向量夹角的大小不变,但夹角的方向改变了。所有等角变换都是仿射和可逆的。

正交变换

术语“正交”用来描述具有某种性质的矩阵。正交变换的基本思想是轴保持互相垂直,而且不进行缩放变换。

平移、旋转和镜像是仅有的正交变换。长度、角度、面积和体积都保持不变。(尽管如此,但因为镜像变换被认为是正交变换,所以一定要密切注意角度、面积和体积的准确定义)。

正交矩阵的行列式为1或者负1,所有正交矩阵都是仿射和可逆的。

刚体变换

刚体变换只改变物体的位置和方向,不包括形状。所有长度、角度、面积和体积都不变。平移和旋转是仅有的刚体变换,镜像并不被认为是刚体变换。刚体变换也被称作正规变换,所有刚体变换都是正交、等角、可逆和仿射的,某些刚体变换旋转矩阵的行列式为1。

本文采用「CC BY-SA 4.0 CN」协议转载学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系「我们」处理。

发表评论

评论已关闭。

相关文章