首页 > 编程语言 >人工智能算法-SVM, KNN

人工智能算法-SVM, KNN

时间:2023-11-03 14:34:40浏览次数:43  
标签:KNN SVM 函数 人工智能 样本 距离 高斯


目录

SVM, KNN区别

一、KNN算法概述

  算法的描述:

二、关于K的取值

  K的取法:

三、关于距离的选取

  Euclidean Distance 定义:

四、总结


SVM, KNN区别

SVM:先在训练集上训练一个模型,然后用这个模型直接对测试集进行分类。

KNN:没有训练过程,只是将训练数据与训练数据进行距离度量来实现分类。

SVM:训练完直接得到超平面函数,根据超平面函数直接判定预测点的label,预测效率很高

KNN:预测过程需要挨个计算每个训练样本和测试样本的距离,当训练集和测试集很大时,预测效率低。

SVM:SVM是要去找一个函数把达到样本可分。

KNN:KNN对每个样本都要考虑。

SVM:SVM处理高纬度数据比较优秀

KNN:KNN不能处理样本维度太高的东西

选出最好的决策边界
决策边界要大的,宽的道路行动更快

支持寻找向量
支持向量要小的,考虑自己最近的雷才最安全

距离计算(点到平面的距离)

D=|Ax0+By0+Cz0+D|/√ (A²+B²+C²)

目标函数
目的:找到一条线,是的离该线最近的点能够最远
目标函数可以体现svm的基本定义
放缩变换和优化目标
核函数
升维,二维变成三维的,能够用很好的平面分开

升维效果展示

人工智能算法-SVM, KNN_核函数

编辑 高斯核函数

高斯核函数是一种局部性较强的函数,改函数是应用最广的一个,无论在大样本或者在小样本都有比较好的性能,且相对于多项式核函数来说参数更少。当数据点距离中心点变远时,取值会变小。高斯核函数对数据中存在的噪声有着较好的抗干扰能力,由于其很强的局部性,其参数决定了函数作用范围,随着参数σ的增大而减弱。

人工智能算法-SVM, KNN_数据集_02

编辑

人工智能算法-SVM, KNN_核函数_03

编辑 

人工智能算法-SVM, KNN_数据_04

编辑

人工智能算法-SVM, KNN_核函数_05

编辑

线性支持向量机 (Linear-SVM) 被用于线性可分的数据集的二分类问题,当数据集不是线性可分的时候,需要利用到核函数将数据集映射到高维空间。这样数据在高维空间中就线性可分。

高斯核函数(Gaussian kernel),也称径向基 (RBF) 函数,是常用的一种核函数。它可以将有限维数据映射到高维空间,我们来看一下高斯核函数的定义:

人工智能算法-SVM, KNN_Python_06

编辑

上述公式涉及到两个向量的欧式距离(2范数)计算,而且,高斯核函数是两个向量欧式距离的单调函数。 σ 是带宽,控制径向作用范围,换句话说, σ控制高斯核函数的局部作用范围。当 x 和x′ 的欧式距离处于某一个区间范围内的时候,假设固定 x′, k(x,x′)随x的变化而变化的相当显著。

一维情况
令, 随x的变化情况如下图所示:

人工智能算法-SVM, KNN_核函数_07

编辑

人工智能算法-SVM, KNN_数据_08

编辑

我们看到,随着 与的距离的距离的增大,其高斯核函数值在单调递减。并且,越大,那么高斯核函数的局部影响范围就会越大。

二维情况

人工智能算法-SVM, KNN_数据集_09

编辑

二维可以更加明显的看出高斯核函数局部作用的范围随带通的变化情况。带通越大,高斯核函数的局部影响的范围就越大。在超出这个范围之后,核函数的值几乎不变。

高斯核将数据映射到高维甚至无穷维的原理

人工智能算法-SVM, KNN_数据_10

编辑

