数据降维,包括主成分分析PCA和因子分析FA,都离不开特征值和特征向量。今天先不细说特征值和特征向量,先说一说理解数据降维的一个关键概念,线性映射。
看到csdn里很多文章讲特征值与特征向量时,都会先讲讲线性映射,都是按照教科书的思路来讲解的。这里,我换一个角度,给想理解这个概念的朋友一点启发。
希望你读完本文,能够理解这个问题:
它到底是怎么在坐标系里线性变换的?
首先,先说一下旋转通过矩阵是怎么反映的?
在上面这个图里,点A的坐标是(x1, y1),现在将OA顺时针旋转 e 度角,点A被旋转到点A'(x2, y2),请问这时A'的坐标 (x2, y2) 是多少?
我把答案直接给出来,愿意证明的,用中学的三角形知识就可以解出来。旋转后的A‘的坐标变成( x1*cos(e)-y1*sin(e), x1*sin(e)+y1*cos(e) )。它用矩阵形式来表示就是:
所以说,一个方阵乘以这个A点坐标向量,得到的右边的向量,就是旋转后A’点的坐标向量。
上面这个原理,用极坐标和欧拉公式解释也是同样的道理,也就是
然后配合两角和的正弦公式和余弦公式就是同样的结果。
讲完旋转,我们再来讲讲伸缩。
在上面这个图里,点A的坐标是(x1, y1),现在将点A的横坐标变为a倍,将点A的纵坐标也变为a倍,得到点A'(x2, y2)。请问这时A'的坐标 (x2, y2) 是多少?
这个问题的答案就比较好回答了,A'的坐标是 (a*x1, a*y1)。它用矩阵形式来表示就是:
所以说,一个对角阵乘以这个A点坐标向量,得到的右边的向量,就是伸缩后A’点的坐标向量。
明白了这个两个道理后,我想你应该明白了开头的问题,一个方阵乘以一个向量后得到的向量,为什么是一系列的线性转换的操作了。
比如,我们对上面那个点A先旋转,再伸缩,那么用矩阵形式表示就是:
如果我们再不停地旋转、伸缩,上面公式中向量(x1,x2)前面的方阵会再变得复杂,其中有一个就会变成开头问题中的。
明白了这个道理,起码你就知道了的来历,更容易理解线性变换、线性映射的概念了。
当然,这里使用的是一个正交矩阵,所以转换后的坐标系依然是正交的。如果是斜交矩阵,解释起来会更复杂一些。
最后顺便说一下,关于第一个图形,也就是旋转那个图,我们是说“将OA顺时针旋转 e 度角”,请你自己思考一下:它与“将xoy坐标系整体逆时针旋转e度角”是什么关系?点A在xoy坐标轴旋转后的坐标是多少呢?呵呵,理解了这个道理,同时也就理解了坐标轴旋转和矩阵的关系了 : )
(An Actuary)