热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

机器学习笔记之K近邻算法

基于实例的学习方法K近邻算法其实是一种基于实例的学习算法。基于实例的学习方法只是简单的把样例存储起来。把这些实例中泛化的工作被推迟到必须分类实例的时候。每当学习器遇到一个新的查询实例,它分

基于实例的学习方法

      K近算法其实是一种基于实例的学习算法。基于实例的学习方法只是简单的把样例存储起来。把这些实例中泛化的工作被推迟到必须分类实例的时候。每当学习器遇到一个新的查询实例,它分析这个新实例与以前存储的实例的关系。并据此把一个目标函数值赋给新的实例。

        基于实例的学习方法包括K近算法和局部加权回归。本文只讲K近算法。

      基于实例学习方法与其他算法相比:基于实例方法可以为不同的待分类查询实例建立不同的目标函数逼近。事实上,很多技术只是建立目标函数的局部逼近,将其运用于与新查询邻近的实例,而从不在整个实例空间上建立表现良好的逼近。当目标复杂但却用这种不太复杂的局部逼近时,具有显著优势。(k较小的时候,模型比较复杂,k较大的时候,模型比较简单。我们区域选择模型简单的分类,奥卡姆剃刀

      基于实例学习方法缺点:分类新实例开销太大,K值不好选


K-近邻算法

    该算法假定所有的实例对应于n维空间总的点。一个实例的最近邻是根据标准欧式距离定义的(欧式距离计算)。在K近邻计算中,目标函数值可以使离散的也可以实值的。

    (1)离散情况下:用距离样例最近的K个训练样例最普遍的值估计当前样例的值。最普可以是哪种样本值占比例最大


    (2)连续情况下:用距离样例最近的K个训练样例平均值估计当前样例的值。


距离加权算法

      对于k近邻算法的一个明显改进是对K个近邻的贡献加权。根据他们相对查询点的距离,将较大的权值赋给较近的近邻

    (1)可用距离平方的倒数作权值:


    (2)上面这种方法有个问题,恰好匹配当前样例点将导致分母无穷大。可以用下面这个公式进行加权:

注:上面只考虑K个近邻去分类查询点,其实也可以全部样例,只不过距离远的点,权值很小(趋于0)。这样我们定义如果运用全部样例去分类一个新的实例叫作全局法。只用K个近邻点,叫局部法



K-近邻算法优缺点

    (1)抗噪声能力强:通过对近邻加权可以消除孤立噪声。

    (3)维度灾难:k-近邻算法在计算距离的时候,考虑实例的所有属性。可能分类仅由2个属性决定,这中情况下属性的相似性度量会误导k-近邻算法的分类。

      解决办法:(1)属性加权;(2)剔除不相关的属性。


后记:

    推荐一下本博客的两篇文章:K近邻与kd树,从kd树谈到SIFT算法



推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 词袋模型的通俗介绍
    词,袋, ... [详细]
  • 本文详细介绍了商汤科技面试中涉及的CV算法面经内容,包括CornerNet的介绍与CornerPooling的解决方案、Mimic知识蒸馏的实现方式、MobileNet的特点、普通卷积和DW PW卷积的计算量推导、Residual结构的来源等。同时还讨论了在人脸关键点和检测中的mimic实现方式、pose对人脸关键点的提升作用、目标检测中可能遇到的问题以及处理检测类别冲突的方法。此外,还涉及了对机器学习的了解程度和相似度分析的问题。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 三元组法矩阵加法java_机器学习 第三章:矩阵(含有笔记)
    目录:一、矩阵的维度二、矩阵元素表示方法三、列向量索引方法四、矩阵的加法五、矩阵乘除加减基本运算六、矩阵乘法七、利用矩阵计算八、矩阵与矩阵相乘九、矩阵相乘不符合交换律 ... [详细]
  • 分享2款网站程序源码/主题等后门检测工具
    本文介绍了2款用于检测网站程序源码和主题中是否存在后门的工具,分别是WebShellkiller和D盾_Web查杀。WebShellkiller是一款支持webshell和暗链扫描的工具,采用多重检测引擎和智能检测模型,能够更精准地检测出已知和未知的后门文件。D盾_Web查杀则使用自行研发的代码分析引擎,能够分析更为隐藏的WebShell后门行为。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
author-avatar
和寧世杰471
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有