机器学习算法-KNN(K-近邻)

2020-10-16 17:05:44 浏览数 (1)

从KNN算法步入机器学习殿堂

本文中介绍的机器学习算法中的一种监督学习的算法:KNN算法,全称是K-Nearest Neighbor,中文称之为K近邻算法。

它是机器学习可以说是最简单的分类算法之一,同时也是最常用的分类算法之一。在接下来的内容中,将通过以下的几个方面的内容对该算法进行详细的讲解:

<!--MORE-->

算法思想

思想

首先对KNN算法的思想进行简单的描述:

KNN算法是一个基本的分类和回归的算法,它是属于监督学习中分类方法的一种。其大致思想表述为:

  1. 给定一个训练集合M和一个测试对象n,其中该对象是由一个属性值和未知的类别标签组成的向量。
  2. 计算对象m和训练集中每个对象之间的距离(一般是欧式距离)或者相似度(一般是余弦相似度),确定最近邻的列表
  3. 将最近邻列表中数量占据最多的类别判给测试对象z。
  4. 一般来说,我们只选择训练样本中前K个最相似的数据,这便是k-近邻算法中k的出处。

用一句俗语来总结KNN算法的思想:物以类聚,人以群分

说明
  • 所谓的监督学习和非监督学习,指的是训练数据是否有类别标签,如果有则是监督学习,否则是非监督学习
  • 在监督学习中,输入变量和输出变量可以连续或者离散的。如果输入输出变量都是连续型变量,则称为回归问题(房价预测);如果输出是离散型变量,则称之为分类问题(判断患者是否属于患病)
  • 在无监督学习中,数据是没有任何标签的,主要是各种聚类算法(以后学习)

算法步骤

KNN算法的步骤非常简单:

  1. 计算未知实例到所有已知实例的距离;
  2. 选择参数 K(下面

    0 人点赞