kd树简介 在matlab下VLFeat中的kd-tree使用

本文介绍了K近邻(KNN)算法和kd树的概念,重点讲解了如何在MATLAB环境下利用VLFeat库建立和查询kd树。vl_kdtreebuild用于构建kd树,vl_kdtreequery则用于查询最近邻,支持近似最近邻匹配和K近邻查找。通过示例展示了kd树在KNN中的应用。
摘要由CSDN通过智能技术生成

先简要介绍knn——K近邻算法和kd-tree——kd树,然后介绍matlab环境中有关使用kd树的函数。k-d树(k-dimensional树的简称),是一种分割k维数据空间的数据结构。主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。
这里用的是在VLFeat 实现的kd树,其是一个开源的计算机视觉库,实现了 SIFT,MSER, k-means, hierarchical k-means, agglomerative information bottleneck, quick shift等算法。由C语言编写,提供MATLAB接口,文档详细。支持跨平台。

1、KNN

先从KNN讲起吧,何谓KNN算法,全称为:K-Nearest Neighbor algorithm,即K近邻算法。
用官方的话来说,所谓K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居),这K个实例的多数属于某个类,就把该输入实例分类到这个类中。
knn
K近邻算法的核心在于找到实例点的邻居,这个时候,问题就接踵而至了,如何找到邻居,邻居的判定标准是什么,用什么来度量。特征空间中两个实例点的距离可以反应出两个实例点之间的相似性程度。K近邻模型的特征空间一般是n维实数向量空间,使用的距离可以使欧式距离,也是可以是其它距离。

2、Kd-Tree

那什么又是Kd-树呢, Kd-树其实是K-

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值