本篇内容主要讲解“PCA中的误差表示方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PCA中的误差表示方法是什么”吧!
给定n个m维样本X(1), X(2),…,X(n),假设我们的目标是将这n个样本从m维降低到k维,并且尽可能保证这种降维的操作不会产生很大的代价(重要信息的丢失)。换句话说,我们要把n个样本点从m维空间投影到k维空间。对于每一个样本点,我们都可以用下式表示此投影过程:
Z=ATX (1)
其中X是m维样本点, Z 是投影后得到的k维样本点,A是一个 m * k 的矩阵。
回顾一下,如果采用主成分分析法(PCA)来进行降维的话,我们首先求出样本的均值:
再求出散布矩阵(scatter matrix):
(2)
例子: 为了更直观地从几何上理解式(1)的含义,我们以一组2维数据作为例子,在这个例子当中,我们使用PCA的方法将这组2维数组降到1维。矩阵A所存储的这些特征向量,实际上降维后的是新坐标轴,而在这个例子当中,我们得到的是一个新的1维坐标轴。如图1所示,图中的红色叉点代表2维样本点垂直投影到这个新坐标轴上的点。对于每一个2维空间上的样本点X,只要我们将它代入式(1)就可以计算出其降维后的表达(在这个例当中,则是一个1维的向量,即一个值):
图1 10个样本点在2维空间上的表达
而式(3)算出来的这个值,实际上是这些投影点离原点的距离。因此,我们可以画出一个数轴来表示这个新的坐标轴,再根据式(3)算出来的这些值,在数轴上标出它们的位置,如图2所示。
(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维)的反向投影为:
由于s经过单位化,即||s||=s12+s22=1,所以||Xapproax||=(s1x1+s2x2)2=||Z||,证毕.
证明②:
首先要得到超平面的一般表达式,而要得到超平面的一般表达式,就要计算出超平面所对应的法向量n,在此例中,法向量满足nTs=0,其中sT=[s1, s2]。我们可以得到n=[-s2/s1, 1],则超平面的一般表达式为(-s2/s1)x1+x2=0。将XapproxT=[s1(s1x1+s2x2), s2(s1x1+s2x2)]代入(-s2/s1)x1+x2,得到(-s2/s1)*s1(s1x1+s2x2)+s2(s1x1+s2x2)=-s2(s1x1+s2x2)+s2(s1x1+s2x2)=0,说对于任意的Xapprox,都在超平面上,证毕.
回到式(4)当中,L所计算的是每个样本点在高维空间投影到低维空间后的距离总和。
到此,相信大家对“PCA中的误差表示方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。