【机器学习算法】3、K-近邻算法(一)

简介: 【机器学习算法】3、K-近邻算法(一)

简介


   K-近邻算法是一种基本的分类回归方法,它的输入为实例的特征向量,通过计算新数据与训练数据特征值之间的距离,然后选取 K(K>=1)个距离最近的邻居进行分类判断或回归。


对于回归问题: 输出为实例的值, 回归时, 对于新的实例, 去 K 个最近邻的训练实例的平均值为预测值;

对于分类问题: 输出为实例的类别, 分类时, 对于新的实例, 根据其 K 个最近邻的训练实例的类别, 通过多数表决的方式进行预测类别。


KNN算法的流程




KNN算法的具体步骤


   由于 KNN 方法主要靠周围有限的邻近样本,而不是靠判别类域的方法来确定所属类别,因此对于类域的交叉或重叠较多的待分类样本来说,KNN 更加合适。其算法步骤如下:

第一步:

       准备数据, 对数据进行预处理;


第二步:

       选用合适的测试元组和合适的数据存储结构训练数据;


第三步:

       维护一个大小为 K、按距离由大到小的优先级队列,用于存储最近邻训练元组,随机从训练元组中选取K个元组作为初始的最近邻元组,分别计算测试元组到这 K 个元组的距离,然后将训练元组标号和距离存入优先级队列;


第四步:

       遍历训练元组集,计算当前训练元组与测试元组的欧氏距离,计算距离所用的公式为:

       之后将所得距离L与优先级队列中的最大距离 Lmax 进行比较。若L≥Lmax则舍弃该元组,遍历下一个元组。若L<Lmax,删除优先级元组中最大距离的元组,将当前训练元组存入优先级队列。


第五步:

       遍历完毕后, 计算优先级队列中 K 个元组的多数类, 并将其作为测试元组的类别;


第六步:

       测试元组集测试完毕后计算误差率,继续设定不同的 K 值重新进行训练,最后选取误差率最低对应的 K值。


K 值得选择


若 K 值较小,则相当于用较小的邻域中的训练实例进行预测,“学习” 的近似误差减小;

优点:只有与输入实例较近的训练实例才会对预测起作用;

缺点:“ 学习” 的估计误差会增大,预测结果会对近邻的实例点非常敏感;若近邻的训练实例点刚好是噪声,则预测有很大的可能会出错, 即 K 值减小意味着模型整体变得复杂, 容易发生过拟合。

若 K 值较大,则相当于用较大邻域中的训练实例进行预测;

优点:减少学习的估计误差;

缺点:学习的近似误差会增大,这时输入实例较远的实例点也会对预测起作用,使预测发生错误,即K值越大,意味着模型整体变得简单,当 K=n 时,无论输入实例是什么,都将它预测为训练实例中最多的类,此时模型过于简单,忽略了实例中大量的有用信息。


距离度量


由式可以看到,当p取不同值的时候,p范数就变成了不同的范数:

p=1,L1 范数;也就是曼哈顿距离,图中的红色的线;

p=2,L2 范数;也就是欧氏距离,图中的蓝色的线;

p 趋向无穷,就是 L_infinity 范数,图中的绿色的线。


下图为 p 为不同值时所对应的空间区域:

相关文章
|
1月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
6月前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
|
7月前
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
302 6
|
9月前
|
人工智能 编解码 算法
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
215 0
|
12月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
1151 6
|
9月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
10月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
1850 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
10月前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
254 14
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。

热门文章

最新文章