文章目录

  • KNN简介
  • 算法原理
  • K值选择
  • 距离的计算
  • 学习参考

今天整理一下KNN的笔记,这个算法比较简单,没什么太多的东西。

我刚才看到一个视频教程,里面的老师说KNN是一个聚类算法,我疑惑了一秒,然后出去确认了一下他讲错了,KNN是分类算法,分类和聚类在数据上都是有本质区别的,可以在我整理聚类的那篇学习笔记里看到聚类和分类的区别。

  • 各种聚类笔记
  • 支持向量机SVM笔记
  • 决策树与随机森林笔记

KNN简介

KNN的全称是K Nearest Neighbors。意思是K个最近的邻居。
KNN是有监督学习,K-Means是无监督学习,这俩一个分类一个聚类。

简单介绍一下KNN:

比如有下面这样的数据:

该数据中只有蓝色和红色数据,绿色为未知数据(蓝或红)。
KNN就根据距离绿色样本最近的数据来判断绿色可能的颜色,
此时俩红距离其较近,所以该未知可能为红色。

算法原理

想说一下大致步骤

  • 计算样本的距离
  • 将得到的距离结果升序排序
  • 取排序结果的前K个
  • 加权平均

这里比较关键的点就是如何选择K的数值其次是距离的计算。

K值选择

k值是KNN算法的一个超参数,K的含义即参考”邻居“标签值的个数。 有个反直觉的现象,K取值较小时,模型复杂度(容量)高,训练误差会减小,泛化能力减弱;K取值较大时,模型复杂度低,训练误差会增大,泛化能力有一定的提高。
原因是K取值小的时候(如k==1),仅用较小的领域中的训练样本进行预测,模型拟合能力比较强,决策就是只要紧跟着最近的训练样本(邻居)的结果。但是,当训练集包含”噪声样本“时,模型也很容易受这些噪声样本的影响(如图 过拟合情况,噪声样本在哪个位置,决策边界就会画到哪),这样会增大"学习"的方差,也就是容易过拟合。这时,多”听听其他邻居“训练样本的观点就能尽量减少这些噪声的影响。K值取值太大时,情况相反,容易欠拟合。

通过交叉验证不断尝试最优的K值,从选取一个较小的K值开始,不断增加K的值,然后计算验证集合的方差,最终找到一个比较合适的K值。

还可以根据经验选择,比如经常性的做某一数据集,知道他的K大概是多少比较好。

距离的计算

之前在聚类的笔记里已经记录了很多种距离的计算方式了,比如欧几里得距离,曼哈顿距离等等,可以去那篇笔记里看一下,----聚类的笔记

学习参考

K值选择:https://www.zhihu.com/question/40456656

KNN简介(讲错的那个视频):https://www.bilibili.com/video/BV1Nt411i7oD?spm_id_from=333.337.search-card.all.click

