SVM的理解

article/2025/10/1 2:42:51

1.SVM的概念

SVM,英文全称为 Support Vector Machine,中文名为支持向量机,由数学家Vapnik等人早在1963年提出。在深度学习兴起之前,SVM一度风光无限,是机器学习近几十年来最为经典的,也是最受欢迎的分类方法之一。

2.SVM的形象描述

SVM和小时候同桌之间划分的 “三八线” 很相似。

这样的“三八线”就可以看作二维空间中SVM的形象解释,它传递出了以下几点重要的信息:
1.是一条直线(线性函数);

2.能将桌面分为两个部分,分别属于你和我(具有分类功能,是一种二值分类);

3.位于课桌正中间,不偏向任何一方(注重公平原则,才能保证双方利益最大化)。

所以SVM本质模型是特征空间中最大化间隔的线性分类器,是一种二分类模型。

3.什么是线性分类器

SVM是一种线性分类器,分类的对象必须要求线性可分,但是实际上还存在很多线性不可分的情况。

例如下面这张图:
在这里插入图片描述
上图当中的左边部分就属于线性可分的例子,而右边则是线性不可分。假如样本特征数据是线性不可分的,则这样的线性分割线或分割面是根本不存在的,SVM分类也就无法实现。

在二维的平面课桌上,一条直线就足以将桌面一分为二。但如果扩展到三维空间中,则需要一个平面才能将立体空间区域一分为二。而对于高维空间,能将其一分为二的则称为超平面。

那么我们如何处理线性不可分呢?

SVM的解决办法就是先将数据变成线性可分的,再构造出最优分类超平面。
SVM 通过选择一个核函数 K ,将低维非线性数据映射到高维空间中。原始空间中的非线性数据经过核函数映射转换后,在高维空间中变成线性可分的数据,从而可以构造出最优分类超平面。

那么核函数又有哪些呢

  1. 线性核函数,就是简单原始空间中的内积。

  2. 多项式核函数,可根据R和d的取值不同,而有不同的计算式。

  3. 高斯核函数,可根据实际需要灵活选取参数σ,甚至还可以将原始维度空间映射到无穷维度空间。不过,如果σ取值很大,会导致高次特征上的权重衰减快;如果σ取值很小,其好处是可以将任意的数据映射成为线性可分,但容易造成过拟合现象。 高斯核函数是非常经典,也是使用最广泛的核函数之一。


http://chatgpt.dhexx.cn/article/9DM0DpZt.shtml

相关文章

SVM算法原理

简介 支持向量机(support vector machines)是一个二分类的分类模型(或者叫做分类器)。如图: 它分类的思想是,给定给一个包含正例和反例的样本集合,svm的目的是寻找一个超平面来对样本根据正例和…

svm原理详解,看完就懂(一)

(一)SVM的八股简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。 支持向量机方法…

SVM算法—原理讲解

原文作者:奔跑的前浪 原文地址:svm算法 最通俗易懂讲解 最近在学习svm算法,借此文章记录自己的学习过程,在学习时很多处借鉴了z老师的讲义和李航的统计,若有不足的地方,请海涵;svm算法通俗的理解…

SVM --从“原理”到实现

零. 本文所有代码均能在我 github上的 DML 找到,顺便求点Star 一.引入 从一开始接触机器学习,就感觉SVM(支持向量机 Support Vector Machine)就是高端大气上档次的代名词啊,在深度学习出来之前一直都力压ANN一头&…

SVM算法详解

Support Vector Machine 终于,我们来到了SVM。SVM是我个人感觉机器学习中最优美的算法,这次我们要来非常细致地介绍。SVM是一类有监督的分类算法,它的大致思想是:假设样本空间上有两类点,我们希望找到一个划分超平面&…

SVM简介

SVM 文章目录 SVM一. 什么是SVM1. 简介2.SVM分类 二. 详细介绍1. 线性可分SVM1.1 支撑点,支撑向量1.2 分割超平面与间隔最大化1.3 线性可分SVM的目标函数以及相关算法1.4 线性可分SVM的简单举例 2.线性SVM2.1 为什么需要线性SVM2.2 线性SVM相关理论2.3 线性SVM算法 …

