机器学习100天(三十二):032 KD树的构造和搜索

news/2024/5/14 18:45:29/文章来源:https://blog.csdn.net/red_stone1/article/details/129280247

机器学习100天,今天讲的是:KD树的构造和搜索!

《机器学习100天》完整目录:目录

在 K 近邻算法中,我们计算测试样本与所有训练样本的距离,类似于穷举法。如果数据量少的时候,算法运行时间没有大的影响,但是如果数据量很大,那么算法运行的时间就会很长。这在实际的应用中效率很低。

因此,为了最快地进行检索,就提出了一种新的算法:KD树(k-dimensional tree)。KD树是二叉树的一种,是对 k 维空间的一种分割,不断地用垂直于坐标轴的超平面将k维空间切分,形成 k 维超矩形区域。KD 树可以帮助我们在很快地找到与测试点最邻近的 K 个训练点。不再需要计算测试点和训练集中的每一个数据的距离。下面我将以最通俗的语言来介绍。

要完全掌握 KD 树,只要记住两个步骤:一是 KD 树的构造,二是 KD 树的搜索。

一、KD 树的构造

首先我们来看 KD 树的构造,举个例子。二维平面上有 13 个点,分布如图所示。
在这里插入图片描述
该 13 个点的坐标为:([6,5], [1,-3], [-6,-5], [-4,-10], [-2,-1], [-5,12], [2,13], [17,-12], [8,-22], [15,-17], [10,-6], [7,15], [14,1])。

首先,第一步,选取一个维度,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_75863.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4.排序算法之一:冒泡排序

