k 近邻学习
k近邻(k-Nearest Neighbor, 简称 kNN), 是一种监督学习,给定测试样本,基于某种距离度量找出训练集中与其最近的k个训练样本,然后基于这个k个近邻的信息来进行预测。通常使用投票法和平均法。
如上图所示,通过根据k值的选取,选择被测样本在附近k个已知的样本,通过投票法或者平均法进行行类别判断。
低维嵌入
由于某些数据在高维情况下,数据样本稀疏、距离计算困难,无法达到很有效的数据计算,因此通过数据降维可以很有效的解决数据处理问题。降维就是通过数学表换将原始高维属性空间转变为一个低维子空间。在子空间内数据密度大幅提高。距离计算相对来说更加容易。如下图所示:
降维过程中,我们需要将原始空间样本之间的距离在地位空间得以保持。
多维缩放
多维缩放(Multiple Dimensional Scaling, 简称MDS)。那么如何在多维缩放过程中,保持前后的距离一致?
降维前的数据矩阵以及距离矩阵,降维后的数据矩阵以及距离矩阵,之间应该保持什么样的关系?
对高维数据进行线性变换:
Z
=
W
T
X
\mathbf{Z}=\mathbf{W}^{\mathrm{T}} \mathbf{X}
Z=WTX
线性变换的方式数据线性降维方法,对于降维效果的评估,通常比较降维前后学习器的型嫩给,如果有所提高说明降维起到了作用。另外可以通过降维数据到二维或者三维,可以通过可视化的方式判断降维效果。
主成分分析
主成分分析(Principal Compoment Analysis,简称PCA)是一种常用的降维方法。
对于降维,我们想象存在一个超平面,它具有如下性质:
- 最近重构行:样本点到这个超平面的距离足够近
- 最大可分性:样本点在这个超平面上的投影尽可能分的开。
通过以上两种方式可以得到主成分分析。降维算法如下图所示:
核化线性降维
线性降维方法假设从高位空间到低维空间的函数映射是线性的。如下图所示,对于某些数据,通过线性降维映射容易损失数据中的某些分布。核化线性降维是一种非线性降维,基于核技巧对线性降维方法进行核化。
流行学习
等度量映射
等度量映射(Isometric Mapping, 简称 Isomap)
如图所示,传统PCA方法我们通过取原始数据之间的距离,但是对于如图所示的,通过直线距离这种映射关系,我们无法达到本真的降维图。因此我们需要测量距离是测地线距离,我们如何进行测地线距离,我们可以通过近邻点来间接进行测地线距离。
局部线性嵌入
局部线性嵌入(Locally Linear Embedding,简称LLE)
如图所示,可以通过近邻之间的线性关系,在低维之间的线性关系与高维保持着同样的线性关系。
度量学习
每个空间对应样本属性上定的一个距离度量,为了寻找合适的空间,实质是寻找一个而合适距离度量,因此我们可以尝试学习一个合适的距离度量。这就是度量学习(Metric Learning)的基本动机。
近邻成分分析
近邻成分分析(Neighbourhood Component Analysis,简称NCA)