概述
1.概述
降维算法中的“降维”,指的是:降低特征矩阵中特征的数量。
降维的目的是:让算法运算更快,效果更好,还有另一种需求:数据可视化。
SVD和PCA(主成分分析)是矩阵分解算法中的入门算法。
PCA与SVD
我们希望能够找出一种方法来帮助我们衡量特征上所带的信息,让我们在姜维的过程中,即能够减少特征的数量,又能够保留大部分的信息——将那些带有重复信息的特征合并,并删除那些带有无效信息的特征等——逐渐创造出能够代表原特征矩阵大部分信息的,特征更少的新特征矩阵。
在降维中,PCA使用的信息量衡量指标,即样本方差,又称可解释性方差,房差越大,特征所带的信息量越多。
重要参数:n_components
n_components是我们降维后需要的维度,即降维后需要保留的特征数量。
选择最好的n+components:①累积可解释方差贡献率曲线;②最大似然估计自选超参数;③按信息占比选超参数
PCA中的SVD
SVD即奇异值分解。它可以跳过数学神秘的宇宙,不计算协方差矩阵,直接找到一个新特征向量组成的n维空间。也就是说,奇异值分解可以直接求出新特征空间和降维后的特征矩阵。
sklearn将降维流程拆成了两部分:①计算特征空间V,由奇异值分解完成;②映射数据和求解新特征矩阵,由主成分分析完成。
通过PCA和SVD的合作,实现了“合作降维”,用SVD的性质减少计算量,却让信息量的评估指标是方差。
1.重要属性components_
将新特征空间保存在components_这个属性中
2.重要接口inverse_transform
3.重要案例:用PCA做噪音过滤
带有效信息的特征的方差远大于噪音的,所以相比噪音,有效的特征所带的信息应该不会再PCA过程中被大量抛弃。
inverse_transform能够在不恢复原始数据的情况下,将降维后数据返回到原本的高维空间,即是说能够实现“保证维度,但去掉方差很小特征所带的信息”。利用inverse_transform的这个性质,我们能够实现噪音过滤。
重要接口,参数和属性总结
重要参数:n_components,svd_solver,random_state。
三个重要属性:components_,explanied_variance_以及explanined_variance_ratio_。
接口:fit,transform,fit_transform,inverse_transform。
案例:PCA对手写数字数据集的降维
最后
以上就是重要萝莉为你收集整理的降维算法1.概述PCA与SVD的全部内容,希望文章能够帮你解决降维算法1.概述PCA与SVD所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复