机器学习中的算法支持向量机

本文详细介绍了支持向量机(SVM)的原理,包括寻找最大间隔的决策边界、距离计算、数据标签定义、目标函数优化、拉格朗日乘子法的应用,以及软间隔处理和核变换在解决非线性问题中的作用。通过对实例的求解,深入理解了支持向量在模型中的关键角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原创文章,如需转载请保留出处
本博客为唐宇迪老师python数据分析与机器学习实战课程学习笔记

一.简介
1.1 定义
支持向量机(support vector machines)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。由简至繁的模型包括:

  • 当训练样本线性可分时,通过硬间隔最大化,学习一个线性可分支持向量机;
  • 当训练样本近似线性可分时,通过软间隔最大化,学习一个线性支持向量机;
  • 当训练样本线性不可分时,通过核技巧和软间隔最大化,学习一个非线性支持向量机;

1.2 理解

  • 要解决的问题:什么样的决策边界才是最好的呢?
  • 特征数据本身如何就很难分,怎么办呢?
  • 计算复杂度怎么样?能实际应用吗?
  • 目标:基于上述问题对SVM进行推导在这里插入图片描述

1.3 决策边界
决策边界:选出来离雷区最远的(雷区就是边界上的点,要Large Margin)
在这里插入图片描述
二.距离与数据的定义
2.1 距离的计算
在这里插入图片描述
2.2 数据标签定义

  • 数据集:(X1,Y1)(X2,Y2)…(Xn,Yn)
  • Y为样本的类别:当X为正例时候Y = +1,当X为负例时候Y = -1
  • 决策方程:在这里插入图片描述

三.目标函数
3.1 优化的目标

  • 通俗解释:找到一个条线(w和b),使得离该线最近的点(雷区)能最远
  • 将点到直线的距离化简得:在这里插入图片描述
    (由于yi * y(xi)>0所以将绝对值展开原始依旧成立)
  • 放缩变换:对于决策方程(w,b)可以通过放缩使得其结果值|Y|>=1
    在这里插入图片描述
  • 优化目标在这里插入图片描述

四.目标函数求解
4.1 化简目标函数

  • 当前目标:在这里插入图片描述
  • 常规套路:将求解极大值问题转换成极小值问题在这里插入图片描述
  • 如何求解:应用拉格朗日乘子法求解

4.2 拉格朗日乘子法

  • 带约束的优化问题:在这里插入图片描述
  • 原式转换:在这里插入图片描述
  • 我们的式子:在这里插入图片描述在这里插入图片描述

4.3 SVM求解

  • 分别对w和b求偏导,分别得到两个条件(由于对偶性质)
    在这里插入图片描述
  • 对w求偏导:
    在这里插入图片描述
  • 对b求偏导:在这里插入图片描述

五.SVM求解实例
5.1 带入原始在这里插入图片描述
在这里插入图片描述
5.2 求导
在这里插入图片描述
5.3 求解实例

  • 数据:3个点,其中正例X1(3,3),X2(4,3),负例X3(1,1)
  • 求解在这里插入图片描述
    在这里插入图片描述
  • 原式:在这里插入图片描述

六.支持向量的作用
6.1 求出值

  • 分别对α1和α2求偏导,偏导等于0可得:
    α1=1.5 α2=-1
    (并不满足约束条件αi≥0,i=1,2,3…,所以解应在边界上)
    α1=0 α2=-2/13 带入原式=-0.153(不满足约束)
    α1=0.25 α2=0 带入原式=-0.25(满足)
    最小值在(0.25,0,0.25)处取得

6.2 求平面
在这里插入图片描述
6.3 支持向量
支持向量:真正发挥作用的数据点,α值不为0的点在这里插入图片描述
七.软间隔问题
7.1 软间隔(soft - margin)

  • 软间隔:有时候数据中有一些噪音点,如果考虑它们咱们的线不太好了
  • 之前的方法要求要把两类点完全分得开,这个要求有点严格,我们来放松一下
  • 为了解决问题,引入松弛因子
    在这里插入图片描述
  • 新的目标函数:在这里插入图片描述
  • 当C趋近于很大时:意味着分类严格不能有错误
  • 当C趋近于很小时:意味着可以有更大的错误容忍
  • C是我们需要制定的一个参数

7.2 拉格朗日乘子法
在这里插入图片描述
八.SVM核变换
8.1 低维不可分问题

  • 核变换:既然低维的时候不可分,那映射到高维?
    在这里插入图片描述
  • 目标:找到一种变换的方法,就是Φ(X)
    在这里插入图片描述
    8.2 举例
    在这里插入图片描述
    8.3 完成映射
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值