博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
01 SVM - 大纲
阅读量:7297 次
发布时间:2019-06-30

本文共 985 字,大约阅读时间需要 3 分钟。

本章开始进入SVM的讲解。SVM(Support Vector Machine)指的是,是常见的一种判别方法。在机器学习领域,是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。

在进入SVM学习之前,需要对以下知识点进行说明,大纲如下:

● 梯度下降法、拉格朗日乘子法、KKT条件回顾

● 感知器模型回顾
● SVM线性可分 (重点)
● SVM线性不可分 (重点)
● 核函数 (重点)
● SMO

1、梯度下降法、拉格朗日乘子法、KKT条件回顾

__梯度下降法__是一种求极值的算法,在对自变量没有限制条件的时候使用。当函数自变量存在取值范围的时候,就无法使用梯度下降法进行求解了。

对自变量有取值范围的函数,如果要求极值,可以使用__拉格朗日乘子法__。即在有限制的情况下,对有限制条件的函数进行转化,转化成无限制条件的函数,使转化完的函数和原函数等价,这时取得极值点的时候和原函数相同。这就是拉格朗日乘子法的思想和存在的意义。

当有限制的函数转化成无限制的函数后,就可以通过求偏导的方法(梯度下降法)进行求极值。

KKT条件 是指,满足什么样的条件下,可以让原函数转化成拉格朗日乘子法。

2、感知器模型

直观理解:找到一些直线划分两个不同的分类,使得误分的点越少越好。

3、SVM线性可分、不可分 (重点)

用感知器找到的直线不止一条,可以找到一条__感知器模型__的最优解。最后找到的直线称为__SVM支持向量机__。

__SVM支持向量机__可以处理两类问题:

SVM线性可分模型 ,即一条直线可以分割两种分类。

线性可分

__SVM线性不可分模型__,两种分类比较紧密,用一条直线无法轻易分割。这种问题的处理方式可以将数据映射到高维,通过一个面来分割两类数据,最后求高维面在低维上的映射。

线性不可分

4、核函数 (重点)

解决数据映射到高维时,计算量复杂的问题。

5、SMO

SVM通常用对偶问题来求解,这样的好处有两个:1、变量只有N个(N为训练集中的样本个数),原始问题中的变量数量与样本点的特征个数相同,当样本特征非常多时,求解难度较大。2、可以方便地引入核函数,求解非线性SVM。求解对偶问题,常用的算法是SMO,彻底地理解这个算法对初学者有一定难度,本文尝试模拟算法作者发明该算法的思考过程,让大家轻轻松松理解SMO算法。

理解原理即可。

参考: 《》

转载地址:http://simjm.baihongyu.com/

你可能感兴趣的文章
inner join on, left join on, right join on讲解(转载)
查看>>
java for循环
查看>>
关于web XSS注入问题
查看>>
jQuery EasyUI---validatebox 校验规则扩展
查看>>
Http 请求 GET和POST的区别
查看>>
BZOJ1509 & 洛谷4408:[NOI2003]逃学的小孩——题解
查看>>
xcode 预编译头文件
查看>>
类的继承
查看>>
汉诺塔问题--递归实现
查看>>
005-软件测试流程
查看>>
ILRuntime官方Demo笔记
查看>>
NGUI OnChange Event
查看>>
rsync命令 续集 、linux系统日志、screen工具
查看>>
struts2拦截器和文件上传
查看>>
C# 判断字符串为空有哪几种方法
查看>>
JMeter的基础之 – 录制脚本
查看>>
一个简单的性能测试
查看>>
Token的生成【译】
查看>>
数据库连接
查看>>
Java基础加强-泛型
查看>>