机器学习算法----KNN K邻近 (K值的选择) (学习笔记)相关推荐

  1. 《机器学习》 —— 第二章:模型评估与选择 学习笔记

    2.1 经验误差与过拟合 把分类错误的样本数占样本总数的比例称为"错误率"(error rate),即如果在m个样本中有a个样本分类错误,则错误率E=a/m:相应的,1-a/m称为 ...

  2. 机器学习算法—KNN算法原理

    机器学习算法-KNN算法原理 概述: KNN算法一般也会经常被称为K邻近算法,其核心思想是根据训练集中的样本分类计算测试集中样本与训练集中所有样本的距离,根据所设定的K值选取前K个测试样本与训练样本最 ...

  3. 操作系统实验:页面置换算法的模拟实现及命中率对比(学习笔记)

    操作系统实验:页面置换算法的模拟实现及命中率对比(学习笔记) 题目要求 输入要求 输出要求 编程平台 实验成果 开始模拟 错误输入 退出程序 代码实现 抽象数据类型定义 指令地址流生成 指令地址流到页 ...

  4. 机器学习算法(7)——K近邻(KNN)、K-means、模糊c-均值聚类、DBSCAN与层次与谱聚类算法

    1.K-近邻算法(KNN)概述 (有监督算法,分类算法) 最简单最初级的分类器是将全部的训练数据所对应的类别都记录下来,当测试对象的属性和某个训练对象的属性完全匹配时,便可以对其进行分类.但是怎么可能 ...

  5. 机器学习之KNN最邻近分类算法

    KNN算法简介 KNN(K-Nearest Neighbor)最邻近分类算法是数据挖掘分类(classification)技术中最简单的算法之一,其指导思想是"近朱者赤,近墨者黑" ...

  6. 白话机器学习算法理论+实战之K近邻算法

    1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,比如我之前写过的一篇十大机器学习算法的小总结,在这简单的先捋一捋, 常见的机器学习算法: 监督学习算法:逻辑 ...

  7. 机器学习算法之K-means(K均值聚类)算法

    聚类 聚类,简单来说,就是将一个庞杂数据集中具有相似特征的数据自动归类到一起,称为一个簇,簇内的对象越相似,聚类的效果越好.它是一种无监督的学习(Unsupervised Learning)方法,不需 ...

  8. 机器学习算法集锦:从贝叶斯到深度学习及各自优缺点

    公众号关注 "视学算法" 设为 "星标",DLCV消息即可送达! 来自 | 机器之心 链接 | https://static.coggle.it/diagram ...

  9. 机器学习算法平台alink_Alink漫谈(十二) :在线学习算法FTRL 之 整体设计

    Alink漫谈(十二) :在线学习算法FTRL 之 整体设计 [Toc] 0x00 摘要 Alink 是阿里巴巴基于实时计算引擎 Flink 研发的新一代机器学习算法平台,是业界首个同时支持批式算法. ...

  10. 《百面机器学习算法工程师带你去面试》资料学习

    <百面机器学习算法工程师带你去面试>收录了超过100道机器学习算法工程师的面试题目和解答,其中大部分源于Hulu算法研究岗位的真实场景.本书从日常工作.生活中各种有趣的现象出发,不仅囊括了 ...

最新文章

  1. 二十八、深入浅出Python中的 logging模块
  2. 作业 29 广义积分
  3. 机器学习能诊断病情,还能预测患者出院后的情况?
  4. AcWing:3.完全背包问题
  5. 一句话证明你是产品经理
  6. 英雄联盟更新防沉迷规则:未成年用户节假日每日限玩3小时
  7. 在SpringBoot中优雅的实现定时任务
  8. AOJ2025 Eight Princes
  9. thinkphp3.2.3 bug集锦
  10. 跨界合作成潮流 智能家居竞争升级
  11. win98访问win7方法
  12. VC2005 MFC静态文本框背景色设置
  13. echarts中国地图,省市标注代码
  14. 单片机实验(流水灯)(c语言程序),51单片机c语言_单片机流水灯c语言程序_单片机c语言入门...
  15. Android 稳定性面试一文通
  16. 潇潇雨祭--(我很好的朋友的一篇讲述爱情的文章!)
  17. 计算机二级python易错选择题汇总
  18. Gene Pattern
  19. 亚太融媒+ | APEC数据+:“鲸确数集”环保熊猫“小保保”2022拜年 | APEC产业+
  20. Opencv中rect的功能应用

热门文章

  1. Windows电脑如何访问小米路由器的移动硬盘
  2. 旅游指南之一----各地旅行社
  3. qemu 搭建 ARM Linux环境
  4. 如何选择合适的字体:宋体篇
  5. 微博、微信、qq、空间、等分享功能
  6. RocketMQ 实战与原理解析
  7. 电脑很大,电脑内存很大为什么还是很卡
  8. ORACLE11g数据库安装-刘建-专题视频课程
  9. G - Numbers ZOJ - 3987 (大数+贪心)
  10. php企业后台管理系统模板,DouPHP_admin 蓝色企业CMS后台管理模板 - 下载 - 搜珍网...