1 k近邻学习
k近邻(k-Nearest Neighbor 简称KNN)是一种常见的监督学习方法。
1.1 算法描述
输入:训练数据集
为实例的n维特征向量,
为实例的类别,维度为K
输出:实例x所属的类别y
(1)根据给定的距离度量,在训练集T中找出与x最近的k个点,涵盖这k个点的x的领域记作;
(2)在中根据分类决策规则(如多数表决)决定x的类别y;
其中I为指示函数,即y=c取1,不等取0。
1.2 最近邻可行性描述
2 维数灾难
上一节得出的最近邻的泛化误差是基于一个重要假设:任意测试样本x附近任意小的范围内总能找到一个训练样本,即训练样本的采样密度足够大。但是这个在现实中很难满足。如果
,即在范围为1的长度内需要1000个样本点,这仅仅是样本维数为1的情况下,如果样本维数为20,则所需要的样本点为
,这是一个非常大的数字。同时,在高维情况下还会出现数据样本稀疏、距离计算困难等问题,这是所有机器学习方法共同面临的严重障碍——“维数灾难”(curse of dimensionality)
2.1 低维嵌入
缓解维数灾难的的一个重要途径就是降维(dimension reduction),即通过某种数学计算高维属性空间转变为一个低维“子空间”
若要求原始空间中样本之间的距离在低维空间中得以保持,如上图所示,即得到“多维缩放”(MDS)