降维(Dimensionality Reduction)算法
降维的目的:1 数据压缩
对象
这个是二维降一维 三维降二维就是落在一个平面上。blog
2 数据可视化
降维的算法只负责减小维数,新产生的特征的意义就必须由咱们自 己去发现了。排序
主成分分析(PCA)是最多见的降维算法。it
在 PCA 中,咱们要作的是找到一个方向向量(Vector direction),当咱们把全部的数据
都投射到该向量上时,咱们但愿投射平均均方偏差能尽量地小。io
主成分分析与线性回归是两种不一样的算法。主成分分析最小化的是投射偏差(Projected
Error),而线性回归尝试的是最小化预测偏差。线性回归的目的是预测结果,而主成分分析
不做任何预测。图像处理
上图中,左边的是线性回归的偏差(垂直于横轴投影),右边则是主要成分分析的偏差
(垂直于红线投影)。效率
PCA 将𝑛个特征降维到𝑘个,能够用来进行数据压缩,若是 100 维的向量最后能够用 10
维来表示,那么压缩率为 90%。一样图像处理领域的 KL 变换使用 PCA 作图像压缩。但 PCA
要保证降维后,还要保证数据的特性损失最小。
PCA 技术的一大好处是对数据进行降维的处理。咱们能够对新求出的“主元”向量的重要
性进行排序,根据须要取前面最重要的部分,将后面的维数省去,能够达到降维从而简化模
型或是对数据进行压缩的效果。同时最大程度的保持了原有数据的信息。
PCA 技术的一个很大的优势是,它是彻底无参数限制的。在 PCA 的计算过程当中彻底不
须要人为的设定参数或是根据任何经验模型对计算进行干预,最后的结果只与数据相关,与
用户是独立的。
可是,这一点同时也能够看做是缺点。若是用户对观测对象有必定的先验知识,掌握了
数据的一些特征,却没法经过参数化等方法对处理过程进行干预,可能会得不到预期的效果,
效率也不高。数据可视化
PCA 减小𝑛维到𝑘维:
第一步是均值归一化。咱们须要计算出全部特征的均值,而后令 𝑥𝑗 = 𝑥𝑗 − 𝜇𝑗。若是特
征是在不一样的数量级上,咱们还须要将其除以标准差 𝜎2。
第二步是计算协方差矩阵(covariance matrix)𝛴: ∑ = 1 𝑚
∑ (𝑥(𝑖)) 𝑛 𝑖=1 (𝑥(𝑖))𝑇
第三步是计算协方差矩阵𝛴的特征向量(eigenvectors):可视化