数据集的结构
以下全部认定数据集为而一张二维表格,每一行代表一个样本,每一列表示一个维度(属性)
概述
高维数据并非所有维度都具有很高的价值,可能存在“无用的维度”,因为数据的获取是任意的。比如我们在研究运动员的各项生理指标以期按人种进行分类时,若样本数据集中将手的只数作为一个维度记录了下来,那么基本上所有样本在这一维度取值都相同,这体现了数据的冗余性,就可以认为该维度为一个无效的维度。但实际上不会有这种可以直接剔除的无用维度。<br>如何从众多维度中提取有信息价值的维度保留下来呢?PCA算法的回答是,最先被选取的维度是在其上的投影具有最大方差的维度,而之后在保证正交性之后,选取方差第二大、第三大...的维度。将高维数据集投影到这些维度,投影的值(多个维度时为投影所得的向量)就是主成分。我们将主成分与代表各维度的投影基底相乘,便得到了降维后的数据集。<br>
基本原理
简单来说:PCA的原理就是找到投影矩阵W的原理,为了使得Y=WX具有最大的方差,我们则需要W满足它是X的协方差矩阵的本征向量<br>
PCA算法的另一种理解为SVD分解,AV = UΣ,A=UΣVT。<br>由极分解定理保证任何一个方阵都可以SVD分解:因为A方阵对应的算子一定可以写成一个等距同构复合一个正算子,进一步可以推广到非方阵。<br>从奇异值分解来理解,A可以写成r个秩一的矩阵的和,其中r为A的秩,V的每一个列向量(即A的右奇异向量)都是一个主成分,U的每一个列向量都是是主成分的对应维度的方向向量(后称为主方向)。奇异值的大小表示这个秩一矩阵的重要性。所以我们只要由大到小选取目标维数个的奇异值,以及对应的左奇异向量,就可以获得降维的数据了——即将原数据集A的转置乘以由主方向矩阵,即U(左奇异向量集),获得的就是降维后的数据的转置。<br>