对K,要不起

2023-11-07 09:40
文章标签 不起

本文主要是介绍对K,要不起,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

KNN算法是一种分类算法,和Kmeans是看起来像但可以说没啥关系。KNN的数据集都是带label的(监督学习),整个分类过程类似于一种投票机制。


这里KNN的K指的是当我们给样本x分类的时候,我们就从数据集里找跟x距离最近的k个数据点,然后选k个数据点中类别最多的类给x。比如上图:k的取值是能直接决定分类效果的,当k取3时,绿点应被归为红三角(2 >1);当k取5是,绿点又被归为蓝方块(3>2)

KNN没有明显的训练过程,是一种基于记忆的学习。它和Kmeans唯一的共同点可能就是都用到了NN(Nears Neighbor)算法,NN的实现一般使用KD(K-dimension tree)树。既然提到了kd树,我们就继续聊聊它吧。

kd树是数据点对k维空间中划分的一种数据结构,主要应用在多维空间数据搜索(如范围搜索和最邻近搜索)。本质上说kd树是一种平衡二叉树。我们以一个例子说明kd树的构建:

给定一个二维空间的数据集T= {(2,3),(5,4),(9,6),(4,7),(8,1),(7,2)}

首先在k维空间某一特征(这里选择第一个特征说明)-->{2,5,9,4,8,7},一般取中点来确定超平面(虽然并不是在任何情况下都是最佳),偶数的话选中间靠后的点,即x(1) = 7,然后分成左右两部分{(2,3),(4,7),(5,4)}和{(8,1),(9,6)};再以第二个特征为准确定超平面,左部分x(2) = 4,以此类推,kd树构建完成:


接着介绍一下在kd树上进行邻近搜索:

比如现在的目标点是(6,1)

1. 通过DFS,在kd树中找到目标点所在的叶节点。

2. 以该叶节点作为当前NN(最邻近)点,计算该节点与目标点之间的距离作为当前的最小距离,这里用欧氏距离。

3. 计算该叶节点父节点到目标点的距离,若小于当前距离,更新最短距离,同时记录之前的NN点。

4. 决定是否进入父节点的另一个子节点:

a) 即第三步的计算结果,如果大,说明没必要继续看其另一边的子树了,以此父节点视为叶节点,重复步骤3。

b) 若小,则进入另一个子节点,重复步骤1,确定另一棵子树中目标点应该在的新叶节点,判断是否更新NN点,接着以此叶节点开始重复步骤3。

以此类推,可以看出整个搜索过程是不断向根节点回退的,回退过程中已经进入过得不再进入。

5. 当退到根节点的时候,此时的NN点即目标点的最邻近点,若求k可以从保存下来的NN点中选择。


Kmeans算法算是一种非常常见而且使用广泛的聚类算法了。它能把样本对象根据各自属性分成K个聚类,如图所示:

这里K取值为2,Kmeans算法流程就是先初始化k个簇的中心点,根据各点到其距离远近分成K类,接着更新每个簇的中心(即把该簇的所有样本数据坐标相加取平均值),这样不断迭代直至每个簇的中心点不再变化。

Keans因为用到NN,所以也有用到kd树,kmeans把每次更新的簇中心点存成kd树,然后其余的样本点在树中寻找最邻近点确定自己所在的类。

最后总结一下两种算法的异同:

1. KNN是监督的分类算法,Kmeans是无监督的聚类算法。

2. KNN的数据集是带label的,Kmeans则不带。

3. 都有一个给目标点寻找最邻近点的过程,也都用距离相似度来衡量,NN也都用kd树实现。

这篇关于对K,要不起的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/362770

相关文章

联想电脑 调节屏幕亮度不起使用,按F5,F6,屏幕上的hotkeys进度条是在改变,但是屏幕没有一些作用的处理方法

1、查看驱动是否正常 Win键+X ,设备管理器 发现似乎挺正常的。 查看原厂驱动:联想电脑管家 这样看来,驱动是没有问题了。 2、看看设置电池模式 其实还是这个电池模式的问题导致。 如果处于养护模式的话,充电只在75%~80%,屏幕就算充着电也是灰灰的感觉,不亮,连亮度也调不了。 处理: 我将电池模式调为快充模式,这样F5,F6就起作用了。 也能够充到100%

00后应届毕业生面试要一万,面试官:不好意思,我们给不起

