机器学习|KNN和Kmeans

KNN和Kmeans

KNN

KNN-K个最近的邻居,而K是可人先预设出来的。

所谓近朱者赤,近墨者黑。

可以选取离当前最近的K个样本来作为辅助判断,因为本样本和最近的K个样本应该是处于一种相似的状态。

以下是一个苹果和梨的识别任务。

图上会出现一个未知的事物,可以结合和根据以往已经出现在图上的数据来对这个未知事物进行判断。

可以选取离这个样本最近的K个样本进行判断,比如上图,让K=3,离样本最近的3个样本有两个梨子,1个苹果。那么当前样本可能会被判断为梨子。

而关于最近的近也有不同的衡量来源,比如说曼哈顿距离和欧式距离。

K的选取

如果说K选取过小,则最近的样本的影响相对较大,若这个最近样本是一个特殊的样本,将被容易带偏。

如果说K选取过大,则如果样本数本身不够大的情况下,容易将偏远样本的信息也囊括进来,容易受到相关影响。

KNN算法的应用

比如在推荐算法中,可以将用户和他在空间上相近的角色进行比对,从而得到相近的信息,来作为当前用户的特征,从而结合这个特征找到符合的商品来进行推送。

由于KNN一个新样本,需要和其他样本进行计算。计算本身会带来损耗。同时计算本身是受到K的大小和特征维度的影响。

Kmeans

KNN是通过周围K个水果来认出当前水果。

而SVM可以通过划分好的直线来将水果区分开,只需看水果落入的是哪一个范围,就可认为是哪一种水果。(实际处理中可能涉及到软间隔的影响)

而不管是KNN还是SVM,都是建立在已有标签的样本的数据之上。(KNN中的K个样本是需要知道这K个样本到底是啥,而SVM需要知道一些具有标签的样本,从而来画出能够区分开的线)

而只知道样本分布,不知道样本具体是啥的时候就需要用到Kmeans。

可以人为设置具体要分为几类,从而让Kmeans确认出最终各个点的归属。

打个比方,就好像有一片居民居住地,作为城市规划的专家,你要设置几个村中心,并将哪些人划分到这个村落中去来进行管理。

如果这个人居住地和某个村中心A相距比另一个村中心B来得更远,那么这个人应该被划分到村中心B中去。

也就是说,可以先认为离谁近就可以归于谁。

Kmeans步骤

可以粗略归纳为------选取样本中心->各点计算距离来归于某一个样本中心->不断迭代,直至样本中心稳定。

首先在图中随机找到两个点来作为样本中心(因为K=2,所以挑两个点)。

然后每一个点计算与这两个样本点的距离,从而来进行归类。

然后每一个点都计算出来到底归于哪一个类。

然后可以将类的点再取平均来作为这个类新的样本中心。

然后所有点再与新的样本中心进行计算,迭代,直至新的样本中心,没有再发生改变。

则可认为基本稳定。

所以Kmeans相对简单,容易上手,是一种无监督学习(不需要样本带有标签,只需要知道样本的分布即可,打标签是需要成本的,相关的工作可以在boss上面找到数据标注员的工作)。

而Kmeans也有缺点,比如效果并不一定比有监督学习来得好,并且效果比较依赖K的选取。

相关推荐
阿坡RPA12 小时前
手搓MCP客户端&服务端:从零到实战极速了解MCP是什么?
人工智能·aigc
用户277844910499312 小时前
借助DeepSeek智能生成测试用例:从提示词到Excel表格的全流程实践
人工智能·python
机器之心12 小时前
刚刚,DeepSeek公布推理时Scaling新论文,R2要来了?
人工智能
算AI14 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
凯子坚持 c15 小时前
基于飞桨框架3.0本地DeepSeek-R1蒸馏版部署实战
人工智能·paddlepaddle
你觉得20515 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
8K超高清16 小时前
中国8K摄像机:科技赋能文化传承新图景
大数据·人工智能·科技·物联网·智能硬件
hyshhhh16 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
薛定谔的猫-菜鸟程序员16 小时前
零基础玩转深度神经网络大模型:从Hello World到AI炼金术-详解版(含:Conda 全面使用指南)
人工智能·神经网络·dnn
币之互联万物16 小时前
2025 AI智能数字农业研讨会在苏州启幕,科技助农与数据兴业成焦点
人工智能·科技