摘要:正所谓学以致用,在长期以来的学习过程中,我们真正能够将所学到的知识运用到生活中的能有多少,我们对课本上那些枯燥的公式虽牢记于心,却不知道它的实际用途。在学习了矩阵论以来,虽然知道很多问题的求法,就如矩阵特征值和特征向量,它们有何意义我们却一点不知。我想纯粹的理知识已经吸引不了我们了,我们需要去知道它们的用途,下面就让我们一起来看看矩阵特征值与特征向量在图像处理中是如何发挥它们的作用的。
关键字:
特征值、特征向量、 图像、
正文:
生活中的我们,每天清晨醒来,随之映入眼帘的就是各种形形色色的图像,我们确实也很难想象,在我们的生活中,图像的处理和矩阵特征值、特征向量有什么关系?首相我们先来了解下,何为特征值、特征向量。
定义: 设 是 阶方阵,若有数 和非零向量 ,使得
称数 是 的特征值,非零向量 是 对应于特征值 的特征向量。
例如 对 ,有 及向量 ,使得 ,这说明 是 的特征值, 是 对应于 的特征向量。
特征值和特征向量的求法:
1. 由 得 ,并且由于 是非零向量,故行列式 ,即
(称之为 的特征方程)
由此可解出 个根 (在复数范围内),这就是 的所有特征值。
2. 根据某个特征值 ,由线性方程组 解出非零解 ,这就是 对应于特征值 的特征向量。
特征值和特征向量的性质:
1 . ,
2 .若 是 的特征向量,则对 , 也是 的特征向量。
3 .若 是 的特征值,则 是 的特征值,从而 是 的特征值。
4 . 是 的 个特征值, 为依次对应的特征向量,若 各不相同,则 线性无关。
我想在了解了特征值和特征向量的基本理论之后,你们很难想象,为什么这些知识会和图像有联系吧。说实话,我自己也不是很清楚,我也是看了别人的理论讲解,才略微理解了一二。让我们一起去了解下。
根据特征向量数学公式定义,矩阵乘以一个向量的结果仍是同维数的一个向量,因此,矩阵乘法对应了一个变换,把一个向量变成同维数的另一个向量,那么变换的效果是什么呢?这当然与方阵的构造有密切关系,比如可以取适当的二维方阵,使得这个变换的效果就是将平面上的二维向量逆时针旋转30度,这时我们可以问一个问题,有没有向量在这个变换下不改变方向呢?可以想一下,除了零向量,没有其他向量可以在平面上旋转30度而不改变方向的,所以这个变换对应的矩阵(或者说这个变换自身)没有特征向量(注意:特征向量不能是零向量),所以一个特定的变换特征向量是这样一种向量,它经过这种特定的变换后保持方向不变,只是进行长度上的伸缩而已(再想想特征向量的原始定义Ax=cx, cx是方阵A对向量x进行变换后的结果,但显然cx和x的方向相同)。
这里给出一个特征向量的简单例子,比如平面上的一个变换,把一个向量关于横轴做镜像对称变换,即保持一个向量的横坐标不变,但纵坐标取相反数,把这个变换表示为矩阵就是[1 0;0 -1](分号表示换行),显然[1 0;0 -1]*[a b]'=[a -b]'(上标'表示取转置),这正是我们想要的效果,那么现在可以猜一下了,这个矩阵的特征向量是什么?想想什么向量在这个变换下保持方向不变,显然,横轴上的向量在这个变换下保持方向不变(记住这个变换是镜像对称变换,那镜子表面上(横轴上)的向量当然不会变化),所以可以直接猜测其特征向量是[a 0]'(a不为0),还有其他的吗?有,那就是纵轴上的向量,这时经过变换后,其方向反向,但仍在同一条轴上,所以也被认为是方向没有变化,所以[0 b]'(b不为0)也是其特征向量。
综上所述,特征值只不过反映了特征向量在变换时的伸缩倍数而已,对一个变换而言,特征向量指明的方向才是很重要的,特征值似乎不是那么重要;但是,当我们引用了Spectral theorem(谱定律)的时候,情况就不一样了。
Spectral theorem的核心内容如下:一个线性变换(用矩阵乘法表示)可表示为它的所有的特征向量的一个线性组合,其中的线性系数就是每一个向量对应的特征值,写成公式就是:
我们知道,一个变换可由一个矩阵乘法表示,那么一个空间坐标系也可视作一个矩阵,而这个坐标系就可由这个矩阵的所有特征向量表示,用图来表示的话,可以想象就是一个空间张开的各个坐标角度,这一组向量可以完全表示一个矩阵表示的空间的“特征”,而他们的特征值就表示了各个角度上的能量(可以想象成从各个角度上伸出的长短,越长的轴就越可以代表这个空间,它的“特征”就越强,或者说显性,而短轴自然就成了隐性特征),因此,通过特征向量/值可以完全描述某一几何空间这一特点,使得特征向量与特征值在几何(特别是空间几何)及其应用中得以发挥。
矩阵论在图像中的应用比如有PCA方法,选取特征值最高的k个特征向量来表示一个矩阵,从而达到降维分析+特征显示的方法。一般而言,这一方法的目的是寻找任意统计分布的数据集合之主要分量的子集。相应的基向量组满足正交性且由它定义的子空间最优地考虑了数据的相关性。将原始数据集合变换到主分量空间使单一数据样本的互相关性降低到最低点。一下是其运用的原理:
设是N维向量的数据集合,m是其均值向量:
有了特征向量集合,任何数据x可以投影到特征空间(以特征向量为基向量)中的表示:
相反地,任何数据x可以表示成如下的线性组合形式:
如果用A代表以特征向量为列向量构成的矩阵,则AT定义了一个线性变换:
上述去相关的主分量分析方法可以用于降低数据的维数。通过略去对应于若干较小特征值的特征向量来给y降维。例如,丢弃底下N-M行得到的矩阵B,并为简单起见假定均值m=0,则有:
它只是被舍弃的特征向量所对应的特征值的和。通常,特征值幅度差别很大,忽略一些较小的值不会引起很大的误差。
上述方法是图象数据压缩的数学基础之一,通常被称为PrincipalComponent Analysis (PCA)或Karhunen-Loeve (K-L)变换。
K-L变换的核心过程是计算特征值和特征向量,有很多不同的数值计算方法。一种常采用的方法是根据如下的推导:
由于通常s<<N,这种方法将求高阶矩阵的特征向量转化为求较低阶矩阵的特征向量的过程在图象数据分析中是很实用的。
K-L变换是图象分析与模式识别中的重要工具,用于特征抽取,降低特征数据的维数。例如,MIT-Media Lab基于特征脸的人脸识别方法。
通过上述的理论,我们对特征值与特征向量在图像处理上的运用有了深入的了解,同时也感受到了知识的魅力在不停的渲染着我们的生活。当然,特征值的魅力还不仅在于图像处理上,它在物理,材料,力学等方面都能一展拳脚,有人曾在一本线代书里这样说过“有振动的地方就有特征值和特征向量”。同时让我对平时未能把握住的知识感到惋惜,因为知识对生活的改造实在是缤纷乐,所以现在的我们,首要任务还是学好知识,让知识去创造财富!