前几天,小编收到了即将毕业的表弟发来的私信,说他刚刚面试一家单位被刷了。表弟专业学的不错,人也十分聪明,家里人们都对这个面试结果感到吃惊,一问才知,被刷的理由很简单:开了10K的工资,人家给不起。 其实这并不是小编第一次听到因为薪资问题而在面试被刷掉的事例了。在此之前,小编在后台收到过无数关于面试薪资被刷的吐槽。 其中也不乏一些千奇百怪的理由: 1、我一个月租房都要3K,没有9K

做毕设用不起GPU?亚马逊云SageMaker免费给你用

过去两年,有三类人对显卡价格特别敏感。 一类是游戏党,第二类是挖矿党,还有一类是炼丹党,所谓“炼丹”就是搞学术研究的大佬,或者计算机专业的学生。 极端情况下,搞不到GPU做机器学习,搞不好都能影响毕业。 不得不说,显卡是真的缺,前不久,杜克大学电子与计算机工程系陈怡然教授发的微博也提到了显卡。 他说,有个朋友想从AWS那里申请点免费的GPU资源。甚至还自嘲,“学术界的人,不仅事儿多,还

“当实力撑不起野心的时候,学习才是唯一的出路”(回顾2023与2024展望)

“当实力撑不起野心的时候,学习才是唯一的出路”,窃以此言铭已,以激励学习路上不懈怠。这是我今年最庆幸的事:窃得这条铭言💪 (笔记模板由python脚本于2024年01月07日 13:57:54创建,本篇笔记适合尝试学习编程的人的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“

uniapp progress进度条变成圆角代码 标签上添加border-radius不起效果

.uni-progress-bar {       border-radius: 3rpx;       }   .uni-progress-inner-bar {       border-radius: 3rpx;   }

你有自己的价值,但撑不起一桌菜

现代人的生活节奏都很快,很多时候,没办法拿出整块的时间来阅读和学习。而我则是那个喜欢阅读的人,我愿意通过我的阅读,挑选或者总结归纳一些精美的句子,分享给大家,希望能给你带来支持和力量。 哪怕是心灵鸡汤,我认为也没什么不好。当一个人情绪低落、心情烦闷,可能会有那么一两句话,让我们警醒,调整后可以继续上路. 01 奇异的日常 宁静初夏 很多人谈论爱情,常提及「有趣的灵魂」,以

不要再用 APP 监管孩子了,背后的代价承担不起!

全文共3038字,预计学习时长6分钟 图源:PredragImages/Getty Images 一个用户在Reddit“我是混蛋吗”留言板块上寻找建议:孩子们拒绝按照父母的要求在手机上安装位置追踪器有错吗? 该用户在一篇帖子(现已删除)中写道:“几年来,我一直拒绝在手机上安装一款名为Life360 的追踪 APP,而父母也勉强同意,因为我一直在家。” 父母利用技术监视青少年的问题日趋

el-upload为什么拖拽不起效果,before-upload不执行

在做vue后台管理这种项目大部分都会有上传文件的功能,这里用到的是elementUi 经过排查是因为 auto-upload设置了false,影响到了before-upload不执行,而且http-request也不执行 设置的为true,生效了,但是不知道为什么在上传文件的时候不掉取接口正常,调取接口就会上传两遍,一直找不到原因,暂时解决方法: this.$refs["upload"].cl

scrollTop设置不起效果的几种原因

今天在写需求的时候遇到一个要将表格的滚动条在进行路由跳转时固定的操作,然后没想到居然在scrollTop这个属性的设置上栽了坑,关于此问题的原因网络上的解释也五花八门,各不相同 这里我们以下图demo为例,给大家解释一下设置scrollTop属性设置无效可能会遇到的几个原因 1.父,子元素需设置高度,并且子元素高度必须大于父元素 这一点应该很好理解,如果子元素高度始终小于父元素,那么无论怎么设

同是程序员,为何我付不起首付?

点击上方“java葵花宝典”,选择“置顶或者星标” 属于开发者的文章第一时间送达!  本文转自「开发者技术前线」  作者:码农淘金作者, 目前在美团从事开发工作 同是九年义务教育,通常同班同学在1-3年的时间后,距离就拉开了,甚至5年后有的同学已经坐拥一线房产,开着40W的在一线烂大街的街车,而有人却付不起首付,更舍不得买10W的车! 贫穷的最大原因,是原本你贫穷。 平庸的最大