《机器学习》——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的分布,适合假设数据服从正态分布的模型(如线性回归、逻辑回归)。

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

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

相关推荐
Promise微笑1 分钟前
绝缘油介损(油介损)测试仪的深层机理、技术演进与精准诊断策略
大数据·网络·人工智能
智者知已应修善业3 分钟前
【51单片机8位数码管同时倒计时从9999】2024-1-25
c++·经验分享·笔记·算法·51单片机
开发者小布5 分钟前
Claude Code 国内配置完整指南:通过中转 API 实现稳定访问(macOS / Linux / Windows)
人工智能
洛水水6 分钟前
【力扣100题】86.柱状图中最大的矩形
算法·leetcode·职场和发展
大C聊AI12 分钟前
通用大模型纷纷收费,垂直场景AI工具的价值正在被重估
大数据·人工智能·机器学习·办公效率·ai 工具·智标领航·ai 辅助办公
渡之13 分钟前
GRiM-Net 深度解析 | 无人机 GNSS 拒止场景下两阶段跨视角视觉定位框架
深度学习·算法·动态规划·无人机
苏州邦恩精密16 分钟前
2026江苏GOM三维扫描仪定制厂家找哪家?企业数字化转型视角
人工智能·机器学习·3d·自动化·制造
python-码博士17 分钟前
PyTorch 从零实现 Flow Matching:训练、采样、画图一条龙
人工智能·pytorch·python
砍光二叉树20 分钟前
一文打通 AI 认知:LLM、Agent、MCP、Skill 完整体系
人工智能·llm·agent·skill·mcp
努力写A题的小菜鸡29 分钟前
PyTorch 图像预处理 transforms 与 TensorBoard 可视化 (自己学习记录)
人工智能·pytorch·学习