run哥带你手撕SVM
既然看到面试可能会考 那就得学 干(考试还考了,,,)
SVM
考试考点:
思路 模型构建 求解 (拉格朗日函数、对偶问题)
软间隔 、 kernel 思路的理解
例题讲解拉格朗日乘子法、线性可分支持向量机(SVM)的推导 - 知乎 (zhihu.com)
降维和PCA
降维:
- 思路
- 多维缩放MDS的模型思路、求解思路
PCA:
- 最近重构性和最大可分性思路
learn
带着三个问题思考
- 什么样的决策边界才是最好的呢?
- 特征数据本身如果就很难分,怎么办呢?
- 计算复杂度怎么样?能实际应用吗?
决策边界
首先 看图 容易知道 右边的图比较好
考虑 用边界离谁的距离判断最好?
到最近的一个点怎么样?
距离计算
这公式怎么来的?
看从视频中截取的这张图
w除以矩阵的模 代表单位方向向量 乘上 x -x’ 也就是两点间的距离 最后再加个绝对值 就代表投影上的距离了 然后拆开就是后面的公式
费劲搞了个yi 就是为了把绝对值去掉。。
解释一下 min i 的意思是找里决策边界最近的点 然后
用拉格朗日乘子法
对w,b求偏导
软间隔
什么叫软间隔
问题
请你说说回归问题可以设置支持向量机吗(SVR)
支持向量机svm 的作用 – 找出最好的决策边界
回归问题的本质 – 找f 来进行预测/分类 – > 到SVR中就变成了超平面
这里就要谈到SVR了 support vector regression(SVR)
SVR模型可以简单理解为,在线性函数的两侧创造了一个“间隔带”,而这个“间隔带”的间距为ϵ(这个值常是根据经验而给定的),对所有落入到间隔带内的样本不计算损失,也就是只有支持向量才会对其函数模型产生影响,最后通过最小化总损失和最大化间隔来得出优化后的模型。对于非线性的模型,与SVM一样使用核函数(kernel function)映射到特征空间,然后再进行回归。
区别:
SVM–>SVR,和线性回归不同的是:线性回归中,一个样本只要不算正好落在作为模型的线性函数上,就要被计算损失。SVR—宽容的回归模型,在线性函数两侧制造一个“间隔带”,对于所有落入间隔带内的样本,不计入损失,间隔带之外,计入损失函数,之后通过最小化间隔带的宽度与总损失来最优化模型。
介绍一下SVM,遇到线性不可分怎么办,核函数有什么特点
通过核函数映射到高维
定义:将原始空间中的向量作为输入向量,并返回特征空间(转换后的数据空间,可能是高维)中向量的点积的函数称为核函数。
类型:线性核函数,多项式核函数,高斯核函数
SVM的loss是啥
通俗的说 找决策边界 –> 最近的点离得最远
这叫什么 Hinge loss , 可用于”最大间隔分类(max-margin)”