社区所有版块导航
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学习  »  机器学习算法

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

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

2.12 降维的必要性及目的

降维的必要性

  • 多重共线性和预测变量之间相互关联。
    多重共线性会导致解空间的不稳定,从而可能导致结果的不连贯。
  • 高维空间本身具有稀疏性。
    一维正态分布有68%的值落于正负标准差之间,而在十维空间上只有2%。
  • 过多的变量,对查找规律造成冗余麻烦。
  • 仅在变量层面上分析可能会忽略变量之间的潜在联系。
    例如几个预测变量可能落入仅反映数据某一方面特征的一个组内。

降维的目的

  • 减少预测变量的个数。
  • 确保这些变量是相互独立的。
  • 提供一个框架来解释结果。
    相关特征,特别是重要特征更能在数据中明确的显示出来;如果只有两维或者三维的话,更便于可视化展示。
  • 数据在低维下更容易处理、更容易使用。
  • 去除数据噪声。
  • 降低算法运算开销。

KPCA与PCA

KPCA用到了核函数思想,使用了核函数的主成分分析一般称为核主成分分析(Kernelized PCA, 简称KPCA)。

思想:应用PCA算法前提是假设存在一个线性超平面,可以实现投影。
如果数据不是线性的话,就需要使用KPCA,

  • 首先数据集从 n 维映射到线性可分的高维 N >n
  • 然后再从N 维降维到一个低维度 n'(n'<n<N)

假设高维空间数据由 n 维空间的数据通过映射 \phi 产生。

n 维空间的特征分解为:
\sum^m_{i=1} x^{(i)} \left( x^{(i)} \right)^T W = \lambda W

​其映射为
\sum^m_{i=1} \phi \left( x^{(i)} \right) \phi \left( x^{(i)} \right)^T W = \lambda W

​通过在高维空间进行协方差矩阵的特征值分解,然后用和PCA一样的方法进行降维。由于KPCA需要核函数的运算,因此它的计算量要比PCA大很多。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/33170
 
211 次点击