社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

深度学习知识点汇总-机器学习基础(10)

深度学习模型优化 • 4 年前 • 190 次点击  

2.10 主成分分析的思想是什么?

主成分分析(PCA)是将高维的数据通过线性变换投影到低维空间,这种变换没有损失原来数据的主要信息,和自编码器的思想类似等等类似。注意这里是使用线性变换将高维数据投影到低维空间。

核心思想:找出最能够代表原始数据的投影方法。被PCA降掉的那些维度只能是那些噪声或是冗余的数据。

  • 去冗余:去除可以被其他向量代表的线性相关向量,这部分信息量是多余的或者说冗余的。
  • 去噪声,去除较小特征值对应的特征向量,特征值的大小反映了变换后在特征向量方向上变换的幅度,幅度越大,说明这个方向上的元素差异也越大,要保留。
  • 对角化矩阵,寻找极大线性无关组,保留较大的特征值,去除较小特征值,组成一个投影矩阵,对原始样本矩阵进行投影,得到降维后的新样本矩阵。
  • 完成PCA的关键是协方差矩阵。协方差矩阵,能同时表现不同维度间的相关性以及各个维度上的方差。协方差矩阵度量的是维度与维度之间的关系,而非样本与样本之间。
  • 做对角化是因为对角化之后非对角上的元素都是0,达到去噪声的目的。对角化后的协方差矩阵,对角线上较小的新方差对应的就是那些该去掉的维度。所以我们只取那些含有较大能量(特征值)的维度,其余的就舍掉,即去冗余。

PCA可解决训练数据中存在数据特征过多或特征累赘的问题。核心思想是将m维特征映射到n维(n < m),这n维形成主要成分,是重构出来最能代表原始数据的正交特征。这种方法和压缩不一样,PCA没有重构的要求,但是有保留主要成分的思想。

图1 PCA思想示意图

如图1所示,假设数据集是mn维,(\boldsymbol x^{(1)}, \boldsymbol x^{(2)}, \cdots, \boldsymbol x^{(m)})。如果n=2,需要降维到n'=1,现在想找到某一维度方向代表这两个维度的数据。图1中有u_1, u_2两个向量方向,但是哪个向量才是我们所想要的,可以更好代表原始数据集的呢?这里降维就是2降到1,是必要的。

从图1可看出,u_1u_2好,这里有以下两个主要评价指标(两个原则):

  • 样本点到这个直线的距离足够近。
  • 样本点在这个直线上的投影能尽可能的分开。

如果我们需要降维的目标维数是其他任意维,则:

  • 样本点到这个超平面的距离足够近。
  • 样本点在这个超平面上的投影能尽可能的分开。
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/33099
 
190 次点击