一、KNN算法概述

  邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。Cover和Hart在1968年提出了最初的邻近算法。KNN是一种分类(classification)算法,它输入基于实例的学习(instance-based learning),属于懒惰学习(lazy learning)即KNN没有显式的学习过程,也就是说没有训练阶段,数据集事先已有了分类和特征值,待收到新样本后直接进行处理。与急切学习(eager learning)相对应。

  KNN是通过测量不同特征值之间的距离进行分类。 

  思路是:如果一个样本在特征空间中的k个最邻近的样本中的大多数属于某一个类别,则该样本也划分为这个类别。

KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。

  提到KNN,网上最常见的就是下面这个图,可以帮助大家理解。

  我们要确定绿点属于哪个颜色(红色或者蓝色),要做的就是选出距离目标点距离最近的k个点,看这k个点的大多数颜色是什么颜色。当k取3的时候,我们可以看出距离最近的三个,分别是红色、红色、蓝色,因此得到目标点为红色。

人工智能算法-SVM, KNN_核函数_11


编辑

  算法的描述:

  1)计算测试数据与各个训练数据之间的距离;

  2)按照距离的递增关系进行排序;

  3)选取距离最小的K个点;

  4)确定前K个点所在类别的出现频率;

  5)返回前K个点中出现频率最高的类别作为测试数据的预测分类

二、关于K的取值

  K:临近数, 即在预测目标点时取几个临近的点来预测。

  K值得选取非常重要,因为:

  如果当K的取值过小时,一旦有噪声得成分存在们将会对预测产生比较大影响,例如取K值为1时,一旦最近的一个点是噪声,那么就会出现偏差, K值的减小就意味着整体模型变得复杂,容易发生过拟合;

  如果K的值取的过大时,就相当于用较大邻域中的训练实例进行预测,学习的近似误差会增大。这时与输入目标点较远实例也会对预测起作用,使预测发生错误。K值的增大就意味着整体的模型变得简单;

  如果K==N的时候,那么就是取全部的实例,即为取实例中某分类下最多的点,就对预测没有什么实际的意义了;

  K的取值尽量要取奇数,以保证在计算结果最后会产生一个较多的类别,如果取偶数可能会产生相等的情况,不利于预测。

  K的取法:

   常用的方法是从k=1开始,使用检验集估计分类器的误差率。重复该过程,每次K增值1,允许增加一个近邻。选取产生最小误差率的K。

  一般k的取值不超过20,上限是n的开方,随着数据集的增大,K的值也要增大。

三、关于距离的选取

  距离就是平面上两个点的直线距离

  关于距离的度量方法,常用的有:欧几里得距离、余弦值(cos), 相关度 (correlation), 曼哈顿距离 (Manhattan distance)或其他。

  Euclidean Distance 定义:

  两个点或元组P1=(x1,y1)和P2=(x2,y2)的欧几里得距离是

人工智能算法-SVM, KNN_核函数_12


编辑

  距离公式为:(多个维度的时候是多个维度各自求差)

人工智能算法-SVM, KNN_Python_13


编辑

四、总结

  KNN算法是最简单有效的分类算法,简单且容易实现。当训练数据集很大时,需要大量的存储空间,而且需要计算待测样本和训练数据集中所有样本的距离,所以非常耗时

  KNN对于随机分布的数据集分类效果较差,对于类内间距小,类间间距大的数据集分类效果好,而且对于边界不规则的数据效果好于线性分类器。

  KNN对于样本不均衡的数据效果不好,需要进行改进。改进的方法时对k个近邻数据赋予权重,比如距离测试样本越近,权重越大。

  KNN很耗时,时间复杂度为O(n),一般适用于样本数较少的数据集,当数据量大时,可以将数据以树的形式呈现,能提高速度,常用的有kd-tree和ball-tree。


标签:KNN,SVM,函数,人工智能,样本,距离,高斯
From: https://blog.51cto.com/u_12480926/8169219

