机器学习基础—降维(1)

2,792 阅读3分钟

「这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战

提到降维大家第一个会想到 PCA 会想到编码器和解码器已经词向量这些降维方法,不过今天我们可能不会谈一些具体降维方法,而是站在以一定高度地去看降维。

其实我们做分类问题时候,通常都会用到距离的概念,为什么要降维呢? 通常我们的数据都是高维数据,而且在高维空间内我们的数据都是稀疏的。

维度即使维度特征 2n2^n 增加一个维度,数据量就成指数增长

其实机器学习中降维方法很多,不过我们大致可以将他们分为两个大类别,

矩阵因式分解(Matrix Factorization)

  • Principal Component Analysis
  • Sparse PCA
  • Linear Autoencoder
  • Latent Dirichlet Allocation
  • Non-negative Matrix Factorization
  • Generalised Low Rank Models
  • Word2Vec
  • GloVe
  • Probalistic PCA

矩阵因式分解实际上是指这一大类技术,从主题建模到 Word2Vec,普通的 PCA,以及其他各种概率技术,涵盖了大量的算法,这些大量算法都基于一种非常简单的基本单一矩阵因式分解框架下。

好吧,矩阵因式分解的目标是,我们想把一个矩阵表达为两个小矩阵的近似乘积,这就是我们要做的,所以在降维方面,蓝色矩阵是他们的数据,也就是我们得到的源数据,每一行是一个样本,每一列是一个特征,我们想把它变成一个乘以一些原型的表示。

屏幕快照 2021-11-06 下午6.48.41.png

蓝色数据 Data 行是样本,列是样本的特征,将其分解为表示(representation)乘以原型(archetypes)

可以认为这个表征(representation)是低维的表征,原型(archetypes)是一种基本形式,是你用来重建原始数据的方式,

屏幕快照 2021-11-06 下午7.04.38.png

数据的单行表示单个样本,每个样本都有一个相应的表征,表征乘以整个原型矩阵。表征可以将表征乘以原型得到样本还原到高维空间。

屏幕快照 2021-11-06 下午7.05.01.png

将样本分解为原型的线性组合,表示(presentation)就是低维的表示,数据表示为这些原型的组合,这就是矩阵分解

Neighbour Graphs

  • Laplacian Eigenmaps
  • Spectral Embedding
  • Hessian Eigenmaps
  • Local Tangent Space Alignment
  • JSE
  • Isomap
  • t-SNE
  • Locally Linear Embedding
  • LargeVis

对于从数据中建立一个图,然后把这个图嵌入一个低维空间,所有的细节都是何构建这个图,以及如何布局这个图。

重点在于核心直觉和核心思想,而不是这些算法如何工作的具体细节。

几何角度

屏幕快照 2021-11-06 下午6.36.49.png

图 A 是在边长为 1 正方形内切圆的面积可以表示为 π0.52\pi 0.5^2 内切于立方体中的球的体积为 43π0.53\frac{4}{3} \pi 0.5^3

在高维空间内,内切于高维边长为 1 的的球体为 kπ0.5Dk \pi 0.5^D D 为高维空间,当 D 足够大,内切高维球体体积接近于 0。

在高维空间内有时候会打破我们在低纬空间的认知, 在高维空间球体样本都分布在边缘,这样就造成数据稀疏性,不但稀疏而分布还不均匀。