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

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

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

相关推荐
Anastasiozzzz2 小时前
深入研究RAG: 在线阶段-查询&问答
数据库·人工智能·ai·embedding
tq10862 小时前
资本主义的时间贴现危机:AI时代的结构性淘汰机制
人工智能
砍材农夫2 小时前
spring-ai 第四多模态API
java·人工智能·spring
汀、人工智能4 小时前
[特殊字符] 第21课:最长有效括号
数据结构·算法·数据库架构·图论·bfs·最长有效括号
Boop_wu5 小时前
[Java 算法] 字符串
linux·运维·服务器·数据结构·算法·leetcode
土豆12505 小时前
LangGraph TypeScript 版入门与实践
人工智能·llm
土豆12505 小时前
OpenSpec:让 AI 编码助手从"乱猜"到"照单执行"
人工智能·llm
Thomas.Sir5 小时前
第二章:LlamaIndex 的基本概念
人工智能·python·ai·llama·llamaindex
故事和你915 小时前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
m0_694845575 小时前
Dify部署教程:从AI原型到生产系统的一站式方案
服务器·人工智能·python·数据分析·开源