MLAPP学习笔记-KNN与K-means引发的思考
依稀记得在一次组内的学习交流中,老师给大家分享“机器学习”的课程时。正当老师提到了“KNN”这个分类模型,在黑板上写出“K”这个字母,自己下意识地随口蹦出“K-means”这个模型了。老师停顿了一下,把KNN写完了。其实那时讲的就是监督学习类型,所以说出“K-means”实属不该的。可是看到“K”这个字母,让自己联想的模型,自然就是最近一直学习的无监督模型了。在之前,记得我也给组内分享过“K-means”这个最经典的无监督学习算法模型。这种意识可称得上是经验学习,经验也容易在遇到新的主题即将发生时犯错了吧。
K最近邻(KNN,K-Nearest Neighbor),是机器学习中一个最经典的“非参分类模型”。既然是分类,可以肯定是的有监督学习类型了。估计这几句话,见到过或是应用过的都能有个印象。自己也不列外,知道这是一个分类模型,是监督的学习类。就是这么一句简单的话,却让自己想问的东西太多了。什么是监督学习?为什么是非参模型?分类又是什么呢?最起码你要很清楚从自己说中说出来。想必这几个概念,你有过了解的。在MLAPP书中开始章节,就提到这些概念相关定义。
首先是第一问题,什么监督学习(Supervised Learning)呢?书中是这么说,有输入和输出数据,给你一个训练集(对应于测试集)。这个训练集的中每个样本都已经明确告诉你属于哪个类别。比如说,相邻的赣粤闽三省来说,赣州市普遍说“客家话”,闽东南估