机器学习:KNN算法(怎么取K的值,交叉验证和网格搜索)

目录标题

一、KNN算法思想

如果一个样本在特征空间中的K个最相似的样本中的大多数属于某一个类别,则该样本也属于这个类别

如何确定样本的相似性? 距离 距离越近,越相似

K值小过拟合,K值过大欠拟合,那如何选择合适的K值 交叉验证和网络搜索

二、KNN怎么算最近距离

欧式距离(闵时距离2次方),曼哈顿距离(闵时距离1次方),切比雪夫距离((闵时距离无穷次方)),闵可夫斯距离

举个例子:看看无穷大时候时切比雪夫距离(一次方和二次方不看)

这是二维下 p是3次方两个点距离,

当p变成无穷大时候, 2^∞ + 1 ^∞ 开无穷根号,值越来越像 2 ^ ∞靠近,忽略 1 ^ ∞,所以最后就是选择大的一边,就是切比雪夫距离

三、这个k值怎么取(就是调用api里面的超参,参考之前鸢尾花实验)

因为 K值小过拟合,K值过大欠拟合

交叉验证就是复验几次,为啥要反复验证呢?

把一份数据切成多份,轮流当验证集,来更准确地评估同一个模型

你有一份数据,如果只切一次(比如 80% 训练,20% 测试),会有一个问题:这次切分可能运气好或运气坏。

如果测试集里刚好全是简单样本,模型准确率 95%,你会误以为模型很好。

如果测试集里刚好全是难样本,模型准确率 60%,你会误以为模型很差

交叉验证:评估模型的好坏的方法

网格搜索:自动调各种超参组合,选出最优超参

四、knn里面找距离远近的曼哈顿,欧式等和损失函数里面找距离远近有啥区别

两个都是算距离,衡量差异

**损失函数:**用来训练模型,告诉模型"你错得有多离谱",然后模型根据它来调整参数

曼哈顿/欧氏距离:用来衡量样本之间的相似度,在 KNN 里就是用来找"谁离我最近"

相关推荐
tellmewhoisi1 小时前
机器学习:决策树1--ID3决策树和C4.5决策树
机器学习
wuyk5552 小时前
第四章 ROS2 开发环境配置【VMware Ubuntu22.04 Humble】
机器学习
我要见SA姐113 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
搞科研的小刘选手15 小时前
【落地武汉 | EI, Scopus 双检索】第二届智能决策与机器学习国际学术会议 (ICIDML 2026)
机器学习·智能决策·学术会议·会议推荐·武汉
萌新小码农‍17 小时前
KL散度的介绍
人工智能·深度学习·机器学习
张祥64228890417 小时前
牛顿迭代法求解开普勒方程:从RTKLIB源码到数值分析
人工智能·算法·机器学习
面包狗AI4S19 小时前
GitHub AI4S 项目观察(2026-09-07—2026-09-13)
人工智能·深度学习·机器学习
宣宣猪的小花园.20 小时前
【机器学习】过拟合与泛化:模型为什么会“刷题很强、实战失灵”
人工智能·算法·机器学习