3.1 概述
k近邻法(k-nearest neighbor,KNN)是一种基本分类与回归方法。这里只讨论分类问题中的k近邻法。
该方法的思路:假设给定一个训练数据集,其中的实例类别已定。分类时,对新的实例,根据其k个最近邻的训练实例的类别,通过多方表决等方式进行预测。
k近邻法不具有显示的学习过程。
实质:k近邻法实际上利用训练数据集对特征向量空间进行划分,并作为其分类的模型。
特点:
- 基于实例之间距离和投票表决的分类;
- 精度高、对异常值不太敏感;
- 计算复杂度和空间复杂度高;
- 特别适合多分类,简单易实现;
- 大多数情况下比朴素贝叶斯和中心向量法好;
- 给定训练集、距离度量、k值及分类决策函数时,其结果唯一确定。
3.2k近邻算法
算法3.1(k近邻算法)
输入:训练数据集T={ }。其中,为实例的特征向量,为实例的类别,i=1,2,…,N;实例特征向量x;
输出:实例x的所属的分类y。
(1)根据给定的距离度量,在训练集T中找出与x最邻近的k个点,涵盖这k个点的x的邻域记作;
(2)在中根据分类决策规则(如多数表决)决定x的类别y:,i=1,2,…N;j=1,2,…,K。其中为指示函数,当时为1,否则为0.
k=1时,称为最近邻算法
3.3k临近模型
k邻近方法 使用的模型实际上对应于特征空间的划分。模型由3个基本要素:距离度量、k值的选择和分类决策规则决定。
1.模型
- 在K邻近算法当中,给定训练集、距离度量、k值及分类决策函数时,其结果唯一确定。
- 特征空间中,对每个训练实例点,距离该点比其他点更近的所有点组成一个区域ÿ