艺赛旗 RPA9.0全新首发免费下载 点击下载
http://www.i-search.com.cn/index.html?from=line1
KNN 算法非常简单。很适合入门机器学习第一次学习的算法。
1、什么是 K 近邻算法?(图 1)
横轴:肿瘤病人肿块的大小。
纵轴:发现肿块的时间。
红色:良性肿瘤
蓝色:恶性肿瘤
1.1、假设新来了一个病人(绿色)。我们要判断这个病人,是属性恶性的还是良性的。那么 k 近邻边是要做的。(图 1.1)
现在取一个 k 值(k=3。这个 3 大家可以理解为是一个经验丰富的机器学习开发者,根据经验选取的一个最好值就是 3)。
1.2、那么 k 近邻要做的就是:对于新的点,在所有的点中寻找离新的点最近的三个点(图 1.2)。
这些最近的点,以他们自己的 lable(位置)和 结果,进行投票。(上图离绿色点最近的三个点都是蓝色的恶性的点。所以蓝色对红色是 3:0。那么 k 近邻就会说这个绿色的点,很有可能是恶性的。这就叫做 k 近邻算法)。
1.3、K 近邻算法的本质:
两个样本,他们足够的相似的话,就有更高的概率属于同一个类别。(当然,只看离它最近的样本当然是不靠谱的。所以要看和他最相似 k 个样本,在 k 个样本当中,和哪种类别最相似,那么它就很有可能属于这个类别 )。
描述两个样本是否相似的相似性。就是靠两个样本在这个特征空间中的距离进行描述的。
1.4 再举个例子:
如果再出现一个新的病人,那么离他最近的就是这三个点。(红色:蓝色 = 2:1,那么红色胜出。那么 k 近邻算法来说,这个新的点,很有可能就是良性的。)
K 近邻算法可以解决分类之类的问题。当然也可以解决线性回归。