主成分分析

From Ufldl

Jump to: navigation, search
(PCA on Images 对图像数据应用PCA算法)
(Number of components to retain 选择主成分个数)
Line 430: Line 430:
【初译】:接下来的问题是我们如何选择<math>\textstyle k</math>,即有多少个PCA主成分值得保留?在我们这个简单的二维实验中,保留第一个成分是十分自然的选择,但对于高维数据来说,做这个决定就没那么简单:如果<math>\textstyle k</math>过大,我们便没有多少有效压缩,如果是极限情况<math>\textstyle k=n</math>,我们等同于在使用原始数据(只是旋转投射到了一组不同的基);相反地,如果<math>\textstyle k</math>过小,那我们使用的近似值也可能带来很大的近似误差。
【初译】:接下来的问题是我们如何选择<math>\textstyle k</math>,即有多少个PCA主成分值得保留?在我们这个简单的二维实验中,保留第一个成分是十分自然的选择,但对于高维数据来说,做这个决定就没那么简单:如果<math>\textstyle k</math>过大,我们便没有多少有效压缩,如果是极限情况<math>\textstyle k=n</math>,我们等同于在使用原始数据(只是旋转投射到了一组不同的基);相反地,如果<math>\textstyle k</math>过小,那我们使用的近似值也可能带来很大的近似误差。
-
【一审】:
+
【一审】:接下来的问题是我们如何选择<math>\textstyle k</math>,即有多少个PCA主成分值得保留?在我们这个简单的二维实验中,保留一个成分是十分自然的选择,但对于高维数据来说,做这个决定就没那么简单:如果<math>\textstyle k</math>过大,我们便没有多少有效压缩,如果是极限情况<math>\textstyle k=n</math>,我们等同于在使用原始数据(只是旋转投射到了一组不同的基);相反地,如果<math>\textstyle k</math>过小,那我们很可能比较差的近似数据。
【二审】:
【二审】:
Line 444: Line 444:
【初译】:在决定<math>\textstyle k</math>的过程中,我们通常会计算不同<math>\textstyle k</math>值可保留的方差百分比,具体来说,如果<math>\textstyle k=n</math>,那么我们得到的是对数据的完美近似,也就是保留了100%的方差,即原始数据的所有变化特性(variation)都被保留下来;如果<math>\textstyle k=0</math>,那么我们是在使用零向量来近似输入数据,因此也就只有0%的方差可以被保留。
【初译】:在决定<math>\textstyle k</math>的过程中,我们通常会计算不同<math>\textstyle k</math>值可保留的方差百分比,具体来说,如果<math>\textstyle k=n</math>,那么我们得到的是对数据的完美近似,也就是保留了100%的方差,即原始数据的所有变化特性(variation)都被保留下来;如果<math>\textstyle k=0</math>,那么我们是在使用零向量来近似输入数据,因此也就只有0%的方差可以被保留。
-
【一审】:
+
【一审】:为了决定<math>\textstyle k</math>值,我们通常会计算不同<math>\textstyle k</math>值可保留的方差百分比,具体来说,如果<math>\textstyle k=n</math>,那么我们得到的是对数据的完美近似,也就是保留了100%的方差,即原始数据的所有变化特性(variation)都被保留下来;如果<math>\textstyle k=0</math>,那么我们是在使用零向量来近似输入数据,因此也就只有0%的方差可以被保留。
【二审】:
【二审】:
Line 456: Line 456:
【初译】:更一般的情况,假设<math>\textstyle \lambda_1, \lambda_2, \ldots, \lambda_n</math>表示<math>\textstyle \Sigma</math>的特征值(按由大到小顺序排列),则<math>\textstyle \lambda_j</math>为对应于特征向量<math>\textstyle u_j</math>的特征值,如果我们保留前<math>\textstyle k</math>个成分,则保留的方差百分比可计算为:
【初译】:更一般的情况,假设<math>\textstyle \lambda_1, \lambda_2, \ldots, \lambda_n</math>表示<math>\textstyle \Sigma</math>的特征值(按由大到小顺序排列),则<math>\textstyle \lambda_j</math>为对应于特征向量<math>\textstyle u_j</math>的特征值,如果我们保留前<math>\textstyle k</math>个成分,则保留的方差百分比可计算为:
-
【一审】:
+
【一审】:更一般的情况,假设<math>\textstyle \lambda_1, \lambda_2, \ldots, \lambda_n</math>表示<math>\textstyle \Sigma</math>的特征值(按由大到小降序排列),则<math>\textstyle \lambda_j</math>为对应于特征向量<math>\textstyle u_j</math>的特征值,如果我们保留前<math>\textstyle k</math>个主成分,则保留的方差百分比可计算为:
【二审】:
【二审】:
Line 471: Line 471:
【初译】:在我们的二维实验中,<math>\textstyle \lambda_1 = 7.29</math>,<math>\textstyle \lambda_2 = 0.69</math>,保留前<math>\textstyle k=1</math>个主成分,也等于我们保留了<math>\textstyle 7.29/(7.29+0.69) = 0.913</math>,即91.3%的方差。
【初译】:在我们的二维实验中,<math>\textstyle \lambda_1 = 7.29</math>,<math>\textstyle \lambda_2 = 0.69</math>,保留前<math>\textstyle k=1</math>个主成分,也等于我们保留了<math>\textstyle 7.29/(7.29+0.69) = 0.913</math>,即91.3%的方差。
-
【一审】:
+
【一审】:上面我们的二维实验中,<math>\textstyle \lambda_1 = 7.29</math>,<math>\textstyle \lambda_2 = 0.69</math>,保留前<math>\textstyle k=1</math>个主成分,也等于我们保留了<math>\textstyle 7.29/(7.29+0.69) = 0.913</math>,即91.3%的方差。
【二审】:
【二审】:
Line 487: Line 487:
【初译】:虽然对保留方差的百分比进行更规范的定义已超出了本教程的范围,但退一步说,因可以证明<math>\textstyle \lambda_j =
【初译】:虽然对保留方差的百分比进行更规范的定义已超出了本教程的范围,但退一步说,因可以证明<math>\textstyle \lambda_j =
-
\sum_{i=1}^m x_{{\rm rot},j}^2</math>,如果 <math>\textstyle \lambda_j \approx 0</math>,则说明<math>\textstyle x_{{\rm rot},j}</math>基本接近于0,将其赋值为常数0因而并不会产生较大损失,这也解释了为什么要保留排名靠前的主成分(对应值较大的<math>\textstyle \lambda_j</math>)而不是末尾的那些, 这些排名靠前的主成分<math>\textstyle x_{{\rm rot},j}</math>方差更大,值也较大,如果设为0将引入较大的近似误差。
+
\sum_{i=1}^m x_{{\rm rot},j}^2</math>,如果<math>\textstyle \lambda_j \approx 0</math>,则说明<math>\textstyle x_{{\rm rot},j}</math>基本接近于0,将其赋值为常数0因而并不会产生较大损失,这也解释了为什么要保留排名靠前的主成分(对应值较大的<math>\textstyle \lambda_j</math>)而不是末尾的那些, 这些排名靠前的主成分<math>\textstyle x_{{\rm rot},j}</math>方差更大,值也较大,如果设为0将引入较大的近似误差。
-
【一审】:
+
【一审】:虽然对保留方差的百分比进行更规范的定义已超出了本笔记的范围,但很容易判断,<math>\textstyle \lambda_j =
 +
