文章目录
1. k近邻算法
1.1 kNN分类算法
- 根据给定的的距离度量,在训练集 T T T中找出与 x x x最邻近的 k k k个点,涵盖这 k k k个点的 x x x的邻域记作 N k ( x ) N_k(x) Nk(x)。
- 在 N k ( x ) N_k(x) Nk(x)中根据分类决策规则(如多数表决)决定 x x x的类别 y y y:
y = a r g max c j ∑ x i ∈ N k ( x ) I ( y i = c j ) , i = 1 , 2 , . . . , N : j = 1 , 2 , . . . , K y=arg\max_{c_j}\sum_{x_i\in{N_k(x)}}I(y_i=c_j),i=1,2,...,N: j=1,2,...,K y=argcjmaxxi∈Nk(x)∑I(yi=cj),i=1,2,...,N:j=1,2,...,K
1.2 kNN回归算法
- 根据给定的的距离度量,在训练集 T T T中找出与 x x x最邻近的 k k k个点,涵盖这 k k k个点的 x x x的邻域记作 N k ( x ) N_k(x) Nk(x)。
- 对距离最近的 k k k个点的距离做倒数处理,作为距离权值。
w i = 1 d i s t ( x i ) , i = 1 , 2 … k w_i=\frac{1}{dist(x_i)},i=1,2\dots k wi=dist(xi)1,i=1,2…k - 在 N k ( x ) N_k(x) Nk(x)中根据分类决策规则(加权表决)决定 x x x的类别 y y y:
y = a r g max c j ∑ x i ∈ N k ( x ) ( I ( y i = c j ) ⋅ w i ) , i = 1 , 2 , . . . , N : j = 1 , 2 , . . . , K y=arg\max_{c_j}\sum_{x_i\in{N_k(x)}}(I(y_i=c_j)\cdot w_i),i=1,2,...,N: j=1,2,...,K y=argcjmaxxi∈Nk(x)∑(I(yi=cj)⋅wi),i=1,2,...,N:j=1,2,...,K
1.3 kNN离群点检测算法
- 根据给定的的距离度量,在训练集 T T T中找出与 x x x最邻近的点,计算距离 d i s t ( 1 ) dist(1) dist(1)。
- 计算距离这个最邻近点的最邻近的 k k k个点的距离平均值。
- 比较最近邻距离 d i s t (