人工智能00006 深度学习与图像识别书评06图像分类算法,即K
2023-09-17 本文已影响0人
良友知音
K-最近邻算法(K-NearestNeighbor,KNN)。
KNN算法的思想非常简单,其涉及的数学原理知识也很简单。
希望以KNN容易理解的算法逻辑与相对容易的Python实现方式帮助读者快速构建一个属于自己的图像分类器。
要点如下。
·KNN的基本介绍。
·机器学习中KNN的实现方式。
·KNN实现图像分类。
3.1 KNN的理论基础与实现
3.1.1 理论知识
KNN被翻译为最近邻算法,顾名思义,找到最近的k个邻居,在前k个最近样本(k近邻)中选择最近的占比最高的类别作为预测类别。
1)给定测试对象,计算它与训练集中每个对象的距离。
2)圈定距离最近的k个训练对象,作为测试对象的邻居。
3)根据这k个近邻对象所属的类别,找到占比最高的那个类别作为测试对象的预测类别。
在KNN算法中,有两个方面的因素会影响KNN算法的准确度:一个是计算测试对象与训练集中各个对象的距离,另一个因素就是k的选择。
如何选择k(超参数调优)。
对于距离度量,一般使用两种比较常见的距离公式计算距离:
曼哈顿距离和欧式距离。
(1)曼哈顿距离(Manhattan distance) 假设先只考虑两个点,第一个点的坐标为(x1,y1),第二个点的坐标为(x2,y2),那么,它们之间的曼哈顿距离就是|x1-x2|+|y1-y2|。
(2)欧式距离(Euclidean Metric) 以空间为基准的两点之间的最短距离。还是假设只有两个点,第一个点的坐标为(x1,y1),第二个点的坐标为(x2,y2),那么它们之间的欧式距离就是,勾股定理的斜边长度,y2减y1的平方加x2减x1的平方根。