版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章k近邻算法(kNN)课程目录01kNN算法原理•基本思想:基于“物以类聚”的直观假设,属于惰性学习模型•核心三要素:距离度量方式、k值的选取、以及分类决策规则02kNN算法实现•流程解析:掌握从数据预处理到模型评估的机器学习全流程•实战演练:从零手写kNN分类器,并对比Sklearn库的高效实现03总结与拓展•深度总结:剖析kNN算法在不同场景下的优缺点与适用边界•知识延伸:探索kNN在回归任务中的应用原理与参数调整技巧01.kNN算法原理:基本思想图示:通过邻近样本的类别投票判定未知样本核心思想:物以类聚,人以群分kNN是一种基于实例的监督学习算法,其逻辑非常直观:一个样本的类别由其周围k个最近邻样本的类别决定。算法通过计算距离找到最近的邻居,以“少数服从多数”的投票机制确定样本归属。应用案例:电影类型智能判别已知样本特征:
•爱情片:低打斗,高亲吻镜头
•动作片:高打斗,低亲吻镜头待分类电影:
•《初恋这件小事》(18,90)
•判定结果:爱情片(近邻投票)算法步骤:计算未知样本与所有已知样本的“距离”→选取最近的k个邻居→统计邻居类别并投票。序号电影名称打斗镜头次数亲吻镜头次数电影类型电影1泰坦尼克号3104爱情片电影2魂断蓝桥2100爱情片电影3花木兰995动作片电影4战狼2982动作片电影5初恋这件小事1890未知?核心三要素之一:距离度量距离度量用于衡量样本之间的相似度,是kNN算法的基础,它直接决定了如何定义样本间的“远近”关系,对算法效果至关重要。01欧氏距离(EuclideanDistance)
两点间的直线距离,是最直观的几何距离。适用于特征尺度统一、数据分布近似圆形的场景。公式:$d=\sqrt{\sum_{i=1}^{n}(p_i-q_i)^2}$02曼哈顿距离(ManhattanDistance)
各坐标轴上距离的绝对总和,又称“街区距离”。适用于特征尺度不一致、路径受网格限制(如城市道路)或离散数据的场景。公式:$d=\sum_{i=1}^{n}|p_i-q_i|$03余弦相似度(CosineSimilarity)
衡量两个向量夹角的余弦值,关注方向而非绝对长度。常用于文本分类、推荐系统及高维稀疏数据的相似度计算。核心三要素之二:k值选择k值过小(如k=1):模型易“过拟合”优点是能捕捉局部细微特征,近似误差小;但对噪声数据极度敏感,估计误差大,容易导致模型过于复杂,泛化能力下降。k值过大(如k=20):模型易“欠拟合”优点是抗干扰能力强,估计误差小;但模型会过度平滑,忽略局部细节,近似误差增大,无法学习到数据的复杂模式。策略:交叉验证+经验法则通过交叉验证在验证集上测试不同k值的性能来确定最优解;遵循经验法则,优先选择奇数k值(避免二分类平局),如3、5、7等。核心三要素之三:分类决策规则01多数投票法(MajorityVoting)统计k个邻居中各类别的出现频次,以得票最高的类别作为预测结果。这一规则在数学上等价于最小化0-1损失函数,能有效降低误分类率,是kNN算法最直观、最核心的决策准则。02电影分类实战(k=3)假设未知电影的3个近邻为:2部爱情片(《泰坦尼克号》《魂断蓝桥》)、1部动作片(《花木兰》)。
投票结果:爱情片2票>动作片1票。
最终判定:该未知电影被归类为爱情片。决策本质:“少数服从多数”kNN算法不依赖复杂的数学模型训练,而是完全基于“近邻”的类别信息进行判断。这种“懒惰学习”的特性使其简单易懂,无需预先训练,能快速适应新的分类场景,是监督学习中最经典的实例之一。02.kNN算法实现:机器学习任务一般流程01获取数据从本地文件、数据库或API接口等多源渠道收集原始数据,这是构建模型的基础,直接决定了后续训练的素材质量与覆盖范围。02数据预处理对数据进行清洗去噪、缺失值填补与异常值处理,通过标准化/归一化统一量纲,并利用特征工程提取有效特征,提升数据可用性。03模型选择与训练选定kNN作为核心算法,将数据集划分为训练集与测试集,利用训练数据让模型“记住”样本的特征分布与类别关联,为预测做准备。04模型评估:验证性能表现使用预留的测试集检验模型,通过准确率、精确率、召回率等指标客观评估其泛化能力。若效果不佳,需返回调整特征或算法参数。05模型部署:落地实际应用将模型封装为API或嵌入式模块,部署至生产环境。对接业务系统,实现对未知数据的实时或批量预测,释放算法的业务价值。核心特性:kNN属于典型的“惰性学习(LazyLearning)”算法,无显式训练过程,仅存储数据,直到预测时才计算距离并投票。手动实现kNN分类器01算法核心步骤(伪代码逻辑)01距离度量:计算未知样本与所有训练样本的欧氏距离,量化样本间的相似度,这是算法的基础。02排序筛选:将所有样本按计算出的距离从小到大排序,筛选出距离最近的前k个样本作为“近邻”。03类别统计:统计这k个近邻中各类别的出现频次,频次越高代表该类别对预测结果的影响越大。04投票预测:遵循“少数服从多数”原则,返回出现次数最多的类别,作为未知样本的最终预测结果。02Python工程化实现要点NumPy向量化加速:利用numpy的广播机制替代Python循环,高效计算距离矩阵,避免循环带来的性能损耗,提升处理大数据集的效率。Counter高效投票:借助collections.Counter工具,对k个近邻的类别进行一键计数,并快速提取频次最高的类别,简化代码逻辑。类封装设计:定义KNN类,通过fit()方法存储训练数据,predict()方法执行预测逻辑,符合机器学习库的标准API设计规范。使用sklearn实现kNN分类海伦约会数据集部分数据以经典的“海伦约会数据集”为例,基于飞行里程、游戏时间、冰淇淋消费量三大特征,利用scikit-learn封装的高效API,仅需几行代码即可完成从数据预处理到模型评估的全流程,极大简化了机器学习的落地应用。01数据加载与划分读取文本数据集,按比例(如7:3)随机切分训练集与测试集,保证样本分布均衡。02特征标准化处理通过StandardScaler消除量纲影响,将特征缩放到均值为0、方差为1的标准正态分布。03模型构建与训练初始化KNeighborsClassifier(k=3),调用fit()方法拟合训练数据,快速建立分类模型。04模型预测与推理利用训练好的模型对测试集数据进行分类预测,通过predict()方法输出分类标签。05性能指标评估计算分类准确率(accuracy_score),生成混淆矩阵,直观验证模型对三类吸引力的区分能力。06超参数调优优化通过交叉验证调整k值大小、距离度量方式(如曼哈顿距离),进一步提升模型精度。关键步骤:特征缩放kNN是基于距离度量的算法,特征间的尺度差异会直接影响距离计算的结果。若某特征数值量级过大,将主导整个距离计算,导致其他特征失去判别价值。01为何必须进行缩放?以“海伦约会数据集”为例:飞行里程数(数千量级)远大于游戏时间(0-100)和冰淇淋消费(0-9)。若不处理,距离计算将完全由里程数主导,模型将无法学习到其他特征的模式。02标准化(Standardization)将数据转化为均值为0、标准差为1的分布。公式:x_scaled=(x-μ)/σ。该方法能有效消除量纲影响,使所有特征处于同一尺度,保证了距离计算的公平性。优化前准确率78.5%特征尺度失衡,判别力弱优化后准确率95.0%尺度统一,特征权重均衡03.总结:kNN算法的优缺点核心优势简单直观易上手原理通俗易懂,模型实现门槛极低,无需复杂的数学推导即可快速应用到实际场景中。无显式训练过程典型的“懒惰学习”算法,训练阶段仅需存储数据,无需迭代优化参数,节省训练时间。天然支持多分类无需修改模型结构,通过多数投票机制即可直接处理多类别预测任务,兼容性强。适配非线性边界不假设数据的分布特征,能灵活捕捉特征空间中的复杂非线性关系,边界拟合更自然。主要局限预测计算成本高预测时需计算与所有训练样本的距离,数据量越大,预测延迟越高,效率越低。对数据质量敏感易受噪声、异常值及无关特征干扰,必须进行严格的数据清洗和特征预处理。受k值选择影响大k值过小易导致过拟合,过大则易欠拟合,需通过交叉验证反复调试才能确定。存在维度灾难在高维空间中,样本间的距离趋于一致,导致算法失去区分能力,性能显著下降。拓展:kNN回归01/回归核心原理任务:预测连续数值
不同于分类任务输出离散标签,回归致力于对连续型变量(如价格、温度、销量)进行数值预测。方法:均值聚合策略
找到k个最近邻样本后,不再进行“投票”,而是计算这k个样本目标值的算术平均值(或距离加权平均值)作为预测结果。02/案例与评估指标经典场景:房价估值
输入房屋面积、卧室数量、地理位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025上教资考试《综合素质》真题试卷及参考答案(小学)
- 2025消防考试初级理论题库及答案
- 2025卫生资格护理学副高职称历年考试试题及答案解析
- 2026年2026人工智能训练师职业能力测试题x试卷+答案
- 2025中信银行校招笔试真题及答案
- 2026年电子商务师跨境电商基础考点真题模拟考试及答案
- 怎样预防肠道传染病
- 美洲钩虫和十二指肠钩虫的鉴别及流行分布
- 初中体育教资面试高频题及解析
- 《建筑设计之透视》课件
- 农八师连队职工考试试题及答案
- 设备预防性维护实施方案
- 陕西2025-2026学年九年级下学期语文中考模拟预测卷
- 2026年大队委选拔笔试题目及答案
- 世界历史九年级上册新教材分析(2026新版) 课件
- 2026年市政施工员继续教育考试卷题库附答案
- 高中语文统编五本教材诗词(情感+手法)汇-总
- 2026年智能油田决策支持系统:技术创新与实践应用
- (2026年)一例脓毒性休克患者的护理查房课件
- 学空翻安全协议书
- 【外科学9版】第37章结直肠与肛管疾病
评论
0/150
提交评论