热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

机器学习SVM复习笔记

SVM线性可分SVM解决的问题SVM的优化问题描述松弛变量低维映射高维核函数对偶问题的定义支持向量机转化为对偶问题支持向量机的算法流程线性可分线性可分的严格定义:一个训练样本集{(

SVM

    • 线性可分
    • SVM解决的问题
    • SVM的优化问题描述
    • 松弛变量
    • 低维映射高维
    • 核函数
    • 对偶问题的定义
    • 支持向量机转化为对偶问题
    • 支持向量机的算法流程

线性可分

线性可分的严格定义:一个训练样本集{(Xi, yi)…(Xn, yn)},在i=1~N线性可分,是指存在(w1, w2, b),使得i=1-N,有:
机器学习SVM复习笔记
最简形式为:
机器学习SVM复习笔记

SVM解决的问题

在能够线性可分的数据集中,会存在多条分界线。
机器学习SVM复习笔记
为了寻找唯一的最优分类直线,该直线应满足以下三个条件:

  • 该直线分开了两类样本。
  • 该直线最大化间隔(支持向量之间的距离)。
  • 该直线处于间隔的中间,到所有支持向量的距离相等。

SVM的优化问题描述

优化问题可以写成如下的形式:机器学习SVM复习笔记
得到以上推导需要以下两个事实:
机器学习SVM复习笔记
机器学习SVM复习笔记
由事实一可以对分类超平面进行倍增,使得我们的支持向量满足y(WTx+b)=1y(W^Tx+b)=1于是可以得到新的限制条件和优化目标:
min:1/2W2min:1/2||W||^2
yi(WTx+b)>=1,i=1Ny_i(W^Tx+b)>=1,i=1-N

松弛变量

对于线性不可分问题,需要适当放松限制条件。C为超参数。
机器学习SVM复习笔记

低维映射高维

对于一些线性不可分问题,采用线性可分的策略,分类效果不好。因此需要对特征进行映射,从低维映射到高维。定义一个映射函数φ(x)φ(x)使得优化问题变为:
机器学习SVM复习笔记

核函数

运用核函数可以不用已知φ(x)φ(x)的具体形式而对需要预测的样本进行预测。核函数形式如下:
机器学习SVM复习笔记
通过φ(x)φ(x)可以求解其对应的核函数,反之亦然。下面是一个例子:机器学习SVM复习笔记
机器学习SVM复习笔记
通过核函数求解映射:机器学习SVM复习笔记
下面映射的维度可以交换
机器学习SVM复习笔记
核函数K和φ(x)φ(x)为一一对应的关系,但是核函数的形式不能随意取,只有满足以下条件时才能分解为两个φφ内积的形式。
机器学习SVM复习笔记
同时,可以知道高斯核是满足以上定理的:
机器学习SVM复习笔记

对偶问题的定义

原问题与对偶问题的定义:
机器学习SVM复习笔记
定义对偶问题如下:
机器学习SVM复习笔记
机器学习SVM复习笔记
L(w,α,β)L(w,α,β)遍历所有定义域上的ww去找到使得L(w,α,β)L(w,α,β)最小的ww,同时将最小的这个值赋值给Θ(α,β)Θ(α,β)
定理一:
f(w)>=Θ(α,β)f(w^*)>=Θ(α,β)
机器学习SVM复习笔记
定义对偶差距为f(w)Θ(α,β)f(w^*)-Θ(α,β)
强对偶定理:如果g(w)=Aw+b,h(w)=Cw+d,f(w)g(w)=Aw+b, h(w)=Cw+d,f(w)为凸函数则有f(w)Θ(α,β)=0f(w^*)-Θ(α,β)=0对偶差距为0.
据定理一推出的不等式:
机器学习SVM复习笔记

支持向量机转化为对偶问题

当前支持向量机的优化问题:
机器学习SVM复习笔记
为了与上述描述的原问题一致,需要进行变换,将δi>=0δi<=0δ_i>=0 转换为δ_i<=0因此变换为:
机器学习SVM复习笔记
因为两个限制条件均为线性,且目标问题为凸优化问题,因此满足强对偶定理。
因此对偶问题如下:
机器学习SVM复习笔记
由于需要遍历所有的w求得最小值,可以对其进行求导。
机器学习SVM复习笔记
将求得的三个等式带入:
机器学习SVM复习笔记

支持向量机的算法流程

b的求解:如果对于某个
i,αi0αiC,KKTδi=0;i,α_i≠0且α_i≠C,则根据KKT条件必有δ_i=0;
机器学习SVM复习笔记
机器学习SVM复习笔记
对于新样本依据核函数同样可以进行预测:
机器学习SVM复习笔记
机器学习SVM复习笔记
总结支持向量机训练核测试的流程
训练过程:
输入训练数据,{(Xi, yi)}, i=1~N, 其中yi = -1或1.
机器学习SVM复习笔记
机器学习SVM复习笔记
预测过程:
机器学习SVM复习笔记


推荐阅读
author-avatar
mobiledu2502873827
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有