细节内容请关注微信公众号:运筹优化与数据科学
ID: pomelo_tree_opt
Outline
-
classical matrix
-
matrix operations
-
features of matrix
-
determinant, trace, eigen, definite matrix
-------------------------
首先是一些特殊结构的矩阵
-
Square matrix就是方阵,相比于rectangular matrix,方阵有很多特点,
-
对角矩阵,diagonal matrix, 就是只有主对角元素,其他元素均为0
-
上三角矩阵,upper triangular matrix, 就是主对角线下面的元素都是0
-
下三角矩阵,lower triangular matrix, 就是主对角线上面的元素都是0
-
单位矩阵,identity matrix, 就是对角矩阵,且主对角线元素均为1.
-
对称矩阵,symmetric matrix
-------------------------------
一些思考:为什么要关心这些特殊结构?有什么特殊信息隐含在其中吗?或者说这些结果能够帮助我们处理什么问题吗?
这些矩阵能代表一些特殊的含义,一些特殊的变换动作。
-------------------------------
某个向量左乘一个对角矩阵,类似于加权操作,相当于向量x的每个元素都乘了一个系数。
-------------------------------
半正定矩阵,可以转化为一个下三角矩阵乘一个上三角矩阵的形式,似乎是把两个方向的内容变成单方向来处理,sequential processing.
上三角矩阵,或下三角矩阵,分别代表了某种数据处理的方向。
-
一个向量左乘一个上三角矩阵,得到的结果还是个向量,从形式上看,是着重在对原向量的上半部分进行变化。
-
一个向量左乘一个下三角矩阵,就是在对原向量的下半部分进行各种变化。
-------------------------------
单位矩阵的一个主要用处就是用来寻找inverse,矩阵的逆矩阵。
如果矩阵本身代表一种transform, 那么inverse就代表了反向transform, 就是做适当处理,还可以转回来。当然矩阵求逆,前提是方阵,只有方的东西才有inverse. 当然还要满足一些别的条件,否则不能求逆,或者说很难求逆,类似求个倒数,分母太小不行,容易出现计算上的问题。
-------------------------------
对称矩阵,symmetric, 就是横摆、竖摆无所谓。
反对称矩阵,skew symmetric, 横摆、竖摆只是存在正负号上的差异。
-------------------------------
======================
2. matrix operations
矩阵的一些基本操作
一个矩阵的转置,一个矩阵乘一个标量,两个矩阵相加,两个矩阵相乘,
两个矩阵之间是什么关系也是通过两个矩阵之间的操作来说明的,尤其是这个相乘的操作。类比于通过两个向量的内积来刻画两个向量之间的关系似的。
-------------------------------
思考问题,向量*矩阵,矩阵*矩阵,究竟是在做什么事情?
---------------------------
前面说过了两个向量的内积是在讲这两个向量有多么linearly independent, 两者的correlation有多少,有多相关。那么一个向量*一个矩阵呢?两个矩阵相乘呢?
--------------------------
-----------------------------
接下来是两个矩阵相乘
结果形式就是(column vector * row vector) + (column vector * row vector) + …
一个列向量*一个行向量会得到一个矩阵,rank=1的矩阵,(这样得出来的每个小矩阵的rank=1,可以自己动手试试)。这个四的表现形式就是C可以由一堆rank=1的matrix加起来,所以是sum of rank-1 matrices的形式。
而且这个四与向量*向量关联了起来。
矩阵*矩阵的东西是一个关键点,尤其是最后这个四,两个矩阵的乘积其实可以转换为一些矩阵相加,这个本身是有分解的思想在里面。一个矩阵可能写成另外两个矩阵相乘的形式,两个矩阵又可以写成一大堆矩阵相加的形式,这样就变相的把一个矩阵实现了分解。
======================
3. feature of matrix
(1) 首先是行列式determinant
行列式其实是一个指标,来标定矩阵的一些特性,代数上是表示矩阵是否可逆,几何上是表示parallelotope的体积
-
行列式不为0,则方阵可逆invertible, 等价于行或者列linearly independent.
-
行列式的绝对值代表了由矩阵A的列向量构成的超平行体的体积。
-
如果行列式为0,说明parallelotope没有体积,也就是没有展开。矩阵的列向量是线性依赖的。
看图说话
行列式的绝对值不为0,表示平行四边形的两条边不平行,所以可以做出来平行四边形。行列式不光告诉我们很多资料invertible, independent, 还告诉我们超平行体的体积。如果行列式为0,说明没有体积了,在n维空间里,不能构成超平行体,所以一定是退化了。列向量一定不是相互独立的
To sum up, 一堆资料组成的矩阵行列式不为0,表示invertible, independent, 可以构成一个坚实的parallelotope.
---------------------------
(2) 然后是矩阵的迹 trace
Trace其实就是矩阵的主对角元素之和。问题是这个主对角元素之和代表了什么?
-------------------------------
一些思考,迹到底是什么东西,有什么用?
What is the geometric meaning of the trace of a matrix?
首先,对于方阵而言,迹其实是特征值之和。
其次,对于一个rectangular matrix A而言,左乘一个转置,或者右乘一个转置,都可以变成一个方阵,这个新的方阵的迹被称为Forbenius norm, norm就是范数。
Norm原来是vector上的概念,类比到矩阵上,一个方阵的迹可以看作是类似norm的东西。Matrix的norm又是另外一码事。
----------------------------------
(3) Eigenvalue, eigenvector
对一个矩阵而言,它的determinant很重要,表示一种测度,它的trace也很重要,其实本质上讲这两个东西之所以重要是因为它们与eigen有关
对于一个square matrix而言,其实最重要、最核心、最本质的东西是eigenvalue and eigenvector.
Eigen-“本我”、“本源”,德语
Eigenvalue本值、特征值,eigenvector本源向量、特征向量
计算过程就是这些,问题是这些东西到底是什么东西,geometric meaning是什么
首先eigenvalue和eigenvector是配套的,有了特征值之后才能算特征向量。
一个矩阵A乘一个向量u,从前面矩阵*向量的角度去理解,就是这个向量u在做linear transformation, 旋转伸缩再旋转,而
,后者只是在做伸缩,并没有任何旋转的操作。
换个角度来看,u是A的eigenvector, 就是A作用到u上去,u不用旋转了,只是沿着自己的方向放大缩小而已。如果是负的,就走反方向。
-------------------------------------
所以这个u是eigenvector, 本我向量,本源向量,从A的角度来看,不需要旋转了。A的作用本质上只是在u上放大缩小而已。A找到了的这个方向,在这个方向上,它不需要旋转,只是放大缩小而已,而这个放大缩小的程度就是\lambda.
---------------------------------
Trace和determinant之所以重要就是因为两个分别是所有eigenvalue的和与乘积。所以从本质上讲determinant and trace都是在说eigenvalue的大小。Determinant and trace都是用eigenvalue构造出来的,用于表述matrix在运作上的一些意义。
--------------------------------
(4) Definite matrix
正定、半正定、负定、半负定
类似于一个数,可以判断是正数还是负数一样,一个矩阵,我们可以判断它是正定还是负定。正定负定这个主要是用在quadratic programming, 二次规划中判断目标函数是凸函数,还是非凸的。因为二次函数,二次项那些东西都可以转变成类似
的形式,Q正定负定决定了是凸还是非凸。
正定负定这些东西除了在二次规划中,别的地方用的较少。这里讲这个是为了说明,这些其实与eigenvalue也是息息相关的。
-
1-4是说可以用特征值来判断矩阵是正定还是负定。
-
5是类似于对于一个大于等于0的数,我们可以求平方根一样。对于一个半正定的矩阵M,我们也可以找到一个方阵B,M=B^TB的形式。
-
6是个比较有用的性质。A是一个m*n的矩阵,左乘个转置和右乘个转置都是对称方阵,其实是由A构成的covariance matrix, 协方差矩阵,这两个新矩阵都是psd半正定矩阵,特征值都大于等于0. 特别是,如果A是满秩矩阵,行或者列都是linearly independent, 那么新构成的这两个矩阵都是正定矩阵,特征值都大于0.
稍微扩展一点,对于一笔数据A,我们分析A的大小是看A^TA或者AA^T, 其实是分析A的covariance matrix in terms of A’s row space or column space. 如果A是full rank的,协方差矩阵就都是正定的。如果A不是full rank的,协方差矩阵就都是半正定的。
===================
总结一下
-
matrix的operation,要理解matrix*vector, matrix*matrix的不同形式代表了不同的含义。
-
matrix的determinant, trace, definite都与eigenvalue有关,eigenvalue与eigenvector是matrix最核心的东西。知道了特征值,就可以知道很多信息。
-
行列式其实是一堆特征值的乘积;如果有特征值为0,那么行列式为0,意味着matrix是退化的,linearly dependent, 不能invertible. 反过来讲,如果行列式不为0,则每个特征值都不为0.
-
迹是一堆特征值的和。
-
一个矩阵是否psd可以由eigenvalue来确定。