谈谈数据降维

标签:
数据降维 |
分类: 再保险/非传统领域 |
对于无标签的数据,常用的技术之一就是降维。
无论使用Python、R或者SAS,降维所采用的最基本思想就是针对包含信息量太多的高维度数据(其中有很多维度的数据是价值很小的甚至是根本没有价值的)进行维度下降,比如将含有100个特征的高维数据,下降到10各维度或者更少的维度,而在这个过程中尽量减少有价值的信息的减少。
要想理解数据降维,必须先要理解线性代数,这门数学中最抽象的分支学科之一。
实际上,以图像为例,每个图像都是一个矩阵,在降维的过程中,其实是在对一个矩阵通过特征值分解的方法,找到足够个数的特征值及其对应的特征向量,来近似原始的矩阵图像。
就像下面这张原始脸
通过第一特征值近似的脸就是这样
如果我们对近似图像不太满意,认不出这个人了,那么我们可以加入第二特征值、第三特征值......,直到我们可以认出他来。
在图像识别时,能否认出他来是满意的关键,但是机器确不像人脑这样思考问题,它需要一个明确的阙值,以停止这种近似。在技术处理上,通常用近似后的方差与原始的方差的占比来确定这个阙值。有些保守的人愿意用80%的占比作为阙值,有些略微务实的人,愿意用50%作为阙值,还有一种做法是保留所有大于某个数值比如1的特征值。
数据降维的最基本原理,就是矩阵的特征值分解与特征值近似问题,理解了这些原理,才不会被繁杂的技术代码困惑。