码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 统计学习方法第三章-k近邻法


    目录

    • 1.KNN
    • 2.KNN模型
    • 3.距离度量
      • 3.1 K值的选择
      • 3.2 分类决策规则
      • 3.3 KD树算法
      • 3.4 搜索KD树

    1.KNN

      k近邻法(k-nearest neighbor)是一种基本分类与回归方法。
      k近邻算法简单、直观:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类。
      例如下图所示,有正方形,圆形,三角形,要判定圆形属于哪一类,假设K=3,就会选取离圆形最近的三个图形,此时有两个三角形和一个正方形,三角形多一点,于是圆形就被判定为三角形这一类假设K=5,那么就是周围虚线这一圈,里面有三个正方形和两个三角形,此时正方形多,圆形就被判定为正方形类.

    在这里插入图片描述
    在这里插入图片描述
    没有显示的学习过程是没有办法得到一个模型来计算这个算法.
    在这里插入图片描述

    2.KNN模型

      k近邻法使用的模型实际上对应于对特征空间的划分。模型由三个基本要素,距离度量、k值的选择和分类决策规则决定。
    在这里插入图片描述
    在这里插入图片描述

    3.距离度量

    欧氏距离:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.1 K值的选择

      k值的选择会对近邻法的结果产生重大影响.
      如果选择较小的k值,就相当于用较小的邻域中的训练实例进行预测,“学习”的近似误差会减小,只有与输入实例较近的(相似的)训练实例才会对预测结果起作用。但缺点是“学习”的估计误差会增大,预测结果会对近邻的实例点非常敏感。如果邻近的实例点恰巧是噪声,预测就会出错。
      k值的减小就意味着整体模型变得复杂,容易发生过拟合。
      如果选择较大的k 值,就相当于用较大邻域中的训练实例进行预测。其优点是可以减少学习的估计误差,但缺点是学习的近似误差会增大。这时与输入实例较远的(不相似的)训练实例也会对预测起作用,使预测发生错误。k 值的增大就意味着整体的模型变得简单。
      如果k = N,那么无论输入实例是什么,都将预测训练头例中取多的类。这时,模型过于简单,完全忽略训练实例中的大量有用信息,是不可取的,
    在应用中,k值一般取一个比较小的数值。通常采用交叉验证法来选取最优的k值。可取的。

    3.2 分类决策规则

    少数服从多数
    在这里插入图片描述

    在这里插入图片描述

    3.3 KD树算法

    使用KD树算法快速寻找邻居
    在这里插入图片描述

      选择x(1)的坐标中位数为切分点,比中位数小的放左边成为左节点,大的放右边成为右节点,
    然后再用第二维向量x(2)继续计算


    在这里插入图片描述


    2,5,9,4,8,7 从小到大排序
    2,4,5,7,8,9
    第一维向量中位数是7,小于7的放左边,大于7的放右边,左边的节点是(2,3),(5,4),(4,7),然后这三个节点的中位数是4,再进行划分,剩下右节点是(8,1),(9,6),进行划分

    在这里插入图片描述

    3.4 搜索KD树

    在这里插入图片描述

  • 相关阅读:
    强化学习问题(六)--- 无法安装gym 0.21.0
    2023年9月26日LINUX融合改动记录
    操作系统笔记——Linux实战、Windows(持续更新)
    createjs新手教程-前端向(一)
    对话句子互动创始人李佳芮 | AIGC结合私域运营影响不可估量
    java计算机毕业设计线上医药用品分销系统设计与实现MyBatis+系统+LW文档+源码+调试部署
    线性数据—栈、队列、链表
    【深度学习】 Python 和 NumPy 系列教程(四):Python容器:2、元组tuple详解(初始化、索引和切片、元组特性、常用操作、拆包、遍历)
    【Qt系列】QtableWidget表格列宽自适应表格大小
    vue2 - SuperMap3D实现自定义标记点位和自定义弹窗功能
  • 原文地址:https://blog.csdn.net/ren9855/article/details/127836889
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号