人工智能算法-SVM, KNN

这篇具有很好参考价值的文章主要介绍了人工智能算法-SVM, KNN。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

SVM, KNN区别

一、KNN算法概述

  算法的描述:

二、关于K的取值

  K的取法:

三、关于距离的选取

  Euclidean Distance 定义:

四、总结


SVM, KNN区别

https://www.cnblogs.com/liuxiaochong/p/14269313.html

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

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

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

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

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

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

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

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

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

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

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

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

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

升维效果展示

人工智能算法-SVM, KNN,2021 AI python,支持向量机,机器学习,人工智能

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

人工智能算法-SVM, KNN,2021 AI python,支持向量机,机器学习,人工智能

 人工智能算法-SVM, KNN,2021 AI python,支持向量机,机器学习,人工智能

人工智能算法-SVM, KNN,2021 AI python,支持向量机,机器学习,人工智能

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

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

人工智能算法-SVM, KNN,2021 AI python,支持向量机,机器学习,人工智能

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

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

人工智能算法-SVM, KNN,2021 AI python,支持向量机,机器学习,人工智能

人工智能算法-SVM, KNN,2021 AI python,支持向量机,机器学习,人工智能
我们看到,随着 与的距离的距离的增大,其高斯核函数值在单调递减。并且,越大,那么高斯核函数的局部影响范围就会越大。

二维情况

人工智能算法-SVM, KNN,2021 AI python,支持向量机,机器学习,人工智能
二维可以更加明显的看出高斯核函数局部作用的范围随带通的变化情况。带通越大,高斯核函数的局部影响的范围就越大。在超出这个范围之后,核函数的值几乎不变。

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

人工智能算法-SVM, KNN,2021 AI python,支持向量机,机器学习,人工智能

一、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,2021 AI python,支持向量机,机器学习,人工智能

  算法的描述:

  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,2021 AI python,支持向量机,机器学习,人工智能

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

人工智能算法-SVM, KNN,2021 AI python,支持向量机,机器学习,人工智能

四、总结

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

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

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

  KNN很耗时,时间复杂度为O(n),一般适用于样本数较少的数据集,当数据量大时,可以将数据以树的形式呈现,能提高速度,常用的有kd-tree和ball-tree。文章来源地址https://www.toymoban.com/news/detail-646062.html

到了这里,关于人工智能算法-SVM, KNN的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 脸鉴AI开放平台:轻松上手的人工智能算法

    序言 一、提升开发效率工具 1.1封装view窗口 1.2封装常用功能接口 1.3提供基础接口代码块 二、使用介绍 2.1 注册登录 2.2 新建应用 2.3 下载应用 2.4 安装包介绍 2.5 demo项目 2.6 配置demo 2.7 运行demo 三、使用结果 3.1 摄像头采集人脸添加模板 3.2 实时画面1:N人脸检测 3.3 照片测

    2024年02月08日
    浏览(49)
  • 视频AI方案:数据+算力+算法,人工智能的三大基石

    随着信息技术的迅猛发展,人工智能(AI)已经逐渐渗透到我们生活的各个领域,从智能家居到自动驾驶,从医疗诊断到金融风控,AI的应用正在改变着我们的生活方式。而数据、算法和算力,正是构成人工智能技术的三大核心要素,它们之间相互关联、相互影响,共同推动着

    2024年04月09日
    浏览(55)
  • 人工智能:支持向量机SVM 练习题(带解析)

    1.对于线性可分的二分类任务样本集,将训练样本分开的超平面有很多,支持向量机试图寻找满足什么条件的超平面?(A) A.在正负类样本“正中间”的 B.靠近正类样本的 C.靠近负类样本的 D.以上说法都不对 解析 :从直观上来看,当所找到的超平面恰好位于正负类样本点“

    2024年02月06日
    浏览(48)
  • 一文详解人工智能:线性回归、逻辑回归和支持向量机(SVM)

    在人工智能领域,线性回归、逻辑回归和支持向量机是常见的机器学习算法。本文将详细介绍这三种算法的原理和应用,并提供相应的代码示例。 线性回归是一种用于建立变量之间线性关系的回归分析方法。它通过拟合一个线性模型来预测连续变量的值。线性回归的目标是找

    2024年02月03日
    浏览(49)
  • 人工智能算法|K均值聚类算法Python实现

    K 均值聚类算法是一种简单的迭代型聚类算法,采用距离作为相似性指标,从而发现给定数据集中的 K 个类,且每个类有一个聚类中心,即质心,每个类的质心是根据类中所有值的均值得到。对于给定的一个包含n个d维数据点的数据集X以及要分得的类别 K ,选取欧式距离作为

    2024年02月05日
    浏览(61)
  • Python赋能AI数据分析开启人工智能新时代

    随着我国企业数字化和信息化的深入,企业对办公自动化的效率和灵活性要求越来越高。Python作为一种开源的软件应用开发方式,通过提供强大丰富的库文件包,极大地简化了应用开发过程,降低了技术门槛。Python开发有哪些优势、挑战以及实践方法呢? 在我们的日常工作中

    2024年04月14日
    浏览(78)
  • 【大数据&AI人工智能】HBase的核心数据结构和算法原理是什么?给出代码实例

    HBase是一个开源的非关系型分布式数据库,它参考了Google的BigTable模型,实现语言为 Java。它是Apache软件基金会的Hadoop项目的一部分,运行在HDFS文件系统之上,为 Hadoop 提供类BigTable 的服务。 HBase的核心数据结构和算法原理是什么?给出代码实例。HBase的核心数据结构和算法原

    2024年02月09日
    浏览(58)
  • 【Python | 人工智能】一文讲清AI赋能自动驾驶的底层原理

    引言 人工智能引领现代,智能AI赋能未来。 它在当今社会和科技领域中具有重要性。 本文将着重探讨人工智能对自动驾驶技术的深度赋能和应用场景等。 有时我们乘坐网约车的时候,能打到无人驾驶汽车,全程均为AI语音播报: 自动驾驶是指通过使用 各种传感器 、 计算机

    2024年02月04日
    浏览(59)
  • Python开源项目之人工智能老照片修复算法学习

    老旧或者破损的照片如何修复呢?本文主要分享一个博主使用后非常不错的照片恢复开源项目:Bringing-Old-Photos-Back-to-Life。 项目的Github地址:项目地址 我们先看看官方给出的效果图: 就算现在看到这张图,我仍然觉着非常惊艳。下面我会把项目环境安装部署,到最后使用的

    2024年02月03日
    浏览(70)
  • 人工智能(AI)领域广泛使用的关键算法及其解决的问题 列出计算机中各种算法及对应解决的实际问题

    机器学习算法 : 线性回归(Linear Regression) : 问题:用于预测或估计一个变量与另一个变量之间的关系。 逻辑回归(Logistic Regression) : 问题:用于二分类问题,预测一个事件发生的概率。 支持向量机(Support Vector Machines, SVM) : 问题:用于分类和回归任务,尤其适用于高维数

    2024年02月03日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包