一、原理
1、基本思想及步骤
- k近邻(KNN)是一种基本分类与回归方法,属于有监督学习(带有标签)。分类问题中的k紧邻,输入的是实例的特征向量(特征空间的点),输出的是实例的类别,可以取多类。它的原理很简单,就是服从多数原则。详细来说:给定一个数据集,其中的实例类别已定,在训练数据集中找到与目标实例最近的k各实例,这k个实例若大多数属于某个类别,就把目标实例归分为这个类别。看个例子,就明白了。
- 蓝色方块和红色三角属于给定的数据集,绿色圆圈为待分类,现在让我们分析以下这个绿色圆圈到底属于哪个类?
- 若k=3,则与绿色圆圈最近的有两个红色三角和一个蓝色方块,根据服从多数原则,我们将绿色圆圈划分到红色三角里;若k=5,则与绿色圆圈最近的有两个红色三角和三个蓝色方块,根据服从多数原则,我们将绿色圆圈划分到蓝色方块里;由此可知,待分类数据到底属于哪一类根据k值的不同而不同。

- 步骤:
- 输入:训练集 T = ( x i , y 1 ) , ( x 2 , y 2 ) , … … , ( x n , y n ) T={(x_i,y_1),(x_2,y_2),……,(x_n,y_n)} T=(xi,y1),(x2,y2),……,(xn,yn),其中 x i x_i xi为实例的特征向量, y i y_i yi 是实例的真实类别;待分类数据特征向量为x。
- 输出:待分类x的类别y。
- (1)根据给定的距离度量,在训练集T中找出距离实例x最近的k个点。
- (2)在这k个点中根据分类原则(如多数表决)决定x的类别。
- k近邻的特殊情况是k=1的情形,成为最近邻算法。
- 现在我们就基本上理解K近邻的原理了,很简单吧,但其中的K值怎么选取,是K近邻的一大难点,还有两点间的距离选择哪个距离度量和分类决策原则(大部分运用多数表决规则 = 经验风险最小化)呢,也是其中我们需要思考的。
- 缺点:样本不平衡时即一类样本数量远远多于另一类样本,导致虽然离样本距离小的训练样本少,但大容量类的样本占据较大的数量时会导致分类错误。
2、距离度量
-
距离度量主要有三种计算方法:欧氏距离、曼哈顿距离和切比雪夫距离。
-
特征空间中两个实例间的距离是两个实例点相似程度的反映。一般情况下,我们使用的都是欧式距离,但也可以是其他距离,例如更一班的 L p L_p Lp距离或者Minkowski距离。前提要进行归一化。
-
设特征空间 χ \chi χ是n维实数向量空间 R n R^n Rn, x i , x j ∈ χ x_i,x_j \in\chi xi,xj∈χ, x m = ( x i ( 1 ) , x i ( 2 ) , … x i ( n ) ) T , m =

本文详细介绍了K近邻(KNN)的基本思想、步骤和距离度量,包括欧氏距离、曼哈顿距离和切比雪夫距离,并讨论了K值选取的影响。在Python实战部分,通过实例展示了KNN在回归和分类问题上的应用,推荐K值为3,以实现较好的分类效果。
最低0.47元/天 解锁文章
2475

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



