支持向量机(SVM)的数学原理


线性可分数据

数据抽象为不同特征值作为不同维度的向量后,将分布在高维空间中,高维空间中的数据,如果能用一个维平面分开不同标签的数据,则称这组数据线性可分。


高维空间中的距离

如果高维空间中的数据线性可分,我们希望尽量用一个平面把两组数据分得开一点,那么我们需要引入度量,下面推导高维空间中的距离。
  


求解分隔平面的优化问题

考虑线性可分的数据,我们为了分得开一点,需要转化为以下优化问题,由于优化问题是一个带约束的最值问题,所以可以考虑使用拉格朗日乘子法求出平面参数符合的必要条件。
  

求解时,可以转化为对偶问题求解。(对偶问题以及KKL条件可以参考拉格朗日乘子法)


用SMO算法求解对偶问题

当优化变量很多的时候,可以先固定某些变量仅仅允许两个变量变动,且由于约束条件,事实上变成了一元函数,再对这个一元函数求最大值,而这个求解的难度会小很多,有闭合形式的代数解。
  那么一次固定调整过程后,优化值变大。重复迭代这一过程即可。

当然,因为我学习的时候仅仅关心数学原理,并不关心实现细节。所以没有深究选择变量的原则,事实上选择变量需要用启发式搜索,也就是说有某种原则,使得选择的变量可以令值上升尽量多。每次更新还需要更新阈值b保证KKT条件。


选择核函数处理线性不可分数据

当线性不可分的时候,需要选择合适的核函数,即认为分隔在核函数作用后的平面中进行:wTΦ(x)+b=0w^T\Phi(x)+b=0wTΦ(x)+b=0。

那么我们实际不必求解Φ(x)\Phi(x)Φ(x),只需要求解Φ(xi)TΦ(xj)\Phi(x_i)^T\Phi(x_j)Φ(xi​)TΦ(xj​)即可。

关于核函数的选择,不同选择对应不同核,有线性核,多项式核,高斯(对应RBF神经网络),拉普拉斯核,sigmoids核(对应单层MLP神经网络)。


软间隔和正则化

因为允许的噪音和反例存在,所以约束不应该是硬约束,而是软约束,也就是违反会获得惩罚,但是违反这个0/1函数不可导,所以用对应的可导函数代替。这就是软间隔。
  
  正则化为了降低结构风险,构造关于参数大小的惩罚项。
  
  这两个技术是SVM中常见的技术。


支持向量

事实上由于很多点比较远,所以在KKT条件中,λi\lambda_iλi​对应取0,而分隔平面不会经过它们,所以可以忽略它们降低复杂度。也就是说,学习的时候只学习最容易混淆的,最靠近分隔面的。那么这些留下来的向量称为支持向量。支持向量的思想可以减少运算量和复杂度。


结语

我学习的时候着重关注支持向量机的数学原理,所以前面部分推导总结较仔细,后面具体实现的知识简单地过一遍。
  
  下面解释一下,支持向量机名字,顾名思义:
  支持向量(Support Vector): 高维空间内平面分隔数据点向量,保留支持向量。
  机(Machine): 二分判定机器

