赞
踩
K-近邻(K-Nearest Neighbors,简称KNN)算法是一种基本的机器学习分类和回归算法
其核心思想是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别
k值的选择:k值的选择对KNN算法的性能有很大的影响。较小的k值可能导致过拟合(即模型对训练数据过于敏感),而较大的k值可能导致欠拟合(即模型过于简单,无法捕捉到数据的细微变化);在实际应用中,通常通过交叉验证等方法来确定最优的k值
距离度量:1
欧式距离:
对于两个数据点 ( x ) 和 ( y ),它们在 ( m ) 维空间中的坐标分别是 ( (x_1, x_2, …, x_m) ) 和 ( (y_1, y_2, …, y_m) ),则它们之间的欧氏距离 ( d(x, y) ) 定义为:
d
(
x
,
y
)
=
∑
i
=
1
m
(
x
i
−
y
i
)
2
d(x, y) = \sqrt{\sum_{i=1}^{m} (x_i - y_i)^2}
d(x,y)=i=1∑m(xi−yi)2
曼哈顿距离:
对于n维空间中的两个点A(x1, x2, …, xn)和B(y1, y2, …, yn),曼哈顿距离的计算公式为:
d
=
∣
x
1
−
y
1
∣
+
∣
x
2
−
y
2
∣
+
.
.
.
+
∣
x
n
−
y
n
∣
d = |x1 - y1| + |x2 - y2| + ... + |xn - yn|
d=∣x1−y1∣+∣x2−y2∣+...+∣xn−yn∣
切比雪夫距离:
对于两个n维向量A(x1, x2, …, xn)和B(y1, y2, …, yn),它们之间的切比雪夫距离的计算公式为:
d
=
m
a
x
(
∣
x
1
−
y
1
∣
,
∣
x
2
−
y
2
∣
,
.
.
.
,
∣
x
n
−
y
n
∣
)
d = max(|x1 - y1|, |x2 - y2|, ..., |xn - yn|)
d=max(∣x1−y1∣,∣x2−y2∣,...,∣xn−yn∣)
KNN算法由于其简单性和有效性,在许多领域都有广泛的应用,如文本分类、图像识别、推荐系统等
然而,由于其计算复杂度和对局部结构的敏感性,KNN算法可能不适用于大规模数据集或高维数据集;在这些情况下,可能需要使用更复杂的机器学习算法或降维技术来处理数据
详见博主另一篇博客:KNN、NB、SVM实现鸢尾花分类
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。