[机器学习实战之读书笔记 1] k- 邻近算法

本贴最后更新于 2173 天前,其中的信息可能已经时移世改

前言

此文是《机器学习实战》的读书笔记的第一篇,介绍该书中讲解的第一个机器学习算法:k-邻近算法。

算法原理

将输入数据的每个特征数据与训练样本集对应的特征数据进行比较,从而提取出样本集中特征最相似(即最邻近)的 k 个数据,将这 k 个数据中比例最高的分类标签作为输入数据的分类标签。
由于每个训练样本数据都是有标签的,所以 kNN 算法是监督学习的一种算法。

举例说明

假设有一组电影分类的样本数据集,根据电影中打斗镜头数和接吻镜头数的不同,被区分为动作片和爱情片。

有如下 7 部电影样本数据,其中 6 部已知类型,1 部未知类型。我们希望从这 6 部电影中找到某种规律,从而预测未知类型的“电影 7”属于什么类型。

电影名称 打斗镜头数 接吻镜头数 电影类型
电影 1 3 104 爱情片
电影 2 2 100 爱情片
电影 3 1 81 爱情片
电影 4 101 10 动作片
电影 5 99 5 动作片
电影 6 98 2 动作片
电影 7 18 90

将上面样本数据在图中表示出来:

图中 6 个黑色的点表示上面样本数据集中的 6 部已知类型的电影,其中 3 部爱情片,3 部动作片。红色的点表示我们将要预测的未知类型的“电影 7”。

根据 kNN 算法原理,我们需要首先计算出图中红色点与所有黑色点的距离。大家都还记得计算两个点之间的距离公式吧。
如果点 1 记为(x1,y1),点 2 记为(x2,y2),那么点 1 与点 2 的距离为:

\sqrt{(x1-x2)^{2} + (y1-y2)}

\sqrt{(x1-x2)^{2} + (y1-y2)^{2}}

  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    76 引用 • 37 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • someone

    垃圾评论测试邮件功能!😄