首先我们先来理解**“有监督学习”**:对具有概念标记(分类)的训练样本进行学习,以尽可能对样本集外的数据进行标记(分类)预测,相当于有明确的分类目标。
通俗的来说就是有监督学习就是训练样本的标记信息是已知的,我们完成一个分类任务时,我们是知道要分为哪些类的,只是对数据进行提取属性再直接分类就好。有监督学习有回归和分类。
回归任务中可以使用“平均法”:将这k个样本的实值输出标记的平均值作为预测结果;
分类任务中可以使用“投票法”:选择这k个样本中出现最多的类别标记作为预测结果。
k近邻学习与之前的学习方法不同的是,它是“懒惰学习”:
懒惰学习:在训练阶段仅仅是把样本保存起来,训练时间开销为零,等待收到测试样本后再进行学习;
急切学习:在训练阶段就对样本进行学习处理。
我们在之前的讨论都是基于一个假设:任意测试样本x的附近任意小的范围内总能找到一个训练样本,即训练样本的采样密度足够大,这称为“密采样”。
但是现实生活中的数据却很难满足这个假设,在高维情况下出现的样本稀疏、距离计算困难等问题是所有机器学习方法共同面临的严重障碍,这称为“维数灾难”。
多维缩放(Multiple Dimensional Scaling , MDS):原始空间样本之间的距离再低维空间中得以保持,这是一种经典的降维方法。
对降维效果的评估,通常是比较降维前后学习器的性能,若性能有所提高则认为降维起到了作用。若将维数降至二维或三维,则可通过可视化技术来直观地判断降维效果。
主成分分析是最常用的一种降维方法,不同于MDS采用距离保持的方法,主成分分析(PCA)直接通过一个线性变换,将原始空间中的样本投影到新的低维空间中。
假设使用d’个新基向量来表示原来样本,实质上是将样本投影到一个由d’个基向量确定的一个超平面上(即舍弃了一些维度),要用一个超平面对空间中所有高维样本进行恰当的表达,最理想的情形是:若这些样本点都能在超平面上表出且这些表出在超平面上都能够很好地分散开来。
要求这个超平面大概具有如下两个性质:
最近重构性:样本点到超平面的距离足够近,即尽可能在超平面附近;
最大可分性:样本点在超平面上的投影尽可能地分散开来,即投影后的坐标具有区分性。
PCA 仅需保留W*与样本的均值向量即可通过简单的向量减法和矩阵-向量乘法将新样本投影至低维空间中。显然,低维空间与原始高维空间必有不同, 因为对应于最小的d-d’个特征值的特征向量被舍弃了,这是降维导致的结果. 但舍弃这部分信息往往是必要的:
1.一方面舍弃这部分信息之后能使样本的采样密度增大,这正是降维的重要动机;
2.另一方面,当数据受到噪声影响时,最小的特征值所对应的特征向量往往与噪声有关,将它们舍弃能在一定程度上起到去噪的效果。
线性降维方法假设从高维空间到低维空间的函数映射是线性的,不过,在现实任务中可能需要非线性映射才能找到恰当的低维嵌入。
这一节主要就是说非线性降维,以为保持本真(intrinsic)低维空间。非线性降维方法的一种常用方法,是基于核技巧对线性降维方法进行核化(kernelized)。
流形学习(manifold learning)是一类借鉴了拓扑流行概念的降维方法,在降维时,若低维流行嵌入到高维空间中,则数据样本在高维空间的分布虽然看上去十分复杂,但在局部上仍具有欧式空间(对现实空间的规则抽象和推广)的性质。
我们先来理解流形: 流形(manifold)是一般几何对象的总称,包括各种维度的曲线与曲面等,和一般的降维分析一样,流形学习是把一组在高维空间中的数据在低维空间中重新表示。不同之处是,在流形学习中假设:所处理的数据采样与一个潜在的流形上,或者说对于这组数据存在一个潜在的流形。
降维的举例:一个二维的圆,在整个二维空间中除了这个圆上的点之外的点,都是浪费的,用二维空间来表示这个圆是有冗余的;但如果用极坐标来表示这个圆,就只有半径这一个参数来确定圆。
通俗的说,流行学习可以概括为:在保持流形上点的某些几何性质特征(圆形、瑞士卷形)的情况下,找出一组对应的内蕴坐标,将流形尽量好的展开在低维平面上。
等度量映射认为低维流形嵌入到高维后,直接在高维空间中计算直线距离具有误导性,因为高维空间中的直线距离再低维嵌入流形上是不可达的。使用了微分几何中测地线的思想。
如何计算测地线:利用流形在局部上与欧式空间同胚的性质,对每个点基于欧氏距离找出其近邻点,建立一个近邻连接图;这样,测地线距离就转变为计算近邻连接图上的两点之间的最短路径问题(Dijkstra算法、Floyd算法)。
上面的找出近邻点建立近邻图的构建方法有:1.指定近邻点个数k,找欧式距离最近的k个位近邻点从而建立k近邻图;2.指定近邻阈值ε,距离小于ε的点被认为是近邻点从而得到ε近邻图。
与Isomap试图保持近邻样本之间的距离不同,局部线性嵌入试图保持邻域样本之间的线性关系。
具体算法过程不作赘述,见西瓜书P237。
度量学习的基本动机:我们进行降维是希望找到一个合适的低维空间已达到最好的学习性能,每个空间对应了在样本属性上定义的一个距离度量,而寻找合适的空间就是在寻找一个合适的距离度量。
具体算法过程不作赘述,见西瓜书P238。