机器学习篇 1-k 近邻算法基础(KNN 算法)

内容由楼主,一个字一个字敲出来的,转载请标明出处,谢谢!

k 近邻算法基础

KNN 算法非常简单。很适合入门机器学习第一次学习的算法。

机器学习篇 1-k 近邻算法基础(KNN 算法)

1、什么是 K 近邻算法?(图 1)

机器学习篇 1-k 近邻算法基础(KNN 算法)

(图 1)

横轴:肿瘤病人肿块的大小。

纵轴:发现肿块的时间。

红色:良性肿瘤

蓝色:恶性肿瘤

1.1、假设新来了一个病人(绿色)。我们要判断这个病人,是属性恶性的还是良性的。那么 k 近邻边是要做的。(图 1.1)

机器学习篇 1-k 近邻算法基础(KNN 算法)

(图 1.1)

现在取一个 k 值(k=3。这个 3 大家可以理解为是一个经验丰富的机器学习开发者,根据经验选取的一个最好值就是 3)。

1.2、那么 k 近邻要做的就是:对于新的点,在所有的点中寻找离新的点最近的三个点(图 1.2)。

机器学习篇 1-k 近邻算法基础(KNN 算法)

(图 1.2)

这些最近的点,以他们自己的 lable(位置)和 结果,进行投票。(上图离绿色点最近的三个点都是蓝色的恶性的点。所以蓝色对红色是 3:0。那么 k 近邻就会说这个绿色的点,很有可能是恶性的。这就叫做 k 近邻算法)。

1.3、K 近邻算法的本质:

两个样本,他们足够的相似的话,就有更高的概率属于同一个类别。(当然,只看离它最近的样本当然是不靠谱的。所以要看和他最相似 k 个样本,在 k 个样本当中,和哪种类别最相似,那么它就很有可能属于这个类别 )。

描述两个样本是否相似的相似性。就是靠两个样本在这个特征空间中的距离进行描述的。

机器学习篇 1-k 近邻算法基础(KNN 算法)

1.4 再举个例子:

如果再出现一个新的病人,那么离他最近的就是这三个点。(红色:蓝色 = 2:1,那么红色胜出。那么 k 近邻算法来说,这个新的点,很有可能就是良性的。)

机器学习篇 1-k 近邻算法基础(KNN 算法)

K 近邻算法可以解决分类之类的问题。当然也可以解决线性回归。

下一篇,将写本章的代码。

图片借鉴于慕课网。转载请标明出处。