简单的机器学习算法(K最近邻算法)

KNN分类算法(K最近邻分类算法)是一种最简单的分类算法。简单来说,就是根据你的邻居来推断你的类别
应用场景:

  • 创建分类系统
  • 特征抽取
  • 预测数值(预测股价、预测用户对某部电影的喜欢程度)

下面直接举例说明算法思想
目前很多人的手机上都会装一款APP,名字叫抖音。那么你在每次刷抖音的时候,有没有发现你刷到的(抖音推荐的)大部分视频都基本是你喜欢看的,那么这是为什么呢?或许在这里你会找到一点点答案。假设你创建了一个视频推荐系统,我们将所有的用户都放在一个图表中:
在这里插入图片描述
这些用户在图标中的位置取决于每个人的喜好,因此喜好相似的人离的越近。假设小华正在刷抖音,那么就可以找出离小华最近的四个人,我们根据这四个人的点赞纪录就猜测小芳、小李、小赵、小英喜欢的小华可能也喜欢。所以有了这张图表之后,我们的视频推荐系统就变得很简单,只要是小芳喜欢的就都推荐给小华。那么我们就想到另外一个问题,我们如何确定两个用户的相似程度呢?那就用到特征抽取。
特征抽取如何确定相似度?
假设有三个水果,我们根据大小和颜色来猜测他们分别最像什么水果,我们就可以抽取特征。这里我们抽取的特征就是大小颜色
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200328092103391.png
上面我们将不同水果的特征都进行标号处理,下面开始绘制特征图:
在这里插入图片描述
由上图可知:水果A和水果B长得像一点,因为它俩在图标中看着最近。下面我们就需要计算一下它俩到底有多相似,其实很简单。上高中时我们学过一个公式,就是在坐标系中计算两点之间的距离公式,我们一起来回忆一下:
在这里插入图片描述
惊不惊喜,意不意外,就是这么简单。
通过计算之后,我们发现A和B确实很像,因此,如果有多个比较对象,我们就可以将每个比较对象都转换成一个坐标,如(1,2)(2,1)(3,3)等,三维、思维、多维都是同样的道理,这个公式都无敌,那么请记住这个公式的名字“毕达哥斯拉公式”。
总结一下
KNN是最简单的机器学习算法,虽然简单但是却相当实用,这样看来,这个算法并不难,希望大家通过这篇文章能有个初步的认识。

参考书籍:《图解算法》

发布了13 篇原创文章 · 获赞 8 · 访问量 493

猜你喜欢

转载自blog.csdn.net/weixin_42462651/article/details/105125789