相关文章

  • 这才是当今生成式人工智能的根本性问题!
    原创|文BFT机器人01引言近年来,生成式人工智能产品层出不穷,ChatGPT火爆出圈后,百度、谷歌等科技大佬争相研究生成式人工智能产品,将该技术的普及程度提升到了一个新的水平。然而,生成式人工智能的运营需要高昂的能源成本。02现代化风向标:光速发展的人工智能人工智能的产生是必然,是人......
  • 10月发布的5篇人工智能论文推荐
    JudgeLM:Fine-tunedLargeLanguageModelsareScalableJudges 由于现有基准和指标的限制,在开放式环境中评估大型语言模型(llm)是一项具有挑战性的任务。为了克服这一挑战,本文引入了微调llm作为可扩展“法官”的概念,称为JudgeLM,这样可以在开放式基准场景中有效地评估llm。该......
  • 【专题】2023人工智能大模型在工业领域知识问答稳定性报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34132自18世纪中期工业革命以来,人类进入工业社会。在历次工业革命中,人类通过发明创造和管理革新,改进生产方式、降低成本、提高效率,随之而来的是生活、物质、文化、教育等各方面的变化,人际关系和社会结构也得以重塑。如今,数字化技术的发展为工业注入......
  • 曼孚科技受邀加入中国人工智能产业联盟数据委员会
    近日,曼孚科技成功加入中国人工智能产业联盟(以下简称AIIA)数据委员会,成为委员会首批成员单位。AIIA是由中国信息通信研究院牵头,由国家发展和改革委员会、科学技术部、工业和信息化部、中央网信办等部门共同指导的产业联盟,致力于探索人工智能的新模式和新机制,构建我国人工智能产业生......
  • 使用适用于企业的 Amazon Bedrock 释放生成式人工智能的力量!
    AmazonBedrock是一项完全托管的服务,可从Amazon和可通过API访问的第三方模型提供程序.目前支持以下基础模型,通过Bedrock我们可以很轻松只通过几次点击就可以实现复杂的文本,图片,对话聊天等生成式的任务。本文将会介绍一下怎么开始使用AmazonBedrock以及Bedrock的基础演示。模......
  • 【专题】时空人工智能赋能数字孪生城市白皮书报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34041本次报告合集分为数字孪生综述、技术架构建设、核心技术分享、新型技术成果展示以及重点行业应用五大内容版块。从数字孪生应用建设路径的角度出发,着重提出了“数智视融合,虚实人联动”的观点,并提供数字孪生应用技术的参考。同时,本报告合集还完......
  • 人工智能之从零理解人工神经网络
    人工智能之从零理解人工神经网络引人工智能并非是一个新型的词汇,从十九世纪五十年代开始,人们就开始探索为机器赋予类似人的智能能力。限于当时的基础数学理论不够完善,人工智能的发展并不顺利。直到九十年代发展出了基于统计学的数学工具,人工智能才得到飞速的发展。人工智能既是为机......
  • 忆阻器在人工智能领域的潜在应用
    忆阻器在神经元仿真和人工智能领域中的潜力是巨大的,因为它们表现出生物类似的工作方式,能够模拟大脑中的神经元工作,同时具有数字电路的可编程性。这使得它们成为构建更接近生物神经元工作方式的人工神经网络的理想选择。在本文中,我将深入探讨忆阻器在神经元仿真和人工智能中的应用,......
  • SVM支持向量机算法介绍
        如果你是一名模式识别专业的研究生,又或者你是机器学习爱好者,SVM是一个你避不开的问题。如果你只是有一堆数据需要SVM帮你处理一下,那么无论是Matlab的SVM工具箱,LIBSVM还是python框架下的SciKitLearn都可以提供方便快捷的解决方案。但如果你要追求的不仅仅是会用,还希望挑......
  • 【论文解读】RLAIF基于人工智能反馈的强化学习
    【论文解读】RLAIF基于人工智能反馈的强化学习一、简要介绍人类反馈强化学习(RLHF)可以有效地将大型语言模型(LLM)与人类偏好对齐,但收集高质量的人类偏好标签是一个关键瓶颈。论文进行了一场RLHF与来自人工智能反馈的RL的比较(RLAIF)-一种由现成的LLM代替人类标记偏好的......