chapter 10 降维与度量学习
10.1 k近邻学习
k近邻(k nearest neighbor,knn)学习是一种常用的监督学习方法,其工作机制非常简单:给定测试样本,基于某种距离度量找出训练集中与其最接近的k个训练样本,然后基于这k个邻居的信息对该测试样本进行预测。
对于分类任务,还是采用“投票法”决定测试样本的标记。
在回归任务中,使用的是“平均法”,即将这k个邻居的平均值作为预测结果,还可根据距离的远近进行加权平均。
knn是“懒惰学习”的代表,没有显式的训练过程,此类学习技术在训练阶段仅仅把样本保存起来,待收到测试样本后再进行处理,相应的,那些在训练阶段就对样本进行学习处理的方法,称为“急切学习”。
k是重要的参数,k取值不同时,分类结果也会有显著差异。另一方面,采取不同的距离计算方式,找出的近邻也会有所区别,最终导致分类结果有显著不同。
最近邻分类器,即k=1时的knn分类器,其泛化错误率不超过贝叶斯最优分类器错误率的两倍:
10.2 低维嵌入
事实上,在高维情形下出现的数据样本稀疏,距离计算困难等问题,是所有机器学习方法共同面临的严重障碍,被称为==“维数灾难”==。
缓解维数灾难的一个重要途径是降维(另一个途径是特征选择),即通过某种数学变换将原始高维属性空间转变为一个低维“子空间”,在这个子空间中样本密度大幅提高,距离计算也变得更为容易。在很多时候,人们观测或收集到的数据样本虽是高维的,但与学习任务密切相关的也许只是一个低维分布,即高维空间中的一个低维嵌入,如图所示,二维空间更易学习。
若要求在原始空间中样本之间的距离在低维空间中得以保持,便要使用“多维缩放”的方法,这是一种经典的降维方法:
假定m个样本在原始空间的距离矩阵为D,其第i行j列的元素为样本xi到xj的距离,我们的目标是获得样本在d’维空间的表示Z