1. 什么是K-近邻(KNN)算法

K-近邻(K-Nearest Neighbors,KNN)是一种简单而有效的监督学习算法,用于分类和回归问题。它基于实例学习的思想,将新数据点分配到训练数据集中最相近的K个样本所属的类别。KNN不需要明确的训练过程,因此被称为**"懒惰学习"(lazy learning)**算法。

image.png

1.1 KNN算法的基本原理

1.2 常用距离度量方式

<aside> 欧氏距离(Euclidean Distance) $d(x, y) = \sqrt{\sum_{i=1}^{n} (x_i - y_i)^2}$

曼哈顿距离(Manhattan Distance) $d(x, y) = \sum_{i=1}^{n} |x_i - y_i|$

明可夫斯基距离(Minkowski Distance) $d(x, y) = \left(\sum_{i=1}^{n} |x_i - y_i|^p\right)^{1/p}$

1.3 K值的选择

1.4 KNN算法优缺点

优点: