美文网首页
k近邻算法(k-NN)相关知识点

k近邻算法(k-NN)相关知识点

作者: 田浩thao | 来源:发表于2019-06-08 10:05 被阅读0次

    1、前言

        由于k近邻算法相对比较简单,故本文不会展开介绍该算法,只是对一些知识点进行整理。

    2、相关知识点

    2.1 最近邻算法

        当k近邻算法中k取1时,则为最近邻算法。通俗理解:待预测的样本距离训练样本中哪个样本最近,则该待预测样本就与该训练样本同类别。

    2.2 距离度量
    2.2.1 L_{p}距离

    L_{p}\left(x_{i}, x_{j}\right)=\left(\sum_{l=1}^{n}\left|x_{i}^{l}-x_{j}^{l}\right|^{p}\right)^{\frac{1}{p}}

    2.2.2 曼哈顿距离-L_{1}

    L_{p}距离中p等于1时,则称该距离为曼哈顿距离:
    L_{1}\left(x_{i}, x_{j}\right)=\sum_{l=1}^{n}\left|x_{i}^{l}-x_{j}^{l}\right|
    从上式中可知,曼哈顿距离就是各个维度(属性或特征)差值的绝对值的求和。

    2.2.3 欧式距离-L_{2}

    L_{p}距离中p等于2时,则称该距离为欧式距离:
    L_{2}\left(x_{i}, x_{j}\right)=\sqrt{\sum_{l=1}^{n}\left|x_{i}^{l}-x_{j}^{l}\right|^{2}}

    2.2.4 L_{\infty}

    L_{p}距离中p等于{\infty}时,则公式变为:
    L_{\infty}\left(x_{i}, x_{j}\right)=\max _{l}\left|x_{i}^{l}-x_{j}^{l}\right|
    从上式中可知,该距离就是各个维度(属性或特征)差值的绝对值中最大的值。

    2.3 两种误差-近似误差与估计误差

    近似误差:简单理解为模型对训练样本的误差;
    估计误差:简单理解为模型对测试样本的误差。
        在k近邻算法中,如果k值选取的太小,则会将整个空间划分成更多的子空间,所以模型相对比较复杂。
        k值选取小,则每个子空间中样本基本为同一类别(k值如果取与样本个数相同时,则每个子空间只有一个类别,此时误差为0),所以对于训练样本,误差会非常小,也就是近似误差小;但是对于某个子空间,可能刚好该子空间中样本是噪声,则对于测试样本将会产生较大误差,也就是估计误差将增大,此时模型有属于过拟合。
        k值选取大,则每个子空间中样本类别较多(k值如果取1,则将所有样本归为一个空间,则误差较大),所以对于训练样本,误差会非常大,也就是近似误差大;但是测试对于每个子空间,类似噪声的误差将会减小,则对于测试样本将会减小误差,也就是估计误差将减小,此时模型有属于欠拟合。

    相关文章

      网友评论

          本文标题:k近邻算法(k-NN)相关知识点

          本文链接:https://www.haomeiwen.com/subject/lrnbxctx.html