文章目录
一、What is about PCA?
PCA——Principal Components Analysis, it is an algorithm of unsupervised learning。为了更好的理解PCA,用下面例子来说明PCA的工作原理。
若在二维平面上有一组未被标签的数据,如图所示:
我们试图找一条直线或一个平面,或其他维的空间,然后对数据进行投影,以最小化投影误差的平方。即使下方蓝色线段平方的和最小。
所以找出这条直线的过程就是PCA算法实现的过程。
注:要区别开来linear regression algorithm与PCA algorithm,虽然他们两个原理有点类似,但还是不一样的。如下图所示:
二、PCA algorithm
降维:
下图是二维降一维的例子:
即也可以重构原来的点:
三、Choosing the number of principal components (k)
四、Application of PCA
-
Data compression
-
Speed up learning algorithm
在某些情况下应用PCA可以加快学习算法的执行效率。注:应用PCA仅仅应用在training set上,不能用在cross-validation和test set上。PCA大概可以减少数据的1/5或1/10。
- Visualization
五、Bad use of PCA
- To prevent overfitting
此方法可能防止过拟合的效果也很好,但还有一种更好的方法来解决:Regularization。
因为PCA doesn’t use the lable y, just use inputs x. It will throw away some information and don’t care about what the values of y is.如果99%或95%的方差信息被保留,使用PCA是可以的。但也可能去掉一些有价值的信息。
- People sometimes use PCA where it shouldn’t be.
所以在使用PCA之前,首先尝试用x,否则除非你有理由相信这样做无效,必须要用到PCA。