跳到主内容
快讯直播
AI智模界
AI 词典

K 近邻(KNN):不训练,只靠距离投票

K 近邻(K-Nearest Neighbors, KNN)是一种“把历史样本存起来,来新样本就看它附近 K 个邻居”的监督学习(supervised learning)方法:分类时邻居投票,回归时取邻居均值。

它几乎没有“训练”过程。所谓训练,只是把特征和标签保存下来;真正干活在推理:计算新样本与训练集中每个样本的距离,排序,取前 K 个。打个生活化比方:想知道一套房大概值多少,不建房价公式,而是翻出附近最近成交的 K 套房,取平均。找邻居要先量距离,数据越多、维度越高,量得越久,所以 KNN 的典型特征是“训练快、推理慢”。朴素实现如此;有些实现会建索引加速查询,但核心仍是在推理时找邻居。

效果高度依赖特征尺度。若用欧氏距离(Euclidean distance),身高按米、收入按元,收入数值大,距离几乎被它主导。因此要先做特征缩放(feature scaling),常用标准化(standardization)。K 也关键:K 太小易被噪声带偏,K 太大把远处样本也算进来,需要做AI 词典:偏差-方差权衡">偏差-方差权衡。距离度量还可选曼哈顿、余弦等,选什么取决于“相似”的定义。

和相邻概念的区别:KNN 是非参数(non-parametric)、惰性学习(lazy learning),没有显式训练出的参数;线性回归、逻辑回归训练后得到参数,推理只做一次计算;K-means 是无监督聚类,把样本分组,而 KNN 是有监督,用标签投票。

方法学习方式训练/推理典型用途
KNN有监督、非参数、惰性训练几乎只存数据,推理算距离投票小数据分类回归、相似检索基线
线性/逻辑回归有监督、参数训练求参数,推理快可解释基线、线性关系
K-means无监督聚类迭代求簇心分组、压缩、探索

对从业者,KNN 适合小数据、低维、需要可解释基线的场景;大规模高维或实时推理要谨慎,常需降维或近似最近邻(Approximate Nearest Neighbor, ANN)索引。对普通人,它提醒我们“物以类聚”成立的前提是:距离怎么定义、尺度是否公平,决定了邻居是谁。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。