上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2.1 K近邻算法
K近邻算法是最直观易懂的一种机器学习方法。顾名思义,K近邻算法就是找到距离某目标最接近的K个数据,其中的优势类别就是目标的类别。在K近邻算法中,距离的计算方法是将两个数据的坐标差值平方和开方。
举例说明,想要去看一场新上映的电影,但广告上并没有说明它是爱情片、战争片、动作片,还是其他类型的影片,不过该电影已经提前公布了三类镜头的个数:打斗镜头8个、接吻镜头92个、爆破镜头20个,并且已经有6部老电影的信息,以及这些老电影中三类镜头的个数,如表2.1所示,其中2部是爱情片(电影1和电影5)、2部是动作片(电影3和电影6)、1部是战争片(电影2)、1部是其他类型的影片(电影4)
表2.1 电影类型及三类镜头的个数
现在采用K近邻算法进行分类。首先计算新电影的三类镜头个数与每部老电影中三类镜头个数的欧氏距离,然后按照从远到近排序,定义K等于3。如果前三部老电影中的大多数属于什么类型,则认为新电影就属于这个类型。
采用K近邻算法对新电影进行分类如图2.2所示,新电影与两部爱情片(电影1和电影5)和一部战争片(电影6)的距离最近,因此得出的结论是新电影属于爱情片。判断是否准确呢?经过询问宣传方得知,新电影确实属于爱情片,这时可认为K近邻算法的正确率为100%。
图2.2 采用K近邻算法对新电影进行分类
可以用一句话来总结K近邻算法,即我的大多数邻居是什么样,我就是什么样。K近邻算法的缺点是需要有很大的数据量才能保证正确率;反复计算距离,计算速度慢;缺少对数据内在含义的分析。