KNN (K-Nearest Neighbors,K 最近邻算法)算法详解

一、 KNN 算法简介

KNN 是一种简单、直观的监督学习算法,其核心思想是 “物以类聚”。它通过找出训练集中与测试样本最相似的 K 个邻居,并根据它们的标签进行预测。既可以用于分类任务,也可以用于回归任务。

二、KNN 算法详解

在明确 KNN 算法的核心思想和应用流程后,我们通过数学公式和具体案例进一步拆解其实现逻辑。

2.1 核心决策公式:

分类任务(多数投票法)

假设测试样本的 K 个邻居标签集合为 { y 1 , y 2 , … , y K } \{y_1, y_2, \dots, y_K\} { y1,y2,,yK},预测类别 y ^ \hat{y} y^ 为出现频率最高的类别:

y ^ = arg ⁡ max ⁡ c ∈ Y ∑ i = 1 K I ( y i = c ) \hat{y} = \arg\max_{c \in \mathcal{Y}} \sum_{i=1}^{K} \mathbb{I}(y_i = c) y^=argmaxcYi=1KI(yi=c)

其中 I ( ⋅ ) \mathbb{I}(\cdot) I() 为指示函数,条件成立时返回 1,否则返回 0。

回归任务(均值预测法)

假设 K 个邻居的目标值为 { t 1 , t 2 , … , t K } \{t_1, t_2, \dots, t_K\} { t1,t2,,tK},预测值 t ^ \hat{t} t^ 为目标值的算术平均:

t ^ = 1 K ∑ i = 1 K t i \hat{t} = \frac{1}{K} \sum_{i=1}^{K} t_i t^=K1i=1K

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值