SVM算法

SVM

1. svm是干什么的

支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。分类算法

2. 支持向量

在这里插入图片描述

虚线上的点到划分超平面的距离都是一样的,实际上只有这几个点共同确定了超平面的位置,因此被称作 “支持向量(support vectors)”,“支持向量机” 也是由此来的。

3.怎么做

给定数据点,这些数据点分别属于两个不同类,需要找到一个分类器将数据分成两类。

分类器的目标是在n维数据空间中找到超平面,将数据点分成两类,且超平面距离两边的数据间隔最大。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C5VnIZMy-1630054270155)(C:\Users\MSI\AppData\Roaming\Typora\typora-user-images\image-20210827152626750.png)]

只要确定w和b就能确定超平面,利用KKT和拉格朗日乘数法,可表示为:
d ( X T ) = ∑ i = 1 l y i α i X i X T + b 0 d\left(X^{T}\right)=\sum_{i=1}^{l} y_{i} \alpha_{i} X_{i} X^{T}+b_{0} d(XT)=i=1lyiαiXiXT+b0
此方程就确定了边际最大化的划分超平面、

4. 核方法

在线性 SVM 中转化为最优化问题时求解的公式计算都是以内积(dot product)形式出现的,其中 ϕ ( X ) 是把训练集中的向量点转化到高维的非线性映射函数,因为内积的算法复杂度非常大,所以我们利用核函数来取代计算非线性映射函数的内积。

常用核函数:

  • h 度多项式核函数
    K ( X i , X j ) = ( X i , X j + 1 ) h K\left(X_{i}, X_{j}\right)=\left(X_{i}, X_{j}+1\right)^{h} K(Xi,Xj)=(Xi,Xj+1)h

  • 高斯径向基核函数
    K ( X i , X j ) = e − ∥ X i − X j ∥ 2 / 2 σ 2 K\left(X_{i}, X_{j}\right)=e^{-\left\|X_{i}-X_{j}\right\|^{2} / 2 \sigma^{2}} K(Xi,Xj)=eXiXj2/2σ2

  • S 型核函数
    K ( X i , X j ) = tanh ⁡ ( k X i ⋅ X j − δ ) K\left(X_{i}, X_{j}\right)=\tanh \left(k X_{i} \cdot X_{j}-\delta\right) K(Xi,Xj)=tanh(kXiXjδ)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Laccoliths

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值