run哥带你手撕SVM

既然看到面试可能会考 那就得学 干(考试还考了,,,)

SVM

考试考点:

思路 模型构建 求解 (拉格朗日函数、对偶问题)

软间隔 、 kernel 思路的理解

例题讲解拉格朗日乘子法、线性可分支持向量机(SVM)的推导 - 知乎 (zhihu.com)

降维和PCA

降维:

  • 思路
  • 多维缩放MDS的模型思路、求解思路

PCA:

  • 最近重构性和最大可分性思路

learn

看视频学习

带着三个问题思考

  1. 什么样的决策边界才是最好的呢?
  2. 特征数据本身如果就很难分,怎么办呢?
  3. 计算复杂度怎么样?能实际应用吗?

决策边界

image-20221217204522366

首先 看图 容易知道 右边的图比较好

考虑 用边界离谁的距离判断最好

到最近的一个点怎么样?

距离计算

image-20221217221312826

这公式怎么来的?

看从视频中截取的这张图

image-20221217221449580

w除以矩阵的模 代表单位方向向量 乘上 x -x’ 也就是两点间的距离 最后再加个绝对值 就代表投影上的距离了 然后拆开就是后面的公式

image-20221219222723242

image-20221219222847629

费劲搞了个yi 就是为了把绝对值去掉。。

image-20221221140403434

解释一下 min i 的意思是找里决策边界最近的点 然后

image-20221221141425279

用拉格朗日乘子法

image-20221221141716253

对w,b求偏导

image-20221221144309588

软间隔

什么叫软间隔

image-20221221152122369

image-20221228225555341

svm常见面试问题 - 简书 (jianshu.com)

问题

请你说说回归问题可以设置支持向量机吗(SVR)

支持向量机svm 的作用 – 找出最好的决策边界

回归问题的本质 – 找f 来进行预测/分类 – > 到SVR中就变成了超平面

这里就要谈到SVR了 support vector regression(SVR)

SVR模型可以简单理解为,在线性函数的两侧创造了一个“间隔带”,而这个“间隔带”的间距为ϵ(这个值常是根据经验而给定的),对所有落入到间隔带内的样本不计算损失,也就是只有支持向量才会对其函数模型产生影响,最后通过最小化总损失和最大化间隔来得出优化后的模型。对于非线性的模型,与SVM一样使用核函数(kernel function)映射到特征空间,然后再进行回归。

支持向量回归

区别:

SVM–>SVR,和线性回归不同的是:线性回归中,一个样本只要不算正好落在作为模型的线性函数上,就要被计算损失。SVR—宽容的回归模型,在线性函数两侧制造一个“间隔带”,对于所有落入间隔带内的样本,不计入损失,间隔带之外,计入损失函数,之后通过最小化间隔带的宽度与总损失来最优化模型。

介绍一下SVM,遇到线性不可分怎么办,核函数有什么特点

通过核函数映射到高维

定义:将原始空间中的向量作为输入向量,并返回特征空间(转换后的数据空间,可能是高维)中向量的点积的函数称为核函数

类型:线性核函数,多项式核函数,高斯核函数

SVM的loss是啥

通俗的说 找决策边界 –> 最近的点离得最远

这叫什么 Hinge loss , 可用于”最大间隔分类(max-margin)”