# K近邻算法 K近邻算法原理
## $k$近邻算法介绍
- $k$近邻法 (k-Nearest Neighbor;kNN) 是一种比较成熟也是最简单的机器学习算法,可以用于基本的分类与回归方法
- 算法的主要思路:如果一个样本在特征空间中与k个实例最为相似(即特征空间中最邻近),那么这$k$个实例中大多数属于哪个类别,则该样本也属于这个类别对于分类问题:对新的样本,根据其$k$个最近邻的训练样本的类别,通过多数表决等方式进行预测对于回归问题:对新的样本,根据其k个最近邻的训练样本标签值的均值作为预测值。
- $k$近邻法是基本且简单的分类与回归方法。$k$近邻法的基本做法是:对给定的训练实例点和输入实例点,首先确定输入实例点的$k$个最近邻训练实例点,然后利用这$k$个训练实例点的类的多数来预测输入实例点的类。
- $k$近邻模型对应于基于训练数据集对特征空间的一个划分。$k$近邻法中,当训练集、距离度量、$k$值及分类决策规则确定后,其结果唯一确定。
## $k$近邻法三要素
1. 距离度量 $
2. k$值的选择
3. 分类决策规则。
- 常用的距离度量是欧氏距离。
- $k$值小时,$k$近邻模型更复杂;$k$值大时,$k$近邻模型更简单。
- $k$值的选择反映了对近似误差与估计误差之间的权衡,通常由交叉验证选择最优的$k$。
- 常用的分类决策规则是多数表决,对应于经验风险最小化。
## $k$近邻算法流程
1. 计算测试对象到训练集中每个对象的距离
2. 按照距离的远近排序
3. 选取与当前测试对象最近的k的训练对象作为该测试对象的邻居
4. 统计这k个邻居的类别频次
5. k个邻居里频次最高的类别,即为测试对象的类别
## 篇末结尾
>感谢您的观看,如果觉得还行,请点赞关注支持一下