机器学习入门(三):K近邻算法原理 | KNN算法原理

简介: 机器学习入门(三):K近邻算法原理 | KNN算法原理

🍔 前言

朋友们大家好,让我们一起踏入机器学习的奇妙世界,先来聊聊一位特别“邻近”的朋友——KNN算法。想象一下,当你在陌生的城市找餐馆,可能会问附近的朋友:“嘿,你们常去哪家吃?”KNN算法就像这样,它找“最邻近”的样本朋友来帮你做决定。简单直接,却能在分类和回归问题上展现不凡力量。

学习目标

理解KNN 算法原理

🍔 为什么学习KNN算法

KNN是监督学习分类算法,主要解决现实生活中分类问题。

根据目标的不同将监督学习任务分为了分类学习及回归预测问题。

监督学习任务的基本流程和架构:

(1)首先准备数据,可以是视频、音频、文本、图片等等

(2)抽取所需要的一些列特征,形成特征向量(Feature Vectors)

(3)将这些特征向量连同标记(Label)一并送入机器学习算法中,训练出一个预测模型(Predictive Model)。

(4)然后,采用同样的特征提取方法作用于新数据,得到用于测试的特征向量。

(5)最后,使用预测模型对这些待测的特征向量进行预测并得到结果(Expected Model)。

上述步骤示意如下:

KNN(K-Nearest Neihbor,KNN)K近邻是机器学习算法中理论最简单,最好理解的算法,是一个非常适合入门的算法,拥有如下特性:

  • 思想极度简单,应用数学知识少(近乎为零),对于很多不擅长数学的小伙伴十分友好
  • 虽然算法简单,但效果也不错

🍔 KNN 原理

2.1 案例剖析

上图中每一个数据点代表一个肿瘤病历:

  • 横轴表示肿瘤大小,纵轴表示发现时间
  • 恶性肿瘤用蓝色表示,良性肿瘤用红色表示

疑问:新来了一个病人(下图绿色的点),如何判断新来的病人(即绿色点)是良性肿瘤还是恶性肿瘤?

解决方法:k-近邻算法的做法如下:

(1)取一个值k=3(k值后面介绍,现在可以理解为算法的使用者根据经验取的最优值

 (2)在所有的点中找到距离绿色点最近的三个点

(3)让最近的点所属的类别进行投票

(4)最近的三个点都是蓝色的,所以该病人对应的应该也是蓝色,即恶性肿瘤。

总结:

K-近邻算法可以用来解决监督学习中的分类问题。

算法的思想:通过K个最近的已知分类的样本来判断未知样本的类别。

2.2 算法原理

KNN算法描述

输入:训练数据集

,xi为实例的特征向量,yi={C1,c2...Ck}为实例类别。

输出:实例x所属的类别y

步骤:

(1)选择参数K

(2)计算未知实例与所有已知实例的距离(多种方式计算距离)

(3)选择最近K个已知实例

(4)根据少数服从多数的原则进行投票,让未知实例归类为K个最近邻中最多数的类别。

总结:KNN算法没有明显的特征训练过程,它的训练阶段仅仅将样本保存起来,训练开销为0,等到收到测试样本后在进行处理(如K值取值和距离计算)。因此,对应于训练阶段的学习该算法是一种懒惰学习(lazy learning)。

KNN三要素:

  • 距离度量
  • K值选择
  • 分类决策准则

🍔 小结

让我们静下心来回忆一下本篇文章的内容:

🍬 KNN 算法原理简单,不需要训练,属于监督学习算法,常用来解决分类问题

🍬 KNN原理:先确定K值, 再计算距离,最后挑选K个最近的邻居进行投票

希望本篇文章对您有所帮助,感谢支持!

相关文章
|
4月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
机器学习/深度学习 算法 自动驾驶
1026 0
|
5月前
|
机器学习/深度学习 算法 搜索推荐
从零开始构建图注意力网络:GAT算法原理与数值实现详解
本文详细解析了图注意力网络(GAT)的算法原理和实现过程。GAT通过引入注意力机制解决了图卷积网络(GCN)中所有邻居节点贡献相等的局限性,让模型能够自动学习不同邻居的重要性权重。
970 0
从零开始构建图注意力网络:GAT算法原理与数值实现详解
|
6月前
|
传感器 算法 定位技术
KF,EKF,IEKF 算法的基本原理并构建推导出四轮前驱自主移动机器人的运动学模型和观测模型(Matlab代码实现)
KF,EKF,IEKF 算法的基本原理并构建推导出四轮前驱自主移动机器人的运动学模型和观测模型(Matlab代码实现)
195 2
|
6月前
|
算法
离散粒子群算法(DPSO)的原理与MATLAB实现
离散粒子群算法(DPSO)的原理与MATLAB实现
297 0
|
7月前
|
机器学习/深度学习 人工智能 编解码
AI视觉新突破:多角度理解3D世界的算法原理全解析
多视角条件扩散算法通过多张图片输入生成高质量3D模型,克服了单图建模背面细节缺失的问题。该技术模拟人类多角度观察方式,结合跨视图注意力机制与一致性损失优化,大幅提升几何精度与纹理保真度,成为AI 3D生成的重要突破。
822 0
|
7月前
|
算法 区块链 数据安全/隐私保护
加密算法:深度解析Ed25519原理
在 Solana 开发过程中,我一直对 Ed25519 加密算法 如何生成公钥、签名以及验证签名的机制感到困惑。为了弄清这一点,我查阅了大量相关资料,终于对其流程有了更清晰的理解。在此记录实现过程,方便日后查阅。
938 1
|
9月前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
568 8
|
10月前
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。

热门文章

最新文章