K近邻法(K-nearest neighbor,K-NN)—有监督学习方法、非概率模型、判别模型、线性模型、参数化模型、批量学习、核方法
定义
输入:训练数据集(T= { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) } \left\{(x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)\right\} {
(x1,y1),(x2,y2),…,(xN,yN)})
其中:
x i ∈ χ ⊆ R n x_i \in {\tt \chi} \subseteq R^n xi∈χ⊆Rn :实例的特征向量
y i ∈ y y_i \in {\tt y} yi∈y = { c 1 , c 2 , ⋯ , c k } = \{c_1,c_2,\cdots,c_k \} ={
c1,c2,⋯,ck} :实例的类别, i = 1 , 2 , ⋯ , N i=1,2,\cdots,N i=1,2,⋯,N
x x x:实例特征向量
输出:实例 x x x所属的类 y y y
(1)根据给定的距离度量,在训练集T中找出与 x x x最近邻的 k k k个点,涵盖这 k k k个点的 x x x的邻域记作 N k ( x ) N_k(x) Nk(x)
(2)在 N k ( x ) N_k(x) Nk(x)中根据分类决策规则(如多数表决)决定 x x x的类别 y y y
y = a r g m a x c j ∑ x i ∈ N k ( x ) I ( y i = c j ) , i = 1 , 2 , … , N ; j = 1 , 2 , … , K y=argmax_{c_j}\sum_{x_i \in N_k(x)}I(y_i=c_j),i=1,2,\dots,N;j=1,2,\dots,K y=argmaxcj∑xi∈Nk(x)I(yi=cj),i=1,2,…,N;j=1,2,…,K
指示函数: I ( y i = c j ) : { 1 ; y i = c j 0 ; y i ≠ c j I(y_i=c_j):\begin{cases} 1; y_i=c_j \\ 0 ;y_i \neq c_j \end{cases} I(yi=cj):{