机器学习----SVM支持向量机

一、什么是SVM

先看思维导图:
● 左边是求解基本的SVM问题
● 右边是相关扩展
这里写图片描述

一张图解决问题
这里写图片描述

SVM支持二分类,不适用于多分类
这里写图片描述

二、原理

SVM方法是通过一个非线性映射p,把样本空间映射到一个高维乃至无穷维的特征空间中(Hilbert空间),使得在原来的样本空间中非线性可分的问题转化为在特征空间中的线性可分的问题.简单地说,就是升维和线性化.升维,就是把样本向高维空间做映射,一般情况下这会增加计算的复杂性,甚至会引起“维数灾难”,因而人们很少问津.但是作为分类、回归等问题来说,很可能在低维样本空间无法线性处理的样本集,在高维特征空间中却可以通过一个线性超平面实现线性划分(或回归)。

选择不同的核函数,可以生成不同的SVM,常用的核函数有以下4种:

⑴线性核函数K(x,y)=x·y;
⑵多项式核函数K(x,y)=[(x·y)+1]d;
⑶径向基函数K(x,y)=exp(-|x-y|^2/d^2)
⑷二层神经网络核函数K(x,y)=tanh(a(x·y)+b).

这里写图片描述

三、SVM

线性SVM

这里写图片描述

找到的线就是决策边界
这里写图片描述

最大化Margin

这里写图片描述

这里写图片描述

非线性SVM

这里写图片描述

四,代码展示

这里写图片描述

这里写图片描述

五、参数调优

这里写图片描述
这里写图片描述
这里写图片描述

六,总结

这里写图片描述

这里写图片描述

猜你喜欢

转载自blog.csdn.net/sakura55/article/details/80873991