排序算法稳定性假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]r[j],且r[i]在r[j]之前,而在排序后的序列中,r[…

柔性电路板的优点、分类和发展方向

柔性电路板是pcb电路板的一种,又称为软板、柔性印刷电路板,主要是由柔性基材制作而成的一种具有高可靠性、高可挠性的印刷电路板,具有厚度薄、可弯曲、配线密度高、重量轻、灵活度高等特点,主要用在手机、电脑、数码相机、家用电器…

二叉树——二叉树的最近公共祖先

二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一…

Guitar Pro8免费吉他曲谱mySongBook

每周都会发布新的谱子,目前已有有数千首歌曲可供选择,在谱库中,您能找到 Guns N Roses,Miles Davis,Ed Sheeran 等人的经典曲目。开头我们先做一个小实验:现在打开你电脑里存放曲谱的文件夹,里面…

[busybox] busybox生成一个最精简rootfs(上)

这篇文章是承接着[rootfs]用busybox做一个rootfs(根文件系统)来的,再回看这篇我很久之前写的文章的时候,有一个问题出现在我的脑海中,创建了这个文件那个文件,但确实是每个文件都是必需的吗? 这篇文章我们就来讨论下这…

【用Group整理目录结构 Objective-C语言】

一、接下来,我们看另外一个知识点,怎么用Group把这一堆乱七八糟的文件给它整理一下,也算是封装一下吧, 1.这一堆杂乱无章的文件: 那么,哪些类是属于模型呢,哪些类是属于视图呢,哪些类是属于控制器呢, 我们接下来通过Group的方式,来给它们分一下类, 这样看起来就好…

蓝海彤翔执行副总裁张加廷接受【联播苏州】独家专访

今年春节档,科幻类电影《流浪地球2》票房口碑双丰收,截至目前,累计票房已破 38 亿,淘票票评分 9.6 ,影片的特效质感可以媲美国际顶尖水平。其中,蓝海彤翔为影片的后期制作提供了出色的渲染服务。2月21日&am…

招投标管理系统-适合于招标代理、政府采购、企业采购、工程交易等业务的企业

招投标管理系统-适合于招标代理、政府采购、企业采购、工程交易等业务的企业 招投标管理系统是一个用于内部业务项目管理的应用平台。以项目为主线,从项目立项,资格预审,标书编制审核,招标公告,项目开标,项…

[chapter 11][NR Physical Layer][Layer Mapping]

前言:这里参考Curious Being系列 ,简单介绍一下NR 5G 物理层核心技术层映射.我们主要讲了一下what is layer Mapping, why need layer Mapping, how layer Mapping 参考文档:3GPP 38.211- 6.3.1.3 Layer mapping《5G NR Physical Layer | Cha…

js几种对象创建方式

适用于不确定对象内部数据方式一:var p new Object(); p.name TOM; p.age 12 p.setName function(name) {this.name name; }// 测试 p.setName(jack) console.log(p.name,p.age)方式二: 对象字面量模式套路:使用{}创建对象,同…

发现新大陆——原来软件开发根本不需要会编码(看我10分钟应用上线)

目录 一、前言 二、官网基础功能及搭建 三、体验过程 01、连接数据源 02、设计表单 03、流程设计 04、图表呈现 05、组织架构设置 五、效率评价 六、小结 一、前言 众所周知,每家公司在发展过程中都需要构建大量的内部系统, 如运营使用的用户…

cnpm adduser 报错 409 Conflict

今天遇到一个问题,cnpm adduser 一直失败,返回 409 Conflict。 我们先来看下报错信息 409 Conflict - PUT http://registry.cnpm.xxxx.com.cn/-/user/org.couchdb.user:mingyu6 - conflict第一步 分析 http 错误码 409 Conflict:请求与服务…

数据结构初阶 -- 顺序表

数据结构初阶 链表的讲解 目录 一. 线性表 1.1 定义 1.2 特点 二. 顺序表 2.1 定义 2.2 代码 2.3 功能需求 2.4 静态顺序表的特点以及缺点 2.5 动态的顺序表 2.6 动态顺序表接口的实现 三. 代码 头文件 主文件 一. 线性表 1.1 定义 线性表(linear li…

代码随想录算法训练营第九届期第十四天 | 二叉树理论基础 、递归遍历 、迭代遍历 、统一迭代

打卡第十四天,今天学习二叉树。 今日任务 理论基础递归遍历迭代遍历统一迭代 理论基础 二叉树是一种基础数据结构 二叉树的种类 满二叉树:只有度为0和为2的结点,而且度为0 的结点都在最后一层。完全二叉树:结点按顺序从上到下&…

电脑没有回收站找回删除文件的2种方法

最近后台收到了这样的咨询:”在网吧上网,删除东西的时候不小心把我的文件给删除了,但是桌面上没有回收站,怎么才能找回我的文件?“——针对“电脑没有回收站删除的东西怎么恢复”这种疑问?不妨看看下面数据…

【计算机组成原理 - 第一章】计算机系统概论(完结)

本章参考王道考研相关课程: 【2021版】1.2.1_计算机硬件的基本组成_哔哩哔哩_bilibili 【2021版】1.2.2_认识各个硬件部件_哔哩哔哩_bilibili 【2021版】1.2.3_计算机系统的层次结构_哔哩哔哩_bilibili 【2021版】1.3_计算机的性能指标_哔哩哔哩_bilibili 目录 一、…

【记录问题】RuntimeError:working outside of application context. Flask使用SQLAlchemy数据库

前提:Flask使用SQLAlchemy数据库 本质:依赖包版本不匹配 问题1:报错RuntimeError:working outside of application context. 运行程序报错,如下错误: 原因:flask-sqlalchemy 版本过高导致&am…

手牵手教Docker部署Springboot+vue ,全过程十分详细,轻松完成项目部署(简单,高效,通用)

手把手教Docker部署Springbootvue ,详细全过程,轻松完成项目部署(简单,高效) 上线前准备 腾讯云的服务器,服务器安装好docker 和docker-compose 最好事先了解技术 nginxdocker-compose 整体编排 后端部…

CCNP350-401学习笔记(易错题合集)

CCNP350-401学习笔记(1-50题)_殊彦_sy的博客-CSDN博客CCNP350-401学习笔记(2023.2.17)https://blog.csdn.net/shuyan1115/article/details/129088574?spm1001.2014.3001.5502CCNP350-401学习笔记(51-100题&#xff09…

SAP 详解ST02

问:在st02中看到,Program和Export/Import的Swap出现红的了,这个是什么原因啊,是不是对系统的性能有影响啊,是否应该调整一些参数啊。要怎么调整呢? 复1:双击红色的部分就可以看到相应的参数修改…