【数据分析岗】机器学习(二)

发布于 2021-09-07 11:21 ,所属分类:2021面试经验技巧分享

之前开启了『机器学习』系列
对常见算法(一)进行了讲解
【数据分析岗】机器学习(一)

最近,经常有人私信
有关数据降维的笔面试考点。

比如,考点举例:
为什么要进行降维?
都有哪些常用的线性及非线性降维算法?
PCA算法的优缺点?

那,数据分析岗应该掌握哪些降维知识点?
又需要掌握到何种程度呢?

本篇,
就讲讲机器学习中预处理之数据降维 !

老规矩 先上框架性原理,再结合真题操练。

本篇先详细讲解主流降维算法的原理,

以及不同降维算法的优缺点及差异。
内含原理解析(含重点)+高频面试真题


------正文手动分割线------
本文结构速览:
一、常见降维算法介绍
1.主成分分析
2. LDA降维算法
3.局部线性嵌入(LLE)
4.LE算法
二、 降维算法比较
三、经典笔面试题


一、

常见降维算法


01

主成分分析


主成分分析(PCA)是最常见的降维方法。

在介绍PCA之前,不妨先考虑这样的一个问题:
对于正交属性空间中的样本点,如何用一个超平面(直线的高维推广)对所有样本进行恰当的表达?
  • 最近重构性:样本点到这个超平面的距离都足够近

  • 最大可分性:样本点在这个超平面的投影能尽可能分开

基于最近重构性和最大可分性,能分别得到主成分分析的两种等价推导。


下面主要讲述最大可分性的推导过程:
样本点Xi在新空间中超平面上的投影是W'Xi(W'为矩阵W的转置)
若所有样本点的投影能尽可能分开,
则应该使投影后的样本点方差最大化。
如下图

投影后样本点的方差是:

于是优化目标可写为:


使用拉格朗日乘子法可得:


只需要对协方差矩阵XX'(X'为矩阵X的转置)进行特征值分解,
将求得的特征值排序:


再取前n (n < d)个特征值对应的特征向量构成:


这就是主成分分析的解。

02

LDA降维方法


LDA是一种监督学习的降维技术,即,它的数据集的每个样本是有类别输出的。

这点和PCA不同。
PCA是不考虑样本类别输出的无监督降维技术。
LDA算法可以简单的理解为:
我们要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。

下面这种图可以很好的解释PCA降维算法和LDA算法的差异:

LDA支持二分类和多分类的降维,推导过程略有不同。
有兴趣的同学可以自行在网上进行相关的搜索。


03

局部线性嵌入(LLE)


Locally linear embedding(LLE)主要思想是:
用一个样本点的邻居的线性组合近似重构这个样本,将样本投影到低维空间中依然保持这种线性组合关系。

Locally linear embedding(LLE)是一种非线性降维算法,它能够使降维后的数据较好地保持原有流形结构 。LLE可以说是流形学习方法最经典的工作之一。很多后续的流形学习、降维方法都与LLE有密切联系。

见下图,使用LLE将三维数据(b)映射到二维(c)之后,映射后的数据仍能保持原有的数据流形(红色的点互相接近,蓝色的也互相接近),说明LLE有效地保持了数据原有的流行结构。



LLE算法认为每一个数据点都可以由其近邻点的线性加权组合构造得到。

算法的主要步骤分为三步:
(1) 寻找每个样本点的k个近邻点;
(2) 由每个样本点的近邻点计算出该样本点的局部重建权值矩阵;
(3) 由该样本点的局部重建权值矩阵和其近邻点计算出该样本点的输出值。

具体的算法流程如下:


和传统的PCA,LDA等样本方差的降维方法相比,
LLE于降维时保持样本局部的线性特征,由于LLE在降维时保持了样本的局部特征,它广泛用于图像图像识别,高维数据可视化等领域。


04

LaplacianEigenmaps


Laplacian Eigenmaps(拉普拉斯特征映射)是一种不太常见的降维算法。
它看问题的角度和常见的降维算法不太相同,是从局部的角度去构建数据之间的关系。

具体来讲,LE算法是基于图的降维算法,它希望相互间有关系的点(在图中相连的点)在降维后的空间中尽可能的靠近,从而在降维后仍能保持原有的数据结构。

LE算法将处于流形上的数据,在尽量保持原数据相似度的情况下,映射到低维下表示。


上图所示左边的图表示有两类数据点(数据是图片);
中间图表示采用LE算法后每个数据点在二维空间中的位置;
右图表示采用PCA并取前两个主要方向投影后的结果,可以清楚的看到,在分类问题上,LE算法结果优于PCA。

下面通过一个高维数据再来理解一下LE算法:



上图说明的高维数据(图中3D);
下面的三个图是LE算法在不同参数下的展示结果(降维到2D)。
可以看出,似乎把整个卷拉平了,蓝色和黄色的差的很远,很好的保留了数据原有结构。

二、

降维算法比较


下面从线性、全局性、监督进行比较。
在以下算法中,只有LDA属于监督类降维算法



下图可进一步帮助我们理解不同降维方法的差异:


三、

经典笔面试题


对于降维算法,数据分析师岗常会面临的笔面试题又有哪些呢?

经典问题1:为什么要进行降维?
  • 使得数据更容易使用
  • 减少输入的变量个数量,降低算法的计算开销
  • 去除噪声
  • 使得结果容易理解

经典问题2:PCA降维有什么优点?
除了经典问题1中的有点,PCA另一个有点就是可以使新生成的变量之间相互独立。

经典问题3:PCA降维的缺点是什么吗?
  • 新组成的数据不具有可解释性;

  • 降维的维数需要事先指定。

经典问题4:有什么方法可以自动学习PCA降维的维数?
方法1:通过在n值不同的低维空间中k近邻分类器(或其他开销较小的学习器)进行交叉验证来选取较好的n值
方法2:可以从重构的角度设置一个重构的阈值,例如t=95%,然后选取使下列成立的最小n值:


经典问题5:都有哪些常用的降维算法?
此问题请自学本篇文章解答。

经典问题6:LE算法的特点是?
  • 非线性的降维方法

  • 降维的同时保留了局部近邻节点的信息
  • 属于流形学习

经典问题7:LE算法的优点是?
  • LE算法的局部特征保留特性使得它对孤立点和噪音不会那么敏感;

  • 算法基于流形的内在几何结构,因此它展示出嵌入的稳定性,只要嵌入是等度量的(Isometric),这个表示就是不变的。

以上就是关于机器学习 之 降维算法的总结。
如若盼追更机器学习系列
欢迎大家分享转发


适逢秋招
如需各厂内推码
想进干货交流群
可后台联系我~
希望可以帮到正在找工作的你,加油。

若本篇对你有帮助,欢迎转发,点亮在看
你的鼓励,是对创造者最大的支持~
也可以在gongzhong号后台找到我,说说你的困惑 ~

欢迎
更多 『求职干货』& 『日常学习』系列好文,等你发现~


相关资源