支持向量机SVM(Support Vector Machine)
1.解决问题思路展开
*要解决的问题:什么样的决策边界才是最好的?
*特征数据本身如果就很难分,该怎么办?
*计算负责度怎么样?能否实际应用?
==>目标:基于上述问题对SVM进行推导
1.1决策边界
右图中的决策边界更具容忍度,更加可靠
1.2 通过距离获得决策边界(求取点到面的距离)
通过平面上两点可以得到平面的法向量,进而获得与法相量平行的单位方向向量,通过平面外一点X到平面上一点x’的距离D在单位方向向量的投影可以求出距离d,其中,D乘以单位向量为与图中dist重合的向量,取其模即为距离d,计算公式如下:
1.3 数据标签定义,SVM为一种有监督算法
1.4 目标函数推导
中间涉及缩放、极大值与极小值相互转换、对偶性(了解即可)
2.目标函数推导过程
2.1 拉格朗日乘子法求解
先求出alpha,进而求出w和b
2.2 化简最终目标函数
2.3 举例求解决策方程
3. SVM特色
3.1 软间隔优化
边界上所有alpha不为零的点成为支持向量,非边界上的点的alpha值必为零,恒成立
有噪点加入时,引入软间隔~
3.2 核函数(低维->高维)
通过核函数将低维数据映射到高维空间
多数情况下大都用高斯核函数:将原始特征映射成高斯空间中的距离特征
先这样吧,代码后续更新呢