\sum_{i=1}^m x_{{\rm rot},j}^2</math>,如果<math>\textstyle \lambda_j \approx 0</math>,则说明<math>\textstyle x_{{\rm rot},j}</math>基本接近于0,将其赋值为常数0因而并不会产生较大损失,这也解释了为什么要保留排名靠前的主成分(对应值较大的<math>\textstyle \lambda_j</math>)而不是末尾的那些, 这些排名靠前的主成分<math>\textstyle x_{{\rm rot},j}</math>方差更大,值也较大,如果设为0将引入较大的近似误差。
【二审】:
【二审】:
Line 511: Line 512:
对于其它的应用,如果不介意引入的误差稍大,那保留方差百分比在90-98%范围内可能都合理。若向他人介绍PCA算法,告诉他们你选择的<math>\textstyle k</math>是为了保留95%的方差相较于直接告诉他们你保留了前120个(或任意某个数字)主成分也更便于他人理解。
对于其它的应用,如果不介意引入的误差稍大,那保留方差百分比在90-98%范围内可能都合理。若向他人介绍PCA算法,告诉他们你选择的<math>\textstyle k</math>是为了保留95%的方差相较于直接告诉他们你保留了前120个(或任意某个数字)主成分也更便于他人理解。
-
【一审】:
+
【一审】:处理图像数据时,一个惯常的经验法则是选择<math>\textstyle k</math>以保留99%的方差,换一句话说,我们选择所有满足以下条件的<math>\textstyle k</math>中的最小值:
 +
:<math>\begin{align}
 +
\frac{\sum_{j=1}^k \lambda_j}{\sum_{j=1}^n \lambda_j} \geq 0.99.
 +
\end{align}</math>
 +
对于其它的应用,如果不介意引入的误差稍大,那保留方差百分比在90-98%范围内可能都合理。若向他人介绍PCA算法,告诉他们你选择的<math>\textstyle k</math>是为了保留95%的方差相较于直接告诉他们你保留了前120个(或任意某个数字)主成分也更便于他人理解。
【二审】:
【二审】:
-
 
== PCA on Images 对图像数据应用PCA算法 ==
== PCA on Images 对图像数据应用PCA算法 ==

Revision as of 21:44, 11 March 2013

Personal tools