机器学习 K-最近邻

K-最近邻(KNN)是一种基于实例的监督学习算法,用于分类任务。它通过计算未知实例与已知实例的距离,选取最近的K个邻居并根据多数表决原则决定类别。K的选择、距离度量方式对结果影响显著,常见的距离有欧几里得和余弦相似度。KNN的优点包括简单易实现、健壮性好,但计算复杂度高、预测速度慢。改进策略可能涉及加权距离。
摘要由CSDN通过智能技术生成

一.概述
1.概念:

"K-最近邻算法"(K-Nearest Neighbor;KNN)1种常用的监督学习分类算法,属于"基于实例的学习"(Instance-Based Learning)"懒惰学习"(Lazy Learning).该算法对每个点都使用距该点最近的K个点(称为"K个最近邻")的类别来表示该点的类别

2.步骤:

①选择参数K
②计算未知实例到所有已知实例的距离
③选择K个最近邻
④根据少数服从多数的原则,将未知实例归类为K个最近邻中最多数的类别

3.注意事项
(1)参数K的选择:

KNN的结果对K的选择十分敏感,K过小时容易被噪音干扰;过大时会使较远的实例产生影响,出现错误.流行的选择方法包括交叉验证/贝叶斯/bootstrap

(2)距离的衡量:

"欧几里得距离"(Euclidean Distance)
"余弦值"(Cosine)
"相关度"(Correlation)
"曼哈顿距离"(Manhattan Distance)

4.优缺点
(1)优点:

①易于理解且容易实现
②K的选择合适时,对异常点不敏感,健壮性较好
③没有显式的训练("懒惰学习"),因而训练时间为0
④适合多分类问题

(2)缺点:

①空间复杂度高且计算量大
②属于懒惰学习,基本上不学习,导致预测时速度慢
③样本数量不平衡时,会偏向实例数量较多的类别
④对训练数据依赖度大且容错性差

在这里插入图片描述
(3)改进:

根据距离给实例加上权重,1/distance

二.实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值