SVM 概述

本篇为概述,数学推导见下篇:SVM中的Mathematics —— Basic SVM 和 Soft Margin SVM

Linear SVM Classification

  • 适用场合:线性可分
  • 特点:large margin classification

  • hard margin classification:

    • 目标/核心:要求所有的样本必须被正确分类
    • 存在的问题:
      • 要求训练样本必须 线性可分
      • 对 Outliers 特别敏感(产生泛化能力差的问题)
  • soft margin classification:
    • 目标/核心:分类margin尽量大的同时使得被错分的样本尽可能少
    • fewer margin violations V.S. large margin

【注意】
- SVM 对特征的 scale 非常敏感。
- 当 SVM 出现 overfitting 的情况时,可以通过 减小 惩罚因子 C C 正则化
- 与 Logistic Regression 不同,SVM 分类器并不输出样本属于各个类别的概率。

Nonlinear SVM Classfication

1. 基于特征预处理的 nonlinear SVM: polynomial features

  • 优点:能够在大多数ML方法中得到应用
  • 缺点:当 polynomial degree 较小时,无法处理复杂的数据集;当 polynomial degree 较大时,特征维度过大,使得模型计算极度过低。

2. Polynomial Kernel

可能获得与加了 polynomial features 一样的结果,但并不会产生特征维度爆炸。即,具有 polynomial features 的优点,同时能够解决其缺点。

polynomial degree 可以看做是一个正则化变量:overfitting 时减小 degree 取值,underfitting 是增大 degree 取值。

3. 添加相似性特征 (adding similarity features)

similarity function: measures how much each instance resembles a particular landmark (地标;里程碑). 如 Gaussian RBF(Radial Basis Function)

新增特征的数目就是landmark的数目,每一维新特征的取值即为 当前样本点与该 landmark 的相似性函数值。

【式】Gaussian RBF

ϕγ(x,)=exp(γx2)

landmarks 的选择方法
- 可以把每个样本点当做一个 landmark,
- 优点:使用于大多数ML方法;增加了特征维度,因此增大了变换后特征线性可分的可能性。
- 问题:特征的维度大于等于样本数。所以当样本数很大的时候计算复杂度过高。

4. Gaussian RBF Kernel

可能获得与添加相似性度量特征相同的结果,但并不会增高特征维度。

γ γ 的取值越大,Gaussian 函数曲线越窄,每个样本的影响范围越小,决策面越不规律。

γ γ 可以看做是一个正则化变量:overfitting 时减小 γ γ 取值,underfitting 时增大 γ γ 取值。

5. 其他 kernel

String kernels:用于文本/DNA序列的分类场合。例如:string subsequence kernel 或者 基于 Levenshtein distance 的 kernel。

6. 如何选择 kernel?
  • 首先尝试 linear kernel:在 scikit-learn 中,LinearSVC 要比 SVC(kernel=”linear”) 快很多,尤其在训练集或特征维度很大的情况下。
  • 当训练集不是很大时,应尝试 Gaussian RBF kernel。
  • 与训练集数据结构匹配的其他类型 kernel

SVM 回归

目标:使得尽可能多的点落在”street”上,同时尽量限制 margin violation 的数目。

计算复杂度

  • LinearSVC / LinearSVR: O(m×n) O ( m × n )
    • 基于 “A Dual Coordinate Descent Method for Large-scale Linear SVM,” Lin et al. (2008). 实现。
  • SVC / SVR: O(m2×n) O ( m 2 × n ) ~ O(m3×n) O ( m 3 × n )

【图-1】Scikit Learn 中 SVM 分类器 不同实现的比较
SVM

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值