2.KNN(k近邻)
KNN(k近邻)
一、KNN概述
KNN一般是用于分类的机器学习方法
KNN中重要的三个步骤为:
1、K值的选择
2、距离度量的方法
3、分类决策的方法
二、K值的选择
K值的选择非常重要。
在数据中难免存在噪音点,K值选择太小,若测试点周围恰好是噪音点,就容易出现错误;
若K值选择过大,会导致模型把与数据点偏差较大的点也考虑在内,因此要选择合适的K值
三、距离度量的方法
点与点之间的距离度量的方法,不同的距离度量方法确定的点周围的点也是不同的。
Lp距离度量:
欧式距离,L2距离:
曼哈顿距离,L1距离:
p等于∞时:
四、分类决策的方法
4.1 多数表决法:即判断K个相邻的点中,属于哪一类别的点的数量最多,则该测试的点就属于哪一类别。或者说多数加权表决法。
4.2 kd树:KNN最简单的方法为一个个扫描数据集中的所有点,若数据集比较大,会比较耗时,因此可以构造kd树,kd树即为二叉树。
kd树的构建:根据样本点的不同维度的特征对特征空间进行划分,每次划分都是选择其中一维的特征,选择中位数最邻近的点,均等对样本点划分。
kd树的搜索:搜索的时候,根据构造的kd树上点进行搜索,若该维度的点比树上节点该维度的数值小即去左边,比其大则去右边,依次遍历到叶子节点,把叶子结点作为最近点,然后以该点为圆心,以叶子节点为半径,依次往上进行搜索,若出现结点在比现在的最近点近,则该点为最近点,并且遍历该结点的另外一个结点,若距离比该点大,则依次向上直到遍历到根节点。
五、参考文献
李航的《统计学习方法》