K Nearest Neighbor,KNN,K最近邻算法。
算法原理:
(1)计算未知类别数据点与已知类别数据点之间的距离,并按降序排序。
(2)选取与未知类别数据点距离最小的k个点。
(3)以k个点中出现频率最高的类别作为未知类别数据点的类别。
注意:k一般选择奇数,因为最后要进行少数服从多数的投票。
距离计算:
n维空间上两点 a(x1,x2,x3......xn) , b(y1,y2,y3......yn) 的欧式距离公式:
d=(x1−y1)2+(x2−y2)2+...+(xn−yn)2−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√
其他距离衡量方法:余弦值cos、相关度correlation (如皮尔逊相关系数)、曼哈顿距离Manhattan distance。
KNN算法的优缺点:
优点:
简单,容易理解和实现,可通过增大K增强对噪音的健壮性
缺点:
1、算法的复杂度高,即算法所需要的内存多、时间高。
2、当样本分布不平衡时,未知类别点容易被归类为主导样本。
改进:
考虑权重,如1/d (d:距离)
应用举例:
(1)根据打斗镜头数和接吻镜头数判断电影是爱情片、动作片。
(2)在线约会网站寻找最合适的约会对象
(3)手写数字识别
KNN K最近邻算法
最新推荐文章于 2024-04-04 14:07:06 发布