0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

kNN算法是监督学习中分类方法的一种

lviY_AI_shequ 来源:未知 作者:李倩 2018-09-19 17:40 次阅读

1.引言

顶级数据挖掘会议ICDM于2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naïve Bayes与 CART。 以前看过关于这些数据挖掘算法,但对背后数学原理未做过多探究,因而借此整理以更深入地理解这些算法。

本文讨论的kNN算法是监督学习中分类方法的一种。所谓监督学习与非监督学习,是指训练数据是否有标注类别,若有则为监督学习,若否则为非监督学习。监督学习是根据输入数据(训练数据)学习一个模型,能对后来的输入做预测。在监督学习中,输入变量与输出变量可以是连续的,也可以是离散的。若输入变量与输出变量均为连续变量,则称为回归;输出变量为有限个离散变量,则称为分类;输入变量与输出变量均为变量序列,则称为标注[2]。

2.kNN算法

kNN算法的核心思想非常简单:在训练集中选取离输入的数据点最近的k个邻居,根据这个k个邻居中出现次数最多的类别(最大表决规则),作为该数据点的类别。

算法描述

训练,其类别,训练集中样本点数为N,类别数为K。输入待预测数据,则预测类别

其中,涵盖的k邻域记作,当时指示函数,否则

分类决策规则

kNN学习模型:输入,通过学习得到决策函数:输出类别。假设分类损失函数为0-1损失函数,即分类正确时损失函数值为0,分类错误时则为1。假如给预测类别为,即;同时由式子(1)可知k邻域的样本点对学习模型的贡献度是均等的,则kNN学习模型误分类率为

若要最小化误分类率,则应

所以,最大表决规则等价于经验风险最小化。

存在问题

k值得选取对kNN学习模型有着很大的影响。若k值过小,预测结果会对噪音样本点显得异常敏感。特别地,当k等于1时,kNN退化成最近邻算法,没有了显式的学习过程。若k值过大,会有较大的邻域训练样本进行预测,可以减小噪音样本点的减少;但是距离较远的训练样本点对预测结果会有贡献,以至于造成预测结果错误。下图给出k值的选取对于预测结果的影响:

前面提到过,k邻域的样本点对预测结果的贡献度是相等的;但距离更近的样本点应有更大的相似度,其贡献度应比距离更远的样本点大。可以加上权值进行修正,则最大表决原则变成:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4454

    浏览量

    90747
  • 数据挖掘
    +关注

    关注

    1

    文章

    405

    浏览量

    24032

原文标题:【十大经典数据挖掘算法】kNN

文章出处:【微信号:AI_shequ,微信公众号:人工智能爱好者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何用卷积神经网络方法去解决机器监督学习下面的分类问题?

    人工智能下面有哪些机器学习分支?如何用卷积神经网络(CNN)方法去解决机器学习监督学习下面的分类问题?
    发表于 06-16 08:09

    人工智能基本概念机器学习算法

    目录人工智能基本概念机器学习算法1. 决策树2. KNN3. KMEANS4. SVM5. 线性回归深度学习算法1. BP2. GANs3.
    发表于 09-06 08:21

    使用KNN进行分类和回归

    般情况下k-Nearest Neighbor (KNN)都是用来解决分类的问题,其实KNN一种可以应用于数据
    发表于 10-28 14:44

    基于半监督学习框架的识别算法

    问题,对半监督学习中的协同训练算法进行改进,提出了一种基于多学习器协同训练模型的人体行为识别方法.这是
    发表于 01-21 10:41 1次下载

    你想要的机器学习课程笔记在这:主要讨论监督学习和无监督学习

    with experience E(一个程序从经验E中学习解决任务T进行某一任务量度P,通过P测量在T的表现而提高经验E(另一种定义:机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。) 不同类型的机器
    发表于 12-03 17:12 420次阅读

    如何用Python进行无监督学习

    监督学习一种用于在数据中查找模式的机器学习技术。无监督算法给出的数据不带标记,只给出输入变量(X),没有相应的输出变量。在无
    的头像 发表于 01-21 17:23 3959次阅读

    详解机器学习分类算法KNN

    本文主要介绍一个被广泛使用的机器学习分类算法,K-nearest neighbors(KNN),中文叫K近邻算法
    的头像 发表于 10-31 17:18 5707次阅读

    机器学习算法中有监督和无监督学习的区别

    监督学习的好处之一是,它不需要监督学习必须经历的费力的数据标记过程。但是,要权衡的是,评估其性能的有效性也非常困难。相反,通过将监督学习算法的输出与测试数据的实际标签进行比较,可以很
    的头像 发表于 07-07 10:18 5373次阅读

    最基础的半监督学习

    导读 最基础的半监督学习的概念,给大家一个感性的认识。 半监督学习(SSL)是一种机器学习技术,其中任务是从一个小的带标签的数据集和相对较大的未带标签的数据中
    的头像 发表于 11-02 16:08 2382次阅读

    监督学习最基础的3个概念

    导读 今天给大家介绍半监督学习中的3个最基础的概念:一致性正则化,熵最小化和伪标签,并介绍了两个经典的半监督学习方法。 没看一的点这里哈:半监督学习入门基础(一) 半监督学习 (SSL
    的头像 发表于 11-02 16:14 2683次阅读
    半<b class='flag-5'>监督学习</b>最基础的3个概念

    为什么半监督学习是机器学习的未来?

    为什么半监督学习是机器学习的未来。 监督学习是人工智能领域的第一种学习类型。从它的概念开始,无数的算法
    的头像 发表于 11-27 10:42 3648次阅读

    监督学习:比监督学习做的更好

    监督学习是人工智能领域的第一种学习类型。从它的概念开始,无数的算法,从简单的逻辑回归到大规模的神经网络,都已经被研究用来提高精...
    的头像 发表于 12-08 23:32 1140次阅读

    机器学习中的无监督学习应用在哪些领域

    解决数据中心、云计算、人工智能和边缘计算等各个行业的问题,为人们带来极大便益。 自监督学习是什么? 自监督学习监督学习和非监督学习的关系 自我监督
    发表于 01-20 10:52 4597次阅读
    机器<b class='flag-5'>学习</b>中的无<b class='flag-5'>监督学习</b>应用在哪些领域

    一种基于伪标签半监督学习的小样本调制识别算法

    一种基于伪标签半监督学习的小样本调制识别算法 来源:《西北工业大学学报》,作者史蕴豪等 摘 要:针对有标签样本较少条件下的通信信号调制识别问题,提出了一种基于伪标签半
    发表于 02-10 11:37 639次阅读

    KNN算法分类回归树、随机森林的优缺点及应用实例

    KNN属于一种监督学习分类算法,用于训练的数据集是完全正确且已分好类的。
    的头像 发表于 11-11 10:11 3657次阅读