Svm算法原理及实现

Svm(support Vector Mac)又称为支持向量机,是一种二分类的模型。当然如果进行修改之后也是可以用于多类别问题的分类。支持向量机可以分为线性核非线性两大类。其主要思想为找到空间中的一个更够将所有数据样本划开的超平面,并且使…

SVM 原理详解,通俗易懂

看了该作者的文章,瞬间膜拜了!讲得太好了! 转自:http://www.blogjava.net/zhenandaci/category/31868.html (一)SVM的简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的&…

机器学习笔记6:SVM基本原理

SVM的基本原理: 1、最大间隔原则 2、对偶表示 3、KKT条件 SVM(Support Vector Machine),又称支持向量机,在分类问题上,除了logistic分类回归外,还有另一种实现方式,那就是使用SVM原则。那么什么是SVM 呢。…

SVM原理

我们先认识一下SVM: (1)支持向量机(Support Vector Machine, SVM)是一种对数据进行二分类的广义线性分类器,其分类边界是对学习样本求解的最大间隔超平面。 (2)SVM使用铰链损失函数…

通俗易懂SVM原理介绍,适合小白食用

目录 1、SVM概念描述 2、SVM数学表达及相关计算 3、SVM优化问题定义 附:证明区 【证明1】 【计算1】 1、SVM概念描述 如图一所示,存在两个数据集,我们希望通过一个超平面将两个数据集分割开,并且我们希望这个超平面离两个数…

01-Hive创建表

声明:本实验环境是Apache hadoop-2.2.0,zookeeper-3.4.5,mysql Server version: 5.1.73作为元数据库,hive版本是apache-hive-0.9.0-bin,都是apache,不是CDH和其他。本实验集群3台,一个主节点(ha…

hive 中创建表的三种方式

官网地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManualDDL 通常我们所使用的创建hive表有三种方式 1.create table 首先我们找到官网对创建表的描述如下: ’[]’ 表示可选,’|’ 表示几选一 CREATE [TEMPORARY] [EXT…

hive创建新表——基础

创建基础表 1、创建表: create table if not exists orders 创建一个名叫“orders”的表,“if not exists”可以写可不写,如果相同名字的表已经存在,则抛出异常,可以用 IF NOT EXIST 选项来忽略这个异常。 2、定义表…

HIVE的常用操作-建库和表-插入数据

hive的安装(远程模式) 点击打开链接 使用hive----------------------- 启动hadoop 启动hive 创建数据库: create database myhive; 查看数据库: hive (default)> show databases; OK database_name default myhive 数…

Hive三种建表语句详解

转载自:https://blog.csdn.net/qq_36743482/article/details/78383964 注:hive其他语法在hive官网有说明,建议初学者,去官网学习一手的资料, 官网:https://cwiki.apache.org/confluence/display/Hive/Home#…

关于hive建表查询语句小记

库相关操作 创建数据库 CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_nameproperty_value, ...)]; IF NOT EXISTS 也就是没有重复库就创建,有重复就不执行建库 保证了建库…

hive、pg库,建表语句及查询表结构语句

1、hive hive 建表语句 DROP TABLE IF EXISTS tmp_001; CREATE TABLE tmp_001 (etl_time timestamp comment , day_id double comment , subs_id string comment , msisdn int comment ) comment partitioned by…

3、Hive数据仓库——建表语句

文章目录 Hive基本操作Hive查看SQL解析计划Hive建表建表1:全部使用默认建表方式 Hive 内部表 (Managed tables)指定location (这种方式也比较常用)formatted 查看该表的结构化数据,但并不列出表中的数据将本地数据上传到HDfS上 Hi…

HIVE的三种建表方式

目录 一、直接建表二、as (直接使用查询结果插入到一张新表)三、like(复制表结构) 一、直接建表 中括号里面的均为可选项 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name[(col_name data_type [COMMENT col_comment], ...…