热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

cs231n笔记(1)——KNN算法

图像分类:KNN算法(K—最近邻算法)一.定义定义:KNN是通过测量不同特征值之间的距离进行分类。它的的思路是ÿ


图像分类:KNN算法(K—最近邻算法)

一.定义

定义:KNN是通过测量不同特征值之间的距离进行分类。它的的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。(K在此例中为圆的半径)



二.解释

比如此例子中绿色为需判断类。

当K=1时(即实线圆),红色三角占2/3,所以我们人为样本也是红色三角。

当K=2时(即虚线),蓝色为3/5,占多数,算法会将样本归为蓝色方形。


三.距离

关于距离,一般有两种:

1.欧式距离:


2.曼哈顿距离:


四.在图像识别中的应用

在图像识别中,自己理解只是应用KNN的思想,距离并不是实际意义上的距离,而是样本图片像素与标准图片的差距,例如:



1)计算测试数据与各个训练数据之间的距离:每个像素点的差距再求和;
2)按照距离的递增关系进行排序;
3)选取距离最小的n个点;
4)确定n个点所在类别的出现频率;
5)返回前n个点中出现频率最高的类别作为测试数据的预测分类


如果数据过少,可以使用交叉验证法,在选择中反复选择测试验证折,在所有可能的测试折的选择中选出效果最好的。但是KNN很少被采用的原因是效率低。






参考文章:https://www.cnblogs.com/ybjourney/p/4702562.html

cs231n地址:http://study.163.com/course/courseLearn.htm?courseId=1003223001#/learn/video?lessonId=1004015843&courseId=1003223001



推荐阅读
  • 本文介绍了如何利用摄像头捕捉图像,并将捕获的图像数据保存为文件。通过详细的代码示例,展示了摄像头调用的具体实现方法,适用于多种应用场景,如安全监控、图像处理等。 ... [详细]
  • 10款精选jQuery插件助力响应式网页设计布局优化
    响应式网页设计在当今的数字环境中至关重要。本文精选了10款优秀的jQuery插件,旨在帮助设计师和开发者优化网站布局,确保内容在不同设备上(如手机、平板电脑等)都能呈现最佳效果,提升用户体验。这些插件不仅功能强大,还能显著简化开发流程,提高工作效率。 ... [详细]
  • 【高效构建全面的iOS直播应用】(美颜功能深度解析)
    本文深入探讨了如何高效构建全面的iOS直播应用,特别聚焦于美颜功能的技术实现。通过详细解析美颜算法和优化策略,帮助开发者快速掌握关键技术和实现方法,提升用户体验。适合对直播应用开发感兴趣的开发者阅读。 ... [详细]
  • 鄂维南:从数学角度,理解机器学习的「黑魔法」,并应用于更广泛的科学问题...
    作者|Hertz来源|科学智能AISI北京时间2022年7月8日晚上22:30,鄂维南院士在2022年的国际数学家大会上作一小时大会报告(plenarytalk)。今 ... [详细]
  • 开源真香 离线识别率高 Python 人脸识别系统
    本文主要介绍关于python,人工智能,计算机视觉的知识点,对【开源真香离线识别率高Python人脸识别系统】和【】有兴趣的朋友可以看下由【000X000】投稿的技术文章,希望该技术和经验能帮到 ... [详细]
  • 在软件开发中,应谨慎使用全局变量以规避潜在风险。为减少全局变量的使用,可将仅限于单个源文件内使用的变量声明为静态,同时将相关结构体定义一并纳入该文件。当模块内部的全局变量过多时,建议通过封装或使用局部作用域来替代,以提高代码的可维护性和安全性。 ... [详细]
  • 在探索 Unity Shaders 的过程中,我逐渐意识到掌握 OpenGL 基础知识的重要性。本文将详细介绍 OpenGL 的核心概念和基本操作,帮助读者从零开始理解这一图形编程技术。通过实例和代码解析,我们将深入探讨如何利用 OpenGL 创建高效的图形应用。无论你是初学者还是有一定经验的开发者,都能从中受益匪浅。 ... [详细]
  • 亚马逊老板杰夫·贝佐斯
    本文主要介绍关于的知识点,对【亚马逊创始人或成地球首位万亿富豪,起底贝佐斯创业之路】和【亚马逊老板杰夫·贝佐斯】有兴趣的朋友可以看下由【CSDN资讯】投稿的技术文章,希望该技术和经验能帮到你解决你所遇 ... [详细]
  • 一张思维导图带你梳理HashMap相关知识
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 深入解析MySQL Replication中的并行复制机制与实例应用【MySQL进阶教程】
    本文深入探讨了MySQL 5.6版本后引入的并行复制机制,详细解析了其工作原理及优化效果。通过具体实例,展示了如何在实际环境中配置和使用并行复制,以提高数据同步效率和系统性能。 ... [详细]
  • 一键将应用部署至远程服务器,体验超乎想象的便捷与高效
    该插件作为IDEA的内置功能,用户可以直接启用,无需额外安装。通过简单的配置,即可实现应用的一键部署至远程服务器,极大地提升了开发效率和便捷性。插件支持镜像管理和容器管理,允许用户与容器进行交互,并且兼容Docker Compose,适用于复杂的多容器应用部署。总结部分详细介绍了插件的使用方法和优势,附带的参考资料和项目源码地址为用户提供更多学习和实践资源。 ... [详细]
  • 在Maven中高效管理多模块项目的依赖关系是一项重要的技能。通过合理配置父POM文件,可以统一管理和控制各子模块的依赖版本,避免重复导入和版本冲突。本文将探讨如何利用Maven的最佳实践,确保项目依赖的一致性和可维护性,同时提高开发效率。 ... [详细]
  • 在Vite项目优化过程中,通过使用rollup-plugin-visualizer插件,可以有效地对Rollup打包结果进行可视化分析,帮助开发者清晰地了解各个模块的占用情况,从而进行更有针对性的优化。此外,结合其他常用插件,如vite-plugin-compression和vite-plugin-inspect,可以进一步提升项目的性能和可维护性。 ... [详细]
  • 在LAPACK库中,每个函数的命名都遵循特定的规则,清晰地反映了其功能和用途。函数名称通常采用XYYZZZ的格式,其中某些函数可能缺少第六个字符。这一命名规范不仅有助于用户快速理解函数的功能,还便于在大量函数中进行查找和引用。此外,了解这些命名规则对于高效利用LAPACK库中的各种线性代数操作至关重要。 ... [详细]
  • 关于模块的博文在这里:https:blog.csdn.netsmllyyarticledetails40824491一)关于invite会话参考博文内容摘录 ... [详细]
author-avatar
啲眼泪17
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有