【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine

支持向量机SVM

非常经典的二分类问题 面试中必问。支持向量机 SVM 2012年前很火,2012年之后被神经网络冲击到,SVM 核心思路是通过构造分割面将数据进行分割。
引入:
Support Vector Machine
要解决的问题:什么样的决策边界才是最好的呢?寻求最好决策边界
特征数据本身如果就很难分,怎么办呢?引入SVM核函数
计算复杂度怎么样?能实际应用吗?


基于上述问题对SVM进行推导
Support Vector Machine
决策边界::选出来离雷区最远的(雷区就是边界上的点,要Large Margin)
【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第1张图片
决策边界越宽越好,边界的泛化能力越强越好【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第2张图片
W是法向量,求投影的距离就是 直线长度*投影方向的单位向量
【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第3张图片

数据标签定义
数据集:(X1,Y1)(X2,Y2)… (Xn,Yn) Xn为样本坐标,Yn为样本标签值
Y为样本的类别: 当X为正例时候 Y = +1 当X为负例时候 Y = -1
决策方程:
- 正例为1,负例为-1,可以得到yi*y(xi)>0恒成立
【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第4张图片
- 去掉绝对值符号
【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第5张图片
【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第6张图片
- 放缩操作,条件变严格,>0变成>1
-【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第7张图片
- 极大值的问题转换成极小值的问题
1/|W|最大值—W最小值—W^2最小值—1/2*W^2最小值
- 【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第8张图片
拉格朗如求解
【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第9张图片
隐藏条件:所有的alphai必须大于0
- KKT 对偶条件
- 对W和b求偏导数,得到两个条件
【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第10张图片
【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第11张图片
- 极大值问题转换为相反数极小值问题
【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第12张图片
举例求解alphai,决策边界
注意计算的时候,xi为数据点,(Xi,Xj)计算的是点乘而不是x坐标,yi为标签,而不是y坐标,支持向量机对应的yi标签只可是+1或者-1
【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第13张图片
【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第14张图片
【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第15张图片
【A-017】 python数据分析与机器学习实战 支持向量机原理(一) SVM Support Vector Machine_第16张图片


参考博客:https://blog.csdn.net/github_38325884/article/details/74418365

你可能感兴趣的:(SVM)