2.KNN(k近邻)

KNN(k近邻)

一、KNN概述

    KNN一般是用于分类的机器学习方法

    KNN中重要的三个步骤为:
        1、K值的选择
        2、距离度量的方法
        3、分类决策的方法

二、K值的选择

    K值的选择非常重要。

    在数据中难免存在噪音点,K值选择太小,若测试点周围恰好是噪音点,就容易出现错误;
    若K值选择过大,会导致模型把与数据点偏差较大的点也考虑在内,因此要选择合适的K值

三、距离度量的方法

    点与点之间的距离度量的方法,不同的距离度量方法确定的点周围的点也是不同的。

    Lp距离度量:

2.KNN(k近邻)

    欧式距离,L2距离:

2.KNN(k近邻)

    曼哈顿距离,L1距离:

2.KNN(k近邻)

    p等于∞时:

2.KNN(k近邻)

四、分类决策的方法

    4.1 多数表决法:即判断K个相邻的点中,属于哪一类别的点的数量最多,则该测试的点就属于哪一类别。或者说多数加权表决法。

    4.2 kd树:KNN最简单的方法为一个个扫描数据集中的所有点,若数据集比较大,会比较耗时,因此可以构造kd树,kd树即为二叉树。

    kd树的构建:根据样本点的不同维度的特征对特征空间进行划分,每次划分都是选择其中一维的特征,选择中位数最邻近的点,均等对样本点划分。

    kd树的搜索:搜索的时候,根据构造的kd树上点进行搜索,若该维度的点比树上节点该维度的数值小即去左边,比其大则去右边,依次遍历到叶子节点,把叶子结点作为最近点,然后以该点为圆心,以叶子节点为半径,依次往上进行搜索,若出现结点在比现在的最近点近,则该点为最近点,并且遍历该结点的另外一个结点,若距离比该点大,则依次向上直到遍历到根节点。

2.KNN(k近邻)
2.KNN(k近邻)

五、参考文献

    李航的《统计学习方法》