平均平方映射误差 (Average Squared Projection Error) : PCA 就是要将该量最小化。它是原始数据x和映射值 x_approx(i) 之间的平方差。
数据的总变差 (Total Variation):它是这些样本x(i)的长度的平方的均值。
一个常见的选择K值的经验法则是选择能够使得它们(平均平方映射误差、数据的总变差)之间的比例小于等于0.01的最小的k值。0.01用PCA的语言说就是保留了99%的差异性。我选择了参数k使得99%的差异性得以保留。
k的选择
大部分现实中的数据,许多特征变量都是高度相关的,所以实际上大量压缩数据是可能的,而且仍然会保留99%或95%的差异性。
K的实现办法:
1.从k=1开始, 检查是否满足这个表达式,是否小于0.01,以此类推
2.调用svd 来计算,矩阵U S V的矩阵S进行计算
矩阵S是一个正方形矩阵,是一个 n×n 的对角矩阵。对角线上的元素是s11 s22 s33 一直到 snn。它们是矩阵中仅有的非零元素,对角以外的其他元素都是0。从 i=1 到 k 对 Sii 求和, 从 i=1 到 n 对 Sii 求和,判断这两个求和值的比值是否是否大于等于0.99,或者1减去它们的比值是否小于0.1。慢慢地增大k值,把k值设为1,2,3 …以此类推,并检验这个数值。
K的实现
K的实现