k近邻算法(KNN)是一种基本的分类和回归算法。
理解:给定一个训练好的数据集,输入一个新的数据,在训练好的数据集中能找到与新的数据最邻近的k个数据。如果做分类的话,那就是这k个数据多数属于某个类,那么这个新的数据就属于某个类;如果做回归的话,就把这k个数据求平均值,结果就是回归的结果。
KNN的三要素:k值的选择,距离度量以及分类决策。
解释:k值就是找最近的数据数量,距离度量有很多种,比如:欧式距离,切比雪夫距离、信息熵(决策树用),决策分类就是用多数表决啊还是什么方法进行决策。
算法:
1.输入训练集:T={(x1,y1),(x2,y2)…(xi,yi)}
xi:x的特征向量,也就是f(x)这种函数里的x
yi: y是x的类别,也就是y=f(x)的y
2.根据距离度量找出和x最近的k个点。涵盖这k个点的领域记作Nk(x)
3.利用分类决策法决定x的类别y:
y=arg max∑I(yi=cj) i=1,2…k j=1,2…k
argmax是一种函数,是对函数求参数(集合)的函数。当我们有另一个函数y=f(x)时,若有结果x0= argmax(f(x)),则表示当函数f(x)取x=x0的时候,得到f(x)取值范围的最大值;若有多个点使得f(x)取得相同的最大值,那么argmax(f(x))的结果就是一个点集。换句话说,argmax(f(x))是使得 f(x)取得最大值所对应的变量点x(或x的集合)。
cj:数据可能的种类
yi:数据集中数据的种类
距离度量:两个实例点的相似程度的反应
例如:两个数据(矩阵)xi,xj求距离:
L=(∑|xi(l)-xj(l)|p)1/p
l是样本的第几个特征,如x=[1,2,3] x1就是x的第一个特征1。这里p>=0。
如果p=2那就是欧氏距离。p=1是曼哈顿距离。p=∞就是各个作标距离的最大值。
k值要和实际情况相近,通常用交叉验证来找k值。

本文介绍了机器学习中的KNN(K近邻)算法,包括其基本概念、分类决策过程和距离度量方式。还探讨了KNN的三要素——k值选择、距离度量和分类决策,并解释了如何通过kd树优化KNN的搜索效率,降低计算复杂度。最后,讨论了kd树的构建和搜索算法,指出kd树在高维数据中的重要性。

6432

被折叠的 条评论
为什么被折叠?



