支持向量机 support vector machine

简介: 支持向量机 support vector machine

1 概述

• 通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。
• 上个世纪90年代,支持向量机获得全面发展,在实际应
用中,获得比较满意的效果,成为机器学习领域的标准
工具

2 常用的机器学习方法比较

• 概率分布的方法(经典的方法)

 • Bayes方法, GMMs 用于复杂分布建模

• 决策树的方法(C4.5)

 • 属性具有明确含义时使用,一种经典的方法

• 近邻分类

• 简单的方法,如果样本有代表性,维数不高时好用

• 支撑向量机

• 高维空间的小样本学习

• Boosting算法

• 大量训练样本下可以取得好的效果,速度很快

• 人工神经网络ANN

• 大量训练样本下可以取得好的效果,速度较慢

3 什么是SVM? 结构风险最小化

一个普通的SVM就是一条直线罢了,用来完美划分linearly separable的两类。但这又不是一条普通的直线,这是无数条可以分类的直线当中最完美的,因为它恰好在两个类的中间,距离两个类的点都一样远。
支持向量机就是 向量 支持 机(器)

在这里插入图片描述

4 线性SVM

在这里插入图片描述

线性分类器解决的问题

根据一个带有类别标号的训练集合,通过学习一个线性分
类面,使得训练集合按照类别进行划分
通常转化成一个优化问题
以两类监督分类问题问题为例来解释

分类面:把一个空间按照类别切分两部分的平面,在二维空
间中,分类面相当于一条直线,三维空间中相当于一个平面,
高维空间为超平面

线性分类面函数形式为
在这里插入图片描述

wT,b是分类面函数参数,x是输入的样本, wT权向量,b是偏移量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 这种理论说明只有Margin上的样本点是

重要的,其他样本都不重要
Max-margin

  1. 实践证明这种假设效果非常好.

• SVM从线性可分情况下的分类面发展而来
• Margin最大化分类面不仅仅要求经验风险尽可能的小,且使分类间隔最大
• SVM考虑寻找一个满足分类要求的分类面
• 过两类样本中离分类面最近的点且平行于分类面的训练样本就叫做支持向量

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

理解 Classification Margin

在这里插入图片描述

线性SVM求解

在这里插入图片描述

5 Lagrange函数优化问题

1629年,Lagrange最初是为了解决等式约束的最优化解
1951年,Kuhn和Tucker进一步把这个方法扩展到具有不等式约束的情况下,而他们理论实际基于Karush的工作。
通过对偶理论简化约束条件即Karush-Kuhn-Tucker互补条件解决了支持向量机的优化问题

Solving the Optimization Problem
在这里插入图片描述
It is called the primal problem

Lagrange multipliers and KKT theorem

在这里插入图片描述
在这里插入图片描述
lagrange可以解决带约束条件不等式的最值问题,这里笔者用一个题目用lagrange求值

用 lagrange求解

已知4x^2+y^2+xy=1,求2x+y的最大值

L(x,y,λ)=2x+y-λ(4x^2+y^2+xy-1) λ是lagerange系数

建立lagrange方程组求偏导
L(x)=2-λx-λy=0
L(y)=1-2λy-λx=0
L(λ)=4x^2+y^2+xy-1=0

解得 x=(10^1/2)/10

    y=(10^1/2)/5
    λ=(10^1/2)/5

当x=(10^1/2)/10 y=(10^1/2)/5 时

2x+y的最大值为2(10^1/2)/10

6 Linear SVM 小结

在这里插入图片描述

在这里插入图片描述

7 处理线性不可分的情况

软间隔---线性SVM不完全可分情况

Kernel SVM---非线性SVM

在这里插入图片描述
Dataset with noise

在这里插入图片描述
在这里插入图片描述
Soft Margin Classification

在这里插入图片描述
线性SVM求解:软间隔
最优化问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8 软间隔小结

在这里插入图片描述
在这里插入图片描述

Hard Margin v.s. Soft Margin

在这里插入图片描述
在这里插入图片描述

9 非线性SVM

Non-linear SVMs

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
思路:非线性问题变为线性问题。
• 如何操作?
• 寻找非线性变换函数,也即kernel trick

关于核函数,博主太弱了,暂时无法解释清楚

在这里插入图片描述
什么样的函数可以做核函数?
在这里插入图片描述
核函数举例
线性分类器的运算是内积运算
在这里插入图片描述
在这里插入图片描述

Kernel SVMs 求解

在这里插入图片描述

Kernel trick小结: A nonlinear solver

在这里插入图片描述

在这里插入图片描述

10 SVM训练算法-SMO

算法流程:每次选取两个α进行更新
在这里插入图片描述

最后得到迭代公式:
在这里插入图片描述

目录
相关文章
|
机器学习/深度学习 算法 BI
机器学习算法之——支持向量机(Support Vector Machine, SVM)
支持向量机(support vector machines)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。
机器学习算法之——支持向量机(Support Vector Machine, SVM)
|
机器学习/深度学习 算法
机器学习:SVM(Support Vector Machine)支持向量机简介
机器学习:SVM(Support Vector Machine)支持向量机简介
112 0
|
机器学习/深度学习
R 实现 支持向量机 support vector machine
R 实现 支持向量机 support vector machine
173 0
R 实现 支持向量机 support vector machine
|
机器学习/深度学习 缓存 算法
支持向量机(Support Vector Machine)
支持向量机 linear regression , perceptron learning algorithm , logistics regression都是分类器,我们可以使用这些分类器做线性和非线性的分类,比如下面的一个问题: GV0SHYC3S{P{Q4QVB66UN6T.png 这里的每一条线都是可以把这个平面分开的,支持向量机要做的就是要在这些可以选择的直线中选择一条最好的直线来作为分类的直线。
1151 0
|
6月前
|
Shell Android开发
Android系统 adb shell push/pull 禁止特定文件
Android系统 adb shell push/pull 禁止特定文件
540 1
|
6月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
150 0
|
开发工具 Android开发
Mac 安卓(Android) 配置adb路径
Mac 安卓(Android) 配置adb路径
826 0
|
3月前
|
Shell Linux 开发工具
"开发者的救星:揭秘如何用adb神器征服Android设备,开启高效调试之旅!"
【8月更文挑战第20天】Android Debug Bridge (adb) 是 Android 开发者必备工具,用于实现计算机与 Android 设备间通讯,执行调试及命令操作。adb 提供了丰富的命令行接口,覆盖从基础设备管理到复杂系统操作的需求。本文详细介绍 adb 的安装配置流程,并列举实用命令示例,包括设备连接管理、应用安装调试、文件系统访问等基础功能,以及端口转发、日志查看等高级技巧。此外,还提供了常见问题的故障排除指南,帮助开发者快速解决问题。掌握 adb 将极大提升 Android 开发效率,助力项目顺利推进。
87 0
|
6月前
|
Shell Android开发
ADB更改Android设备屏幕显示方向
ADB更改Android设备屏幕显示方向
341 5