1. 数据降维
考虑数据x1=[90, 120, 110, 145]
、x2=[93, 105, 98, 130]
、x3=[86, 110, 88, 120]
是三个学生的成绩。我们可以通过成绩总和sum(xi)
来判断那个学生在学业方面更优秀。这是把4维数据放到1维上,并且使得数据可分。
但是,我想依据后面3门课的成绩总和来判断学业情况。如果可分的话,计算量会少一些。
PCA的降维做法类似于就是从4门课中选择3门课。不过选择的3门课成绩可以是4门课的线性组合。
2. 实现
怎么进行4门课成绩的线性组合呢?一个3×4的权重矩阵 乘以 一个4×1的成绩矩阵,得到3个数。如果这3个数能反映之前的4个数,那么数据降维应该是可以的。
怎么认为这3个数能反映之前的4个数呢?通过一个4×3的权重矩阵 乘以 一个3*1的成绩矩阵。如果结果与原来的4门成绩相近,那么应该是可以反映的。如果结果与原来的4门成绩一样,那么3门成绩就是4门成绩的线性组合。后续的对3门成绩做线性组合可以等效于对4门成绩做线性组合。
为了防止过拟合,做如下正则化:3×4的权重矩阵 和 4×3的权重矩阵 互为转置。
误差定义如下:
WW'
是hermite矩阵,可以实现如下的非奇异分解:接下来求:
因为
V
是酉矩阵,所以相当于进行旋转或反射操作,不改变模大小。所以可以不考虑红色的V
。注意W现在不需要求了,变量是
L和V
。任意改变L
时,最小值时,L
满足接下来求:
因为:
V
不改变模大小。每个V' X
的模是X
的模。所以,最终和是λ。我们应该选择最大的那个λ。所以,
对于普通的d':