支持向量机(SVM)的数学原理相关推荐

  1. 支持向量机(SVM)----超详细原理分析讲解

    文章目录 支持向量机(SVM) 直观的本质理解 几个基础概念 决策超平面的求解(SVM模型的推导) 最大硬间隔的寻找与公式构建 拉格朗日乘数法的应用 使用对偶问题求解 一个小例子(求解决策超平面与决策 ...

  2. 支持向量机背后的数学原理!

    Datawhale干货 译者:郑沛,英国曼彻斯特大  来源:数据派THU 支持向量机(SVM)是每位机器学习专家都应该在自己的知识库中储备的一种简单的算法.支持向量机(SVM)受到很多人的高度青睐,因 ...

  3. 机器学习:支持向量机SVM原理与理解

    引言 --"举牌子:Support Vector Machines " 一直在犹豫要不要写SVM,因为网上已经有很多详细的SVM原理的解释甚至详细推导,而这东西又庞大复杂,想了解的 ...

  4. 支持向量机SVM详细原理,Libsvm工具箱详解,svm参数说明,svm应用实例,神经网络1000案例之15

    目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 SVM应用实例,基于SVM的股票价格预测 支持向量机SVM的详细原理 SVM的定义 ...

  5. 支持向量机SVM(上)

    1 概述 支持向量机(SVM,也称为支持向量网络),是机器学习中获得关注最多的算法没有之一.它源于统计学习理论,是除了集成算法之外,接触的第一个强学习器.它有多强呢? 从算法的功能来看,SVM几乎囊括 ...

  6. sklearn中的支持向量机SVM(上)

    1 概述 支持向量机(SVM,也称为支持向量网络),是机器学习中获得关注最多的算法.它源于统计学习理论,是除了集成学习算法之外,接触到的第一个强学习器. 从算法的功能来看,SVM囊括了很多其他算法的功 ...

  7. 数据分享|WEKA用决策树、随机森林、支持向量机SVM、朴素贝叶斯、逻辑回归信贷违约预测报告

    作者:Nuo Liu 数据变得越来越重要,其核心应用"预测"也成为互联网行业以及产业变革的重要力量.近年来网络 P2P借贷发展形势迅猛,一方面普通用户可以更加灵活.便快捷地获得中小 ...

  8. SMO(Sequential Minimal Optimization)算法的数学原理

    SMO算法的数学原理 前言 SVM问题回顾 SMO算法 两个朗格朗日乘子的解析解 选择哪两个乘子需要被优化的启发式方法 计算阈值 线性SVM的一个优化 代码细节 前言 紧跟着SVM数学原理之后,又拿出 ...

  9. 粒子群优化最小二乘支持向量机SVM回归分析,pso-lssvm回归预测

    目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 SVM应用实例,粒子群优化最小二乘支持向量机SVM回归分析 代码 结果分析 展望 支持向量机SVM的详细原理 SVM的定义 支持向量机(su ...

最新文章

  1. Atitit.导出excel报表的设计与实现java .net php 总
  2. boost::filesystem::detail::possible_large_file_size_support
  3. 【转】Step By Step在VS2008中完整配置Ajax Toolkit的使用(配图)
  4. 关于配置环境变量相关解答
  5. 2018 Multi-University Training Contest 4 Problem E. Matrix from Arrays 【打表+二维前缀和】
  6. C/C++排序算法(5)归并排序
  7. linux负载均衡技术的分类,LinuxLVS负载均衡群集
  8. .ssh文件夹在哪里_【TOOLS】本地利用ssh远程连接服务器并启用远程服务器的jupyter lab并配置好anaconda的环境...
  9. python之路--动态传参,作用域,函数嵌套
  10. 【数字信号调制】基于matlab二进制数字相位调制(2PSK)【含Matlab源码 1000期】
  11. Linux 2.6内核配置说明(10----Device Drivers设备驱动程序)
  12. 软考信息安全工程师知识总结
  13. 思科vrrp实例_VRRP配置及多备份VRRP配置实例
  14. 什么是 Web 3.0?
  15. Base64 erlang
  16. 利用html标记制作静态网页,使用HTML制作网页《静态网页制作》.ppt
  17. ASUS华硕天选/天选2P/天选3P/飞行堡垒789/枪神/枪神2/枪神3/枪神4/枪神5P/枪神6P/幻14 FA506 FX506安装原厂Windows10系统原装Windows11出厂系统重装
  18. Java web工程目录结构中src、Libraries、build、WebContent、META-INF、WEB-INF的作用简述
  19. Android面试题集锦
  20. 涂鸦LZ201-CN开发板学习笔记(一)

热门文章

  1. Lua获取本地IP地址
  2. luoguP3518 [POI2011]SEJ-Strongbox
  3. 题目26 黑板报上色
  4. 蓝桥杯 算法提高 我们的征途是星辰大海
  5. UE4移动组件详解(三)——RootMotion与特殊移动模式的实现思路
  6. 字符表单验证与正则表单验证
  7. 密码(N Or M?)
  8. 解决:Import googleapiannotations.proto was not found or had errors
  9. 转变自己的信仰——致少年的自己
  10. :after/::after和:before/::before的区别