07无监督学习——降维

1.降维的概述

维数灾难(Curse of Dimensionality):通常是指在涉及到向量的计算的问题中,随着维数的增加,计算量呈指数倍增长的一种现象。

1.1什么是降维?

1.降维(Dimensionality Reduction)是将训练数据中的样本(实例)从高维空间转换到低维空间。

2.有很多种算法可以完成对原始数据的降维,在这些方法中,降维是通过对原始数据的线性变换实现的。

1.2为什么要降维?

1.高维数据增加了运算的难度,维度越高,算法的搜索难度。

2.高维使得学习算法的泛化能力变弱,降维能够增加数据的可读性,利于发掘数据的有意义的结构。

1.3降维的主要作用:

  • 减少冗余特征,降低数据维度

  • 数据可视化

降维的优点:

  • 通过减少特征的维数,数据集存储所需的空间也相应减少,减少了特征维数所需的计算训练时间;
  • 数据集特征的降维有助于快速可视化数据;
  • 通过处理多重共线性消除冗余特征。

降维的缺点:

  • 由于降维可能会丢失一些数据;
  • 在主成分分析(PCA)降维技术中,有时需要考虑多少主成分是难以确定的,往往使用经验法则

2.奇异值分解

奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。

sVD可以将一个矩阵A分解为三个矩阵的乘积:
一个正交矩阵U(orthogonal matrix),
一个对角矩阵(diagonal matrix) Σ \Sigma Σ
一个正交矩阵V的转置

分解的作用:线性变换 = 旋转 + 拉伸 +旋转

SVD分解可以将一个矩阵进行分解,对角矩阵对角线上的特征值递减存放,而且奇异值的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例。

也就是说,对于奇异值,它跟我们特征分解中的特征值类似,我们也可以用最大的k 个的奇异值和对应的左右奇异向量来近似描述矩阵。

3.主成分分析

主成分分析( Principal Component Analysis,PCA )是一种降维方法,通过将一个大的特征集转换成一个较小的特征集,这个特征集仍然包含了原始数据中的大部分信息,从而降低了原始数据的维数。
减少一个数据集的特征数量自然是以牺牲准确性为代价的,但降维的诀窍是用一点准确性换取简单性。因为更小的数据集更容易探索和可视化,并且对于机器学习算法来说,分析数据会更快、更容易,而不需要处理额外的特征。

PCA识别在训练集中占最大方差量的轴。

PCA的算法两种实现方法:
(1)基于SVD分解协方差矩阵实现PCA算法

PCA 减少n维到lk维·
设有m条n维数据将原始数据按列组成n行m列矩阵X
第一步是均值归一化。我们需要计算出所有特征的均值和标准差,然后做Z值化。
第二步是计算协方差矩阵( covariance matrix )) Σ \Sigma Σ,其特征向量就是我们要求解的主成分。

(2)基于特征值分解协方差矩阵实现PCA算法

PCA减少n维到k 维:
设有m条n维数据,将原始数据按列组成n 行m列矩阵X
第一步是均值归一化。我们需要计算出所有特征的均值和标准差,然后做z值化。
第二步是计算协方差矩阵(covariance matrix)2,其特征向量就是我们要求解的主成分。特征值分解矩阵
对于矩阵A,有一组特征向量v,将这组向量进行正交化单位化,就能得到一组交单位向量。特征值分解,就是将矩阵A 分解为如下式:
A = P Σ P − 1 {\rm{A = P}}\Sigma {P^{^{ - 1}}} A=PΣP1
其中,Р是矩阵A的特征向量组成的矩阵,习则是一个对角阵,对角线上的元素就是特征值。

PCA的缺点:

PCA追求的是在降维之后能够最大化保持数据的内在信息,并通过衡量在投影方向上的数据方差的大小来衡量该方向的重要性。但是这样投影以后对数据的区分作用并不大,反而可能使得数据点揉杂在一起无法区分。
这也是PCA存在的最大一个问题,这导致使用PCA在很多情况下的分类效果并不好。

4.t-分布领域嵌入算法t-SNE(t-distributedstochastic neighbor embedding)

步骤:

  • 数据跟PCA一样在处理之前先做归一化
  • 在低维空间中计算数据所有点与某个点的相似度
  • 将其在映射在t分布函数的横轴上
  • 计算高维度与低纬度的相似度矩阵的差异,设计loss function,然后用梯度下降来优化它

你可能感兴趣的:(机器学习,机器学习,人工智能)