《机器学习》——KNN算法

第十章 KNN算法

K近邻算法(K-Nearest Neighbors,KNN)是一种基本的分类与回归方法,属于监督学习算法。

其核心思想是通过计算给定样本与数据集中所有样本的距离,找到距离最近的K个样本,然后根据这K个样本的类别或值来预测当前样本的类别或值。

工作原理

计算距离:计算待分类样本与训练集中每个样本的距离。

选择K个近邻:根据计算的距离,选择距离最近的K个样本。

投票或平均:

  • 分类任务:统计K个近邻各类别的数量,将待分类样本归为数量最多的类别。

  • 回归任务:取K个近邻的平均值作为预测结果。

关键参数

距离度量方法:选择合适的距离度量方法,常见的有欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离等。

K值:K值的选择对结果影响很大。

  • K值过小容易过拟合
  • K值过大则可能欠拟合。

优缺点

KNN优点:

  • 简单直观,易于理解和实现。

  • 无需训练过程,直接利用训练数据进行预测。

KNN缺点:

  • 计算量大,尤其是训练集较大时。

  • 对噪声数据较敏感。

归一化

将数据按比例缩放到一个固定范围(通常是0,1-1,1)

  • 消除量纲差异:不同特征的单位或量纲可能差异巨大(例如身高以米为单位,体重以千克为单位),归一化可消除这种差异,避免模型被大范围特征主导。
  • 加速模型收敛:对于梯度下降等优化算法,归一化后特征处于相近的尺度,优化路径更平滑,收敛速度更快。
  • 适配特定模型需求:某些模型(如神经网络、K近邻、SVM)对输入数据的范围敏感,归一化能显著提升其性能

标准化

将数据调整为均值为0、标准差为1的标准分布。

  • 适应数据分布:将数据转换为均值为0、标准差为1的分布,适合假设数据服从正态分布的模型(如线性回归、逻辑回归)。

  • 稳定模型训练:标准化后的数据对异常值的敏感度较低(相比归一化),鲁棒性更强。

  • 统一特征尺度:与归一化类似,标准化也能消除量纲差异,但更关注数据的统计分布而非固定范围。

相关推荐
xixingzhe25 分钟前
spring ai简单使用skills
数据库·人工智能·spring
闲猫8 分钟前
AI夸会话混合型记忆增强框架 《MMAG: Mixed Memory-Augmented Generation》
人工智能
秦先生在广东12 分钟前
Block/Buzz:用 Nostr 协议把 AI Agent 变成有密钥的真正队友
人工智能
审小匠OpenCPAi13 分钟前
银行流水核查怎么自动化?单边匹配、双向勾稽与图聚类异常检测的工程对比
java·前端·人工智能·python·审计
何时梦醒16 分钟前
Vibe Coding 驾驭指南:别让 AI 把你的项目写成屎山
人工智能
noipp17 分钟前
推荐题目:洛谷 P6231 [JSOI2013] 公交系统
c语言·数据结构·c++·算法·游戏·洛谷·luogu
Hrain-AI17 分钟前
2026 企业 AI 编程智能体实战:Codex 与 Claude Code
开发语言·人工智能·kotlin
美狐美颜sdk18 分钟前
直播APP开发实战:从直播推流到AI美颜SDK完整方案详解
人工智能·美颜sdk·直播美颜sdk·美颜api
大模型任我行19 分钟前
蚂蚁:智能体安全护栏SingGuard-NSFA
人工智能·语言模型·自然语言处理·论文笔记
就是一顿骚操作24 分钟前
GPT-2 from scratch with torch:用 torch 从零实现 GPT-2
人工智能·gpt·transformer·论文解读·gpt-2