k近邻法实际上利用训练数据集对特征性向量空间进行划分,并作为其分类的模型。
3.1k近邻法算法
(1)根据给定的距离度量,在训练集中找出与x最邻近的k个点,涵盖k个点的x的领域记做Nk(x);
(2)在Nk(x)中根据分类决策规则(如多数表决)决定x的类别y。y=arg maxΣI(yi=ci), i=1,2...N ; j=1,2,...K 其中I为指示函数。
3.2k近邻法模型
每个实例训练点有一个单元,所有的训练点对特征空间进行划分,每个单元的实例点的类别是确定的。
3.2.1k近邻法的策略
(1)距离的度量----两个相似点的相似程度
欧式距离,或者更一般的Lp距离或minkowski 距离。
(2)k值得选择
一般选取的k值较小,并用交叉验证法来选取最优的k值。
(3)分类策略规则----多数表决
多数表决等价于经验风险最小化。
3.3k近邻法的实现:kd树
kd树是为了提高k近邻搜索效率,使用特殊的结构存储训练数据,以减少计算距离的次数。
3.3.1构造kd树----二叉树
kd树表示的是k维的二叉树,这里的k与之前的k近邻法的k是不同的。
确实起到了简化计算的作用。从几何上简化了距离的计算,从数学上式利用先对数据进行了排序,再进行搜索。
3.3.2搜索kd树