我是靠谱客的博主 直率钢笔,最近开发中收集的这篇文章主要介绍降维算法概述引言降维降维的目的降维的方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

引言

在现实世界中,大部分数据是冗余的,以多个低维空间联合分布的形式存在。例如,我们每个人在不同的光和移动模式下的面部图像存在于大约9个子空间维中。手写数字集合MNIST中的单个数字近似存在于一个简单的子空间中,但在三维空间中表示。同时,当今的传感器以及各类移动终端不断地获取数据,数据量和维数都非常大,如何从高维数据中提取和分析数据就显得非常重要。

凡是都具有两面,数据维度高(大量特征)既是优点——数据量越大,特征越多,分析的结果按道理越可信;但是也是缺点——造成“维度灾难”,可能无从下手,同时计算处理时耗费的资源太大。因此需要一种很好的方法来处理高维度数据,在减少维度特征同时,避免丢失太多信息。

下面将从几个方面概述降维:

  • 什么是降维
  • 为什么需要降维
  • 怎么去降维
  • 补充:降维的原理基础

降维

在机器学习领域中所谓的降维就是指——采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。

本质是采用一个映射函数 f : X → Y f:Xrightarrow Y f:XY,其中 X ∈ R n × d X in R^{n times d} XRn×d为原始的 n n n个数据点分布在 d d d维空间中, Y ∈ R n × k Y in R^{n times k} YRn×k为经过映射函数 f f f处理后,原始的 n n n个数据点分布在 k k k维空间中。一般地,类似这种处理形式将 d d d维数据维度转变成 k k k维特征( k < < d k << d k<<d),这就是降维。

dimensionality reduction


降维的目的

降维的目的可以归结为以下几点:
  • 数据压缩。用于减少数据存储需要的空间大小,从存储角度考虑。
  • 数据可视化。如果数据维度很高,可视化会变得相当困难,而绘制二维三维数据的图表非常简单。
  • 去噪。维度降下来意味着我们保留的数据最主要的信息,而那些轻微的细小的相关性一部分而是噪音的影响。从信号处理的领域理解,我们通常认为我们感兴趣的信号具有较大的方差,噪声具有较小的方差,信号与噪声之比称为信噪比,信噪比越大意味着数据质量越好,反之信噪比越小意味着数据质量越差。
  • 提高计算、查询效率和性能。降维获得数据具有更少的特征,但是却保留数据的信息。去除噪声影响下,提高性能。同时更少的数据意味着处理的速度提高。

降维的方法

降维方法按照是否线性和是否有监督来看主要大概可以分为这些:
  • 线性无监督
    • 主成分分析(PCA)
    • 独立成分分析(ICA)
    • 奇异值分解(SVD)
  • 线性有监督
    • 线性判别分析(LDA)
  • 非线性无监督
    • 流形学习(MDS,LLE,ISOMAP算法详解)
      • 多维标度分析(MDS)
      • 局部线性嵌入(LLE)
      • 等距特征映射(ISOMAP)
    • 神经网络
      • 自编码器(Autoencoder)
  • 非线性有监督
    • 基于核函数的学习(KPCA, KICA)

降维的原理基础

关于降维本质可以简单的归纳为:就是把高维数据用低维度表示的问题了。可以通过一个简单的例子(可能不太贴切)。比如,你现在的位置可以用东经多少,北纬多少,海拔多少三个维度信息表示。但其实换一个说法,在卧室这个维度信息也可以表示。随着选择的参照物改变,也就是所谓的数据基变了。

另外,数据 X X X一般是由数据字典(基底) D D D和系数矩阵 A A A,加上一些噪声 E E E构成:
X = D A + E X=DA+E X=DA+E
然而,现实中的许多数据都是冗余的,即低秩的。具体含义是有些维度的特征是没有价值,冗余的,可以用其他维度的特征线性表示。此外,有些维度的数据对于数据的具体应用没有很大价值,即蕴含了数据较少部分的信息。而有些维度特征蕴含关键信息。降维的目的正是基于数据的自身构成特点,通过:

  • 特征选择(过滤法,嵌入法)
  • 线性代数法(奇异值分解,特征分解)
  • 投影(核方法,T-SNE)
  • 深度学习(自编码器)

将处于 d d d维的数据 X ∈ R n × d X in R^{n times d} XRn×d映射到处于 k k k维度空间的 Y ∈ R n × k Y in R^{n times k} YRn×k上。要求 d > > k d>>k d>>k获得蕴含数据大部分信息的 k k k维特征。去掉冗余以及不太重要的维度特征信息。


参考

  • 机器学习(西瓜书)
  • 降维https://zhuanlan.zhihu.com/p/74501834
  • 12种降维方法https://zhuanlan.zhihu.com/p/43225794
  • https://github.com/heucoder/dimensionality_reduction_alo_codes

最后

以上就是直率钢笔为你收集整理的降维算法概述引言降维降维的目的降维的方法的全部内容,希望文章能够帮你解决降维算法概述引言降维降维的目的降维的方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部