【整理自用】统计学习、机器学习常见算法(整理更新)

K近邻法

详见《统计学习》P53页。
代码收藏90Zeng的博客Kd树的c++实现
在利用kd树搜索最邻近点的时候有一句话:

当前最近点一定存在于该结点一个子结点对应的区域,检查子结点的父结点的另一子结点对应的区域是否有更近的点。具体做法是,检查另一子结点对应的区域是否以目标点位球心,以目标点与“当前最近点”间的距离为半径的圆或超球体相交:
如果相交,可能在另一个子结点对应的区域内存在距目标点更近的点,移动到另一个子结点,接着,继续递归地进行最近邻搜索;如果不相交,向上回溯。

从书中的图来看当然是容易的,问题是如何利用树的结构去实现检查另一子结点对应的区域是否以目标点位球心,以目标点与“当前最近点”间的距离为半径的圆或超球体相交?
目前的理解:
具体简单实现的时候是先检查父节点与其距离,如果小于就可以检查其父节点内部其他同胞节点区域内的点。(如果与父节点直接距离已经很大,通常不可能与其内部另外一个区域某一个点距离反而更小)
随便花一个图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值