主成分分析(PCA)中的误差表示
博客专区 > JiaMing 的博客 > 博客详情
主成分分析(PCA)中的误差表示
JiaMing 发表于3年前
主成分分析(PCA)中的误差表示
  • 发表于 3年前
  • 阅读 1148
  • 收藏 2
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: 主成分分析(PCA)中的误差表示

给定nm维样本(1), X(2),…,X(n),假设我们的目标是将这n个样本从m维降低到k维,并且尽可能保证这种降维的操作不会产生很大的代价(重要信息的丢失)。换句话说,我们要把n个样本点从m维空间投影到k维空间。对于每一个样本点,我们都可以用下式表示此投影过程:

 

        Z=ATX                                                                       (1)

其中Xm维样本点, Z 是投影后得到的k维样本点,A是一个 m * k 的矩阵。

 

回顾一下,如果采用主成分分析法(PCA)来进行降维的话,我们首先求出样本的均值:

再求出散布矩阵(scatter matrix):

接着求得散布矩阵Sk大特征值所对应的特征向量s1,s2,…,sk,然后对s1,s2,…,skk个向量进行单位化,即使得||s1||=||s2||=…=||sk||=1,最后得到式(1)中的矩阵A

                                                                                                                (2)

 

例子: 为了更直观地从几何上理解式(1)的含义,我们以一组2维数据作为例子,在这个例子当中,我们使用PCA的方法将这组2维数组降到1维。矩阵A所存储的这些特征向量,实际上降维后的是新坐标轴,而在这个例子当中,我们得到的是一个新的1维坐标轴。如图1所示,图中的红色叉点代表2维样本点垂直投影到这个新坐标轴上的点。对于每一个2维空间上的样本点X,只要我们将它代入式(1)就可以计算出其降维后的表达(在这个例当中,则是一个1维的向量,即一个值):

                                                 (3)

 

      

                                            图1  10个样本点在2维空间上的表达


而式(3)算出来的这个值,实际上是这些投影点离原点的距离。因此,我们可以画出一个数轴来表示这个新的坐标轴,再根据式(3)算出来的这些值,在数轴上标出它们的位置,如图2所示。

       

                                           图2  10个样本点降到1维空间后的表达

这一组样本点降维后所产生的损失,可以通过下式来计算:

                                                                                             (4)

为了理解式(4),我们首先需要理解AATX(i)。回顾刚刚所说的,计算ATX(i)所得到的,实际上是样本点在低维空间上的表达(参考图2)。相对而言,X(i)是样本点在高维空间上的表达。然而,我们知道不同纬度空间的点是无法做比较的,举例来说,一个在2维空间上的点(x1, x2)是无法跟一个在1维空间上(y1)的点做比较的,因为它们纬度不一样(它们的所存在的世界不一样,它们不在同一个世界里)。

 

为了对2个不同纬度的样本点作比较,我们需要将它们放在同一个纬度空间下。一种合理的做法是,将低维空间上的点投影到高维空间,并假设高纬度的值为0。AATX(i)所做的工作就是把降维后的样本点反投影到高维空间上。以刚刚所举的例子来说,ATX(i)是图2上的叉点,而AATX(i)实际上是图1中直线(新坐标轴)上的叉点。

      值得注意的是,图2和图1上的这些叉点是一一对应的,无论在高维空间上还是在低维空间上,它们离原点的距离是不变的(仔细观察图1和图2中叉点离原点的距离)。我们仍然可以围绕这个例子,从理论上证明这一点,首先假设其中一个样本点 X降维后的表达为 Z=[s1x1+s2x2],那么对它从低维到高维(在此例中,是从1维到2维)的反向投影为:

 

                                                  (5)

 

现在,我们来证明式(5)中的Xapprox所表示的就是图1中的叉点。要证明这一点,我们需要证明两样东西:①Xapprox到原点的距离与Z到原点的距离相等,即||X||=||Z|| ②Xapprox在高维空间的超平面上(在此例中,高维空间是2维空间,低维空间是1维空间,超平面是一条直线)。

 

证明

                      

 

由于s经过单位化,即||s||=s12+s22=1,所以||Xapproax||=(s1x1+s2x2)2=||Z||,证毕.

证明

首先要得到超平面的一般表达式,而要得到超平面的一般表达式,就要计算出超平面所对应的法向量n,在此例中,法向量满足nTs=0,其中sT=[s1, s2]。我们可以得到n=[-s2/s1, 1],则超平面的一般表达式为(-s2/s1)x­1+x2=0。将XapproxT=[s1(s1x1+s2x2), s2(s1x1+s2x2)]代入(-s2/s1)x­1+x2,得到(-s2/s1)*s1(s1x1+s2x2)+s2(s1x1+s2x2)=-s2(s1x1+s2x2)+s2(s1x1+s2x2)=0,说对于任意的Xapprox,都在超平面上,证毕.

回到式(4)当中,L所计算的是每个样本点在高维空间投影到低维空间后的距离总和。

 

 

 

共有 人打赏支持
粉丝 9
博文 34
码字总数 13983
×
JiaMing
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: