📖 本章概要
本章介绍k最近邻(k-NN)分类算法,这是最简单直观的监督学习方法之一。 核心思想:"近朱者赤,近墨者黑",小范围投票,少数服从多数。
优点:简单易懂、无需训练、非线性分类效果好
缺点:需存储全部训练数据、预测慢、高维易受维数灾难影响
k近邻分类原理
近朱者赤,近墨者黑
k-NN算法流程:① 计算距离 →② 找k个最近邻 →③ 投票决定分类
💡 8.1节小结
二分类:非红,即蓝
Binary Classification
二分类问题(K=2):查询点的分类只有两种可能——C₁(红色●)或C₂(蓝色●)。 通过指示函数I统计k个邻居中各类别的票数,多数票胜出。
💡 8.2节小结
三分类:非红,要么蓝,要么灰
鸢尾花分类问题(K=3)
鸢尾花数据集是经典的三分类问题(K=3):Setosa(C₁)、Versicolor(C₂)、Virginica(C₃)。 使用花萼长度(x₁)和花萼宽度(x₂)两个特征,k-NN算法给出非线性决策边界。
💡 8.3节小结
近邻数量k影响投票结果
k值选择对分类的影响
近邻数量k为用户输入值,k值直接影响查询点分类结果。 当k=4时,查询点可能被分类为C₁;但k增大到8、12、16时,分类结果可能发生变化。
k值对决策边界的影响
💡 8.4节小结
投票权重:越近,影响力越高
加权投票机制
前文采用"等权重"投票方式,每个邻居一人一票。 但很多情况下,加权投票更有效:距离查询点越近的邻居,投票权重越高。
💡 8.5节小结
最近质心分类:分类边界为中垂线
Nearest Centroid Classifier (NCC)
最近质心分类器(NCC)思路类似k-NN,但不需要设定k值。 先计算各类别样本数据的质心位置μₘ,查询点距离哪个质心越近,就被划定为该类别。
图解原理:Voronoi图(沃罗诺伊图)
鸢尾花分类决策边界
💡 8.6节小结
k-NN回归:非参数回归
从分类到回归的自然扩展
前文的k-NN分类算法针对离散标签,比如C₁(红色●)和C₂(蓝色●),当输出值为连续数值时, 就变成了k-NN回归问题。此时,查询点q的预测值ŷ可以通过对k个最近邻输出值求平均得到。
公式推导:从分类到回归
一维回归可视化
鸢尾花数据集回归:花萼长度→宽度
💡 8.7节小结
📋k-NN核心要点
无需训练:直接使用数据
非线性:处理复杂边界
灵活:分类+回归
预测慢:需计算到所有样本距离
维数灾难:高维空间距离失效
k值敏感:需调参