惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
C
Check Point Blog
I
InfoQ
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta
月光博客
月光博客
Recent Announcements
Recent Announcements
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
Y
Y Combinator Blog
博客园 - Franky
博客园_首页
罗磊的独立博客
量子位
美团技术团队
T
The Blog of Author Tim Ferriss
Last Week in AI
Last Week in AI
大猫的无限游戏
大猫的无限游戏
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Martin Fowler
Martin Fowler
博客园 - 叶小钗
aimingoo的专栏
aimingoo的专栏

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
一文读懂 KNN 算法:简单易懂,让你轻松掌握机器学习精髓!
柳星聊产品 · 2023-11-29 · via 人人都是产品经理

在机器学习里,要说哪一款非常实用的分类和回归工具,那不得不提到K 近邻算法(KNN),大家对它了解吗?下面这篇文章的笔者整理分享关于此的内容,感兴趣的同学过来了解了解吧!

K 近邻算法(KNN),听起来很高大上,其实本质就是一个“找邻居”的游戏。在机器学习的世界里,它可是一款非常实用的分类和回归工具。

它棱角分明,具有可解释性强,易实现的优点,在很多应用中扮演重要的角色。我们将一起探究它的算法原理、案例以及适用边界,一起慢慢地拆解它,使用它。

一、KNN算法的原理

KNN(K-Nearest Neighbors)是一种基于实例的学习方法,它通过测量新样本与已知样本之间的距离,找到距离最近的 K 个邻居,然后根据这 K 个邻居的类别来决定新样本的类别。

概念中提到了一个词“最近”,那我们该如何定义样本间距离的远近呢?

通常来讲,我们会通过数学公式计算两个样本点之间的距离,最常见的一个计算方法就是欧式距离(Euclidean Space)。

最后再做一个简单的统计,找到距离待测样本点最近的 K 个样本点中,哪些类别最多。当然除了欧式距离,还有很多距离计算的方式,如曼哈顿距离、余弦距离等等。

总得来说,它不仅适用于分类问题,还能处理回归问题。

二、KNN案例之挑选适合的商店

假设你是一个刚搬到城市的农村青年,对城市生活一无所知。但是,你有许多热情的邻居,他们愿意帮助你适应新环境。你家的周围有两家商店,一家卖水果,一家卖蔬菜。你想知道哪家商店更适合你,于是你开始了探索。

你首先去水果店,店主热情地迎接你,告诉你水果的新鲜程度和价格。然后你去蔬菜店,店主也热情地迎接你,告诉你蔬菜的新鲜程度和价格。你发现,水果店的水果种类更多,价格也更贵;而蔬菜店的价格相对便宜,种类虽然没有那么多,但也很丰富。最后,你根据自己的需求,决定经常去蔬菜店购买蔬菜。

这个过程,就像 KNN 算法的工作原理。你就像是待分类的新样本,两家商店就像是已知的类别。你通过比较两家商店的相似度(也就是水果和蔬菜的新鲜程度和价格),找到了距离你最近的那个邻居(也就是最适合你的蔬菜店),然后决定了自己的选择。

三、KNN算法的应用步骤

计算方式,主要有以下几个步骤:

  1. 准备数据:收集一批已知类别的样本,构成训练集。
  2. 计算距离:对于每一个新样本,计算它与训练集中每个样本的距离。
  3. 找到最近邻:选出距离新样本最近的 K 个样本。
  4. 确定类别:根据这 K 个邻居的类别,决定新样本的类别。

关于K值的问题:需要注意的是K值是人工假定的选取样本数量,它会直接影响到模型的预测效果。

当 K 越小的时候,模型就越容易过拟合,因为预测结果与最近一个样本点强相关。而 K 越大的时候,就越容易欠拟合,因为预测结果要考虑所有样本的情况,就相当于没有预测。

所以,对于 K 的取值,一种有效的办法就是从 1开始不断地尝试,并对比准确率,然后选取效果最好的那个 K 值。

四、KNN算法的适用边界和优缺点

【优点】简单易实现,可以快速解决多分类问题,并且相对于线性分类算法用一条直线来分割数据的方式来说,KNN 对于边界不规则的数据预测效果会更好。

【缺点】KNN 对于数据的容错性很低。比如,当待测样本周围的 K 个数据样本中存在错误样本的时候,就会对预测结果有很大的影响。KNN 一般适用于样本数较少的数据集。因为它在处理数据量比较大的样本时会非常耗时,所以,在实际工业中,我们一般会选用 Kd-tree 来进行预测。

【适用场景】在数据量不多,特征都相对单一的业务场景下很适合选择 KNN 算法。

五、最后的话

总的来说,KNN 算法就像是一个热情友善的邻居,它用自己的智慧和经验,帮助你解决生活中的问题。只要你理解它的原理,掌握它的计算方法,就能充分利用它的优点,克服它的缺点,它可以快速的帮你实现目标。

如果用一句话来概括它,那就是“近朱者赤,近墨者黑”。

本文由 @柳星聊产品 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Unsplash,基于 CC0 协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。