AI产品经理需要掌握的内容有很多,本文将介绍K近邻算法,它常用来解决分类问题。一起来看看它的原理和应用吧。
AI产品经理需要掌握的内容有很多,本文将介绍K近邻算法,它常用来解决分类问题。一起来看看它的原理和应用吧。
前文我们介绍了AI产品经理的工作流程、模型构建流程、模型评估等内容,今天我们正式进入算法的学习。
首先介绍的是K近邻算法,K近邻算法是机器学习的入门级算法,原理简单易懂,常用来解决分类问题。
一、基本原理
K近邻算法(K-Nearest Neighbor),简称KNN算法,是基于距离计算来解决分类问题的一种算法。
其实KNN算法充斥在我们的日常生活中,很多时候,我们都会有意无意的参考一下身边人的选择,做出最简单有效的选择。
以买空调为例,在小区里转悠一圈,统计其中安装最多的空调品牌,再找其中一位邻居聊几句,符合预算的话,很容易就下决定了。
还有送女朋友礼物的时候,问下身边的哥们儿之前都送过什么礼物,选择频率最高的礼物,更不容易踩雷。
结合上面两个小例子,KNN的原理其实就是参考周围最近的已经做出的选择,来做出与之类似的选择,也就是“近朱者赤,近墨者黑”。
再回到机器学习场景,那么KNN算法的基本思路就是:在特征空间中,如果一个样本附近的k个最近(即特征空间中最邻近)样本的大多数属于某一个类别,则该样本也属于这个类别。
这里提到了“最近”的概念,我们在计算样本点之间距离时,可以使用欧式距离、余弦距离、曼哈顿距离等数学公式,最常见的是欧式距离。
找出距离待测样本最近的K个样本点,然后统计其中最多的类别是哪个,就认为待测样本点归属于这个类别。
二、K值的选择
除了距离之外,KNN算法还需要考虑如何选择合适的K值,因为K值的选取会影响模型的预测效果。
如果选择较小的K值,影响决策的样本数量也较少,预测结果会对临近的样本过于敏感,如果临近的样本恰巧是噪声,预测就会出错。换句话说,K值减小就意味着整体模型变复杂,就容易发生过拟合。
如果选择较大的K值,影响决策的样本数量就会过多,导致预测效果下降,很容易导致欠拟合。
我们通常可以将K从1开始,逐一递增,对比每个K值对应的结果,最终选择表现最好的K值。
三、应用场景
理论上,KNN算法可以支持大多数的分类场景,如区分是否好瓜、是否薅羊毛用户等。
除此之外,KNN还可以应用在各种简单的推荐的场景,比如:
KNN算法的优点:
KNN算法的缺点:
本文我们简单介绍了KNN算法的原理、应用场景和优缺点,KNN算法是机器学习的入门级算法,希望对大家有所帮助。
下篇文章,我们会聊一聊朴素贝叶斯算法,敬请期待。
本文由 @AI小当家 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议