机器学习: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 里就是用来找"谁离我最近"

相关推荐
武天旭8 小时前
AI安全--AI大模型的后门攻击检测与防御
人工智能·深度学习·安全·机器学习
汤姆宝库12 小时前
安全深拆:越狱物理、注入攻击与纵深防御
人工智能·安全·机器学习·ai
成都旺小宝科技14 小时前
AI工牌案例:华润静安府话术执行率提到62%
人工智能·机器学习·房地产
labuladong15 小时前
机器学习&神经网络 系列教程上线
神经网络·算法·机器学习
howard200517 小时前
机器学习课程架构思维导图
机器学习·课程架构
知识分享小能手18 小时前
机器学习教程,从入门到精通,机器学习概述 + Python 语言基础 · 知识点详解(1)
人工智能·python·机器学习
博谷18 小时前
什么是GEO监测?核心指标、工作原理与AI搜索诊断监测全解析
人工智能·机器学习·自然语言处理
iiiiii1119 小时前
大模型批量生成中的左填充 (left padding)与右填充 (right padding):从生成正确性到 GRPO 的混合策略
人工智能·机器学习·语言模型·大模型·llm·attention·注意力