机器学习——k近邻法KNN

机器学习——k近邻法

    • k k k近邻算法
    • k k k近邻模型
        • 距离度量
        • k k k值的选择
        • k d kd kd

k k k近邻法( k k k-nearest neighber, k k k-NN)是一种基本分类与回归方法。

k k k近邻算法

输出:实例 x x x所属的类 y y y
(1) 根据给定的距离度量,在训练集 T T 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的类别
y = arg ⁡ 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 \left( y _ { i } = c _ { j } \right) , \quad i = 1,2 , \cdots , N ; j = 1,2 , \cdots , K y=argcjmaxxiNk(x)I(yi=cj),i=1,2,,N;j=1,2,,K

k k k近邻模型

距离度量

L p ( x i , x j ) = ( ∑ l = 1 n ∣ x i ( l ) − x j ( l ) ∣ p ) 1 p L _ { p } \left( x _ { i } , x _ { j } \right) = \left( \sum _ { l = 1 } ^ { n } \left| x _ { i } ^ { ( l ) } - x _ { j } ^ { ( l ) } \right| ^ { p } \right) ^ { \frac { 1 } { p } } Lp(xi,xj)=(l=1nxi(l)xj(l)p)p1
p = 2 p=2 p=2时,为欧式距离。当 p = 1 p=1 p=1时,为曼哈顿距离。当 p = i n f p=inf p=inf时,是各个坐标距离的最大值,称为切比雪夫距离。

k k k值的选择

k k k值的减小意味着整体模型变得复杂,容易发生过拟合。 k k k值的增大就意味着整体的模型变得简单。通常采用交叉验证法来选取最优的 k k k值。

k d kd kd

对训练数据进行快速 k k k近邻搜索可以采用 k d kd kd树的方法。
k d kd kd树是二叉树,构成一系列的 k k k维超矩形区域,每个结点对应于一个 k k k维超矩形区域。详细参见【数学】kd 树算法之详细篇。

你可能感兴趣的:(机器学习,算法,机器学习,人工智能)