【机器学习】支持向量机(SVM)算法

背景

  1. 最早是由 Vladimir N. Vapnik 和 Alexey Ya. Chervonenkis 在1963年提出
  2. 目前的版本(soft margin)是由Corinna Cortes 和 Vapnik 在1993年提出,并在1995年发表
  3. 深度学习(2012)出现之前,SVM被认为机器学习中近十几年来最成功,表现最好的算法

机器学习的一般框架:

训练集 =》 提取特征向量 =》 结合一定的算法(分类器:比如决策树,KNN)=》得到结果

介绍

  1. 例子:
    【机器学习】支持向量机(SVM)算法_第1张图片
    两类?哪条线最好?

  2. SVM寻找区分两类的超平面(hyper plane),使边际(margin)最大

【机器学习】支持向量机(SVM)算法_第2张图片
总共可以有多少个可能的超平面?无数条

如何选取使边际(margin)最大的超平面(Max Margin Hyperplane)?

超平面到一侧最近点的距离等于到另一侧最近点的距离,两侧的两个超平面平行

  1. 线性可区分(linear separable)和 线性不可区分(linear inseparable)
    【机器学习】支持向量机(SVM)算法_第3张图片
    【机器学习】支持向量机(SVM)算法_第4张图片
    【机器学习】支持向量机(SVM)算法_第5张图片

  2. 定义与公式建立
    超平面可以定义为:
    在这里插入图片描述
    W:weight vectot,
    在这里插入图片描述
    n是特征值的个数
    X:训练实例
    b:bias
    【机器学习】支持向量机(SVM)算法_第6张图片
    假设2维特征向量:X =(x1, x2)

把 b 想象为额外的weight

超平面方程变为:
在这里插入图片描述
所有超平面右上方的点满足:

在这里插入图片描述
调整weight,使超平面定义边际的两边:
在这里插入图片描述
综合以上两式,得到:(1)
在这里插入图片描述
所有坐落在边际的两边的超平面上的被称作“支持向量(support vectors)”
分界的超平面和H1或H2上任意一点的距离为

你可能感兴趣的:(数据结构与算法,人工智能,算法)