首页 > 其他分享 >【李航】统计学习方法--7. 支持向量机(详细推导)

【李航】统计学习方法--7. 支持向量机(详细推导)

时间:2022-12-16 12:03:33浏览次数:49  
标签:李航 函数 推导 -- 间隔 问题 超平面 线性 向量


【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机



目录

  • ​​7.1 线性可分支持向量机与硬间隔最大化​​
  • ​​7.1.1 线性可分支持向量机​​
  • ​​7.1.2 函数间隔和几何间隔​​
  • ​​7.1.3 间隔最大化​​
  • ​​7.1.4 学习的对偶算法​​
  • ​​7.2 线性支持向量机与软间隔最大化​​
  • ​​7.2.1线性支持向量机​​
  • ​​7.2.2 学习的对偶算法​​
  • ​​7.2.3 支持向量​​
  • ​​7.2.4 合页损失函数​​
  • ​​7.3 非线性支持向量机与核函数​​
  • ​​7.3.1 核技巧​​
  • ​​非线性分类问题​​
  • ​​核函数的定义​​
  • ​​核技巧在支持向量机中的应用​​
  • ​​7.3.2正定核​​
  • ​​7.3.3 常用核函数​​
  • ​​7.3.4 非线性支持向量分类机​​
  • ​​7.4 序列最小最优化算法​​
  • ​​7.4.1 两个变量二次规划的求解方法​​
  • ​​7.4.2 变量的选择方法​​



7.1 线性可分支持向量机与硬间隔最大化


7.1.1 线性可分支持向量机


当训练数据集线性可分时,存在无穷个分离超平面可将两类数据正确分开。

  • 感知机利用误分类最小的策略,求得分离超平面,不过这时的解有无穷多个
  • 线性可分支持向量机利用间隔最大化求最优分离超平面,这时,解是唯一的

线性可分支持向量机 给定线性可分训练数据集,通过间隔最大化或
等价地求解相应的凸二次规划问题学习得到的分离超平面为

【李航】统计学习方法--7. 支持向量机(详细推导)_算法_02

以及相应的分类决策函数

【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_03

称为线性可分支持向量机。

【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_04

通俗解释,距离超平面最近的实例,距离最大,所以是唯一的平面。


7.1.2 函数间隔和几何间隔


一个点距离分离超平面的远近可以表示分类预测的确信程度。

  • 函数间隔 对于给定的训练数据集 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_05 和超平面 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_06, 定义超平面 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_06 关于样本点 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_08 的函数间隔为
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_09
    定义超平面 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_06 关于训练数据集 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_05 的函数间隔为超平面 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_06 关于 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_05 中所有 样本点 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_08 的函数间隔之最小值, 即
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_15
    函数间隔可以表示分类预测的正确性及确信度。
  • 几何间隔 对于给定的训练数据集 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_05 和超平面 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_06, 定义超平面 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_06 关于样本点 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_08 的几何间隔为
    【李航】统计学习方法--7. 支持向量机(详细推导)_算法_20
    其中,【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_21【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_22【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_23范数。
    定义超平面 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_06 关于训练数据集 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_05 的几何间隔为超平面 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_06 关于 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_05 中所有 样本点 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_08 的几何间隔之最小值, 即
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_29
  • 超平面 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_06 关于样本点 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_08 的几何间隔一般是实例点到超平面的带符号的距离(signed distance), 当样本点被超平面正确分类时就是实例点到超平面的距离。
    函数间隔和几何间隔有 下面的关系:
    【李航】统计学习方法--7. 支持向量机(详细推导)_算法_32
  • 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_23范数:向量元素绝对值的平方和再开平方,【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_34

7.1.3 间隔最大化


知识补充-凸优化

凸优化问题

  • 目标函数是凸函数
  • 可行域是凸集
  • 局部最优解=全局最优解
凸集的定义: 对于一个点的集合 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_35, 有 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_36 它都是属于 C 里面的两个点, 它们两点的连线中任何一点也是属于集合【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_35的,
【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_38
【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_39

【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_40


典型的凸集


欧式空间

【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_41

【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_42

它的意义在于,很多时候可行域就是欧式空间, 那肯定是凸集

凸集的交集还是凸集

仿射函数 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_43 称为仿射函数, 如果它满足 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_44

支持向量机学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。(这里的间隔最大化又称为硬间隔最大化)

  1. 最大间隔分离超平面
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_45
    最大化超平面 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_06 关于训练数据集的几何间隔 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_47, 约束条件表示的是超平面 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_06 关于每个训练样本点的几何间隔至少是 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_49
    考虑几何间隔和函数间隔的关系式 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_50, 可将这个问题改写为
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_51
    函数间隔 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_52 的取值并不影响最优化问题的解。事实上, 假设将 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_22【李航】统计学习方法--7. 支持向量机(详细推导)_算法_54 按比例改 变为 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_55【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_56, 这时函数间隔成为 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_57 函数间隔的这一改变对上面最优化问题的不等式约束没有影响, 对目标函数的优化也没有影响, 也就是说, 它产生一个等价的最
    优化问题。这样, 就可以取 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_58 。 将 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_58 代入上面的最优化问题, 注意到最大化 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_60 和最小化 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_61等价的, 于是就得到下面的线性可分支持向量机学习的最优化问题:
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_62
    这是一个凸二次规划 (convex quadratic programming) 问题。

凸优化问题是指约束最优化问题

【李航】统计学习方法--7. 支持向量机(详细推导)_算法_63

其中, 目标函数 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_64 和约束函数 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_65 都是 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_66 上的连续可微的品函数, 约束函数 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_67【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_66 上的仿射函数

  1. 最大间隔法
    输入: 线性可分训练数据集 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_69, 其中, 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_70【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_71
    输出: 最大间隔分离超平面和分类决策函数。
    (1)构造并求解约束最优化问题:
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_62
    求得最优解 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_73
    (2)由此得到分离超平面:
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_74
    分类决策函数
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_75
  2. 最大间隔分离超平面的存在唯一性
    最大间隔分离超平面的存在唯一性 若训练数据集T线性可分,则可将训练数据集中的样本点完全正确分开的最大间隔分离超平面存在且唯一。
    证明:
  1. 存在性
    由于训练数据集线性可分,所以上述最优化问题一定存在可行解。又由于目标函数有下界,所以最优化问题必有解,记作【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_76,由于训练数据集中既有正类点又有负类点,所以【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_77 = (0,b)不是最优化的可行解,因而最优解【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_76必满足【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_79,由此得知分离超平面的存在性。
  2. 唯一性
    首先证明 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_80 的唯一性。假设最优化问题存在两个最优解 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_81【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_82 。显然 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_83, 其中 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_84 是一个常数。令 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_85, 易知 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_77 是最优化问题的可行解,从而有
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_87
    上式表明, 式中的不等号必须为等号, 即 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_88, 从而有 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_89【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_90 。 若 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_91, 则 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_92 不是最优化问题的可行解, 矛盾。 因此必有 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_93, 即
    【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_94
    由此可以把两个最优解 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_81【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_82 分别写成 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_97【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_98
    再证 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_99 。设 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_100【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_101 是集合 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_102 中分别对应于 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_97【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_98 使得问题的不等式等号成立的点, 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_105【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_106 是集合 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_107 中分别对应于 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_97【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_98 使得问题的不等式等号成立的点,∴【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_110 ; 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_110,得出【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_112,∴【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_113
    继续,【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_114,同理【李航】统计学习方法--7. 支持向量机(详细推导)_算法_115=>【李航】统计学习方法--7. 支持向量机(详细推导)_算法_99
  1. 支持向量和间隔边界
  • 在线性可分情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量(support vector)
  • 支持向量是使约束条件式【李航】统计学习方法--7. 支持向量机(详细推导)_算法_117等号成立的点
  • 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_118【李航】统计学习方法--7. 支持向量机(详细推导)_算法_119之间的距离称为间隔(margin)。
    间隔依赖于分离超平面的法向量 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_120 , 等于 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_121【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_122【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_123 称 为间隔边界。

7.1.4 学习的对偶算法


求解对偶问题的优点

  • 对偶问题往往更容易求解;
  • 自然引入核函数, 进而推广到非线性分类问题。

构建拉格朗日函数(Lagrange function)。为此, 对每一个不等式约束 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_124 引进拉格朗日乘子 (Lagrange multiplier) 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_125, 定义拉格朗日函数:

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_126

其中, 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_127 为拉格朗日乘子向量。
根据拉格朗日对偶性, 原始问题的对偶问题是极大极小问题

【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_128

为了得到对偶问题的解, 需要先求 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_129【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_130 的极小, 再求对 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_131 的极大。
(1) 求 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_132
将拉格朗日函数 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_129 分别对 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_130

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_135

【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_136

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_137

将式【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_138代入拉格朗日函数 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_139, 并利用式 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_140, 即得

【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_141

【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_142

(2) 求 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_132【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_131

【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_145

将式 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_146

【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_147

这个最优化问题可以求解出最优解【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_148

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_149 是对偶最优化问题 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_150 的解, 则
存在下标 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_151, 使得 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_152, 并可按下式求得原始最优化问题 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_153 的解 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_154

【李航】统计学习方法--7. 支持向量机(详细推导)_算法_155

证明 KKT 条件成立, 即得

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_156

【李航】统计学习方法--7. 支持向量机(详细推导)_算法_157

由此得

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_158

其中至少有一个 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_159 (用反证法, 假设 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_160, 由式 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_161 可知 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_162, 而 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_162 不是原始最优化问题 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_164 的解, 产生矛盾), 对此 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_165

【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_166

将式 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_167 代入式 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_168 并注意到 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_169, 即得

【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_170

由此定理可知, 分离超平面可以写成

【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_171

分类决策函数可以写成

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_172

线性可分支持向量机学习算法 输入:线性可分训练集 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_173, 其中 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_174,
【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_175
输出:分离超平面和分类决策函数。

  1. 构造并求解约束最优化问题
    【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_176
    求得最优解 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_177
  2. 计算
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_178
    并选择 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_179 的一个正分量 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_180, 计算
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_181
  3. 求得分离超平面
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_74
    分类决策函数:
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_75
    在线性可分支持向量机中, 由式 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_184 、式 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_185 可知, 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_186【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_187 只依赖于训练数据中对应于 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_188 的样本点 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_08, 而其他样本点对 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_186【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_187 没有影响。训练数据中对应于 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_188 的实例点 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_193 称为支持向量

支持向量
考虑原始最优化问题及对偶最优化问题, 将训练数据集中对应于 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_194 的样本点 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_195 的实例 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_196 称为 支持向量。
根据这一定义, 支持向量一定在间隔边界上。由 KKT 互补条件可知,

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_197

对应于 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_194 的实例 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_199, 有

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_200

【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_201

【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_199 一定在间隔边界上。这里的支持向量的定义与前面给出的支持向量的定义是一致的。
备注:在间隔边界上【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_203>0,表现为置信度高,所以叫支持向量。其余的实例点【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_203=0


7.2 线性支持向量机与软间隔最大化


7.2.1线性支持向量机


  • 线性不可分问题
    线性不可分意味着某些样本点 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_08 不能满足函数间隔大于等于 1 的约束条件【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_206。 可以对每个样本点 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_08 引进一个松弛变量 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_208, 使函数间隔加上松弛变量大于等于 1 。 这样, 约束条件变为
    【李航】统计学习方法--7. 支持向量机(详细推导)_算法_209
    同时, 对每个松弛变量 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_210, 支付一个代价 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_210 。目标函数由原来的 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_61 变成
    【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_213
    【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_214 称为惩罚参数, 一般由应用问题决定, 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_215 值大时对误分类的惩罚增大, 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_215。最小化目标函数 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_217 包含两层含义: 使 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_61 尽量小即间隔尽量大, 同时使误分类点的个数尽量小, 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_219 是调和二者的系数。
    软间隔最大化:训练数据集线性不可分时的线性支持向量机学习问题。
    线性不可分的线性支持向量机的学习问题变成如下凸二次规划 (convex quadratic programming ) 问题 (原始问题):
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_220
  • 线性支持向量机 对于给定的线性不可分的训练数据集, 通过求解凸二次规划问题, 即软间隔最大化问题, 得到的分离超平面为
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_74
    以及相应的分类决策函数
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_75
    称为线性支持向量机

7.2.2 学习的对偶算法


原始问题 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_223

【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_224

推导过程:

原始最优化问题的拉格朗日函数是

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_225

其中, 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_226
对偶问题是拉格朗日函数的极大极小问题。首先求 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_227【李航】统计学习方法--7. 支持向量机(详细推导)_算法_228

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_229

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_230

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_231

将上面三个式子代入式 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_232, 得

【李航】统计学习方法--7. 支持向量机(详细推导)_算法_233

再对 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_234【李航】统计学习方法--7. 支持向量机(详细推导)_算法_235

【李航】统计学习方法--7. 支持向量机(详细推导)_算法_236

【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_237

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_238

再将对目标函数求极大转换为求极小, 于是得到对偶问题 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_239

对目标函数求极大转换为求极小, 得到对偶问题。 可以通过求解对偶问题而得到原始问题的解, 进而确定分离超平面和决策函数。
【李航】统计学习方法--7. 支持向量机(详细推导)_算法_240 是对偶问题 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_241

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_242 的一个分量 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_243, 则原始问题 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_223 的解 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_154

【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_246

证明 原始问题是凸二次规划问题, 解满足 KKT 条件。即得

【李航】统计学习方法--7. 支持向量机(详细推导)_算法_247

【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_248

【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_249

由式 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_250 易知式 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_167 成立。再由式 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_252 可知, 若存在 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_253 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_254, 则 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_255【李航】统计学习方法--7. 支持向量机(详细推导)_算法_256
由此定理可知, 分离超平面可以写成

【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_171

分类决策函数可以写成

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_172

线性支持向量机学习算法

输入: 训练数据集 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_173, 其中, 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_174,【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_261
输出:分离超平面和分类决策函数。

1、选择昰罚参数 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_262, 构造并求解凸二次规划问题

【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_224

求得最优解 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_240
2、计算. 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_265
选择 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_242 的一个分量 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_267 适合条件 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_268, 计算

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_269

3、求得分离超平面

【李航】统计学习方法--7. 支持向量机(详细推导)_算法_02

分类决策函数:

【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_03


7.2.3 支持向量


在线性不可分的情况下, 将对偶问题 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_241 的解 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_240中对应于 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_274 的样本点 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_275 的实例 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_276 称为支持向量 (软间隔的支持向量)。

如下图所示, 这时的支持向量要比线性可分时的情况复杂一些。图中, 分离超平面由实线表示, 间隔边界由虛线表示, 正例点由“o"表示, 负例点由 “ 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_277 表示。图中还标 出了实例 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_276 到间隔边界的距离 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_279

【李航】统计学习方法--7. 支持向量机(详细推导)_算法_280

软间隔的支持向量 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_276

  1. 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_282, 则 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_283, 支持向量 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_199
  2. 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_285, 则分类正确, 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_199
  3. 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_287, 则 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_199
  4. 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_289, 则 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_199

1的推导,已知:【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_252,【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_292,【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_282【李航】统计学习方法--7. 支持向量机(详细推导)_算法_294
2、3、4同理


7.2.4 合页损失函数


线性支持向量机学习的另一种解释, 就是最小化以下目标函数:

【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_295

目标函数的第 1 项是经验损失或经验风险, 函数

【李航】统计学习方法--7. 支持向量机(详细推导)_算法_296

称为合页损失函数(hinge loss function)。下标 “ 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_297

【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_298

  • 当样本点 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_195 被正确分类且函数间隔(确信度) 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_300
  • 否则损失是 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_301
  • 目标函数的第 2 项是系数为 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_302【李航】统计学习方法--7. 支持向量机(详细推导)_算法_303【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_304

合页损失函数图像

【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_305


7.3 非线性支持向量机与核函数


7.3.1 核技巧


非线性分类问题

【李航】统计学习方法--7. 支持向量机(详细推导)_算法_306

用线性分类方法求解非线性分类问题分为两步:

  1. 首先使用一个变换将原空间的数据映射到新空间;
  2. 在新空间里用线性分类学习方法从训练数据中学习分类模型。

核技巧应用到支持向量机,其基本想法就是通过一个非线性变换将输入空间 (欧氏空间 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_307 或离散集合) 对应于一个特征空间 (希尔伯特空间 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_308 ),使得在输入空间 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_307 中的超曲面模型对应于特征空间 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_308

核函数的定义

核函数【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_311 是输入空间 (欧氏空间 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_312 的子集或离散集合 ), 又设 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_313 为特征空间 ( 希尔伯特空间 ), 如果存在一个从 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_311【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_313 的映射
【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_316

使得对所有 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_317, 函数 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_318 满足条件
【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_319

则称 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_318 为核函数, 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_321 为映射函数, 式中 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_322【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_321【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_324内积。 核技巧的想法是, 在学习与预测中只定义核函数 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_318, 而不显式地定义映射函数 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_326 。因为, 直接计算 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_318 比较容易, 而通过 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_321【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_324 计算 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_318

注意, 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_331 是输入空间 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_66 到特征空间 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_333 的映射, 特征空间 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_333 一般是高维的, 甚至是无穷维的。可以看到, 对于给定的核 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_335, 特征空间 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_333 和映射函数 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_331

核技巧在支持向量机中的应用

在对偶问题的目标函数 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_338 中的内积 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_339 可以用核函数 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_340 来代替。此时对偶问题的目标函数成为
【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_341

同样, 分类决策函数中的内积也可以用核函数代替, 而分类决策函数式成为
【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_342

这等价于经过映射函数 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_326 将原来的输入空间变换到一个新的特征空间, 将输入空 间中的内积 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_339 变换为特征空间中的内积 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_345, 在新的特征空间里从训 练样本中学习线性支持向量机。当映射函数是非线性函数时, 学习到的含有核函数的支持向量机是非线性分类模型。

  • 在核函数 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_335
  • 学习是隐式地在特征空间进行的, 不需要显式地定 义特征空间和映射函数。这样的技巧称为核技巧, 它是巧妙地利用线性分类学习方法 与核函数解决非线性问题的技术。
  • 在实际应用中, 往往依赖领域知识直接选择核函数, 核函数选择的有效性需要通过实验验证。

7.3.2正定核


知识补充-半正定矩阵
给定一个大小施 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_347 的实对称矩阵 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_348, 若对于任意长度为 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_349 的向量 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_350, 有 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_351 恒成立,则矩阵 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_348

推导正定核的充要条件。
通常所说的核函数就是正定核函数(positive definite kernel function)。

证明此定理的预备知识。
假设 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_353 是定义在 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_354 上的对称函数, 并且对任意的 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_355【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_356 关于 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_357 的 Gram 矩阵是半正定的。可以依据函数 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_353, 构成一个希尔伯特空间(Hilbert space), 其步骤是:首先定义映射 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_359 并构成向量空间 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_360; 然后在 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_360 上定义内积构成内积空间; 最后将 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_360

  1. 定义映射, 构成向量空间 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_363
    先定义映射
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_364
    根据这一映射, 对任意 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_365, 定义线性组合
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_366
    考虑由线性组合为元素的集合 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_363 。由于集合 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_363 对加法和数乘运算是封闭的, 所以 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_363
  2. 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_363 上定义内积, 使其成为内积空间

内积空间就是定义了内积的线性空间。

  1. 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_363 上定义一个运算 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_372 : 对任意 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_373,
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_374
    定义运算 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_372
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_376
    证明运算 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_377 是空间 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_378:
    (1) 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_379
    (2) 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_380
    (3) 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_381
    (4) 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_382,
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_383
    其中, 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_384 由式 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_385【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_386【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_318

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_335的对称性证明,【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_389

  1. 现证 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_390 之 式 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_382 。 由式 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_385 及式 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_393 可得:
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_394
    由 Gram 矩阵的半正定性知上式右端非负, 即 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_382
    再证 (4) 之式 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_396 。 充分性显然。为证必要性(左推右), 首先证明不等式:
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_397
    【李航】统计学习方法--7. 支持向量机(详细推导)_算法_398, 则 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_399, 于是,
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_400
    其左端是 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_401 的二次三项式, 非负, 其判别式小于等于 0 , 即
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_402
    于是式 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_403 得证。
    现证若 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_404, 则 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_405 。事实上, 若
    【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_406
    则按运算 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_372 的定义式 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_393, 对任意的 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_409, 有
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_410
    于是,
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_411
    由式 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_403 和式 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_382
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_414
    由式 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_415
    【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_416
    此式表明, 当 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_404 时, 对任意的 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_418 都有 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_419
    至此, 证明了 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_372 为向量空间 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_363 的内积。赋予内积的向量空间为内积空间。因此 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_363 是一个内积空间。既然 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_372【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_363 的内积运算, 那么仍然用 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_425 表示, 即若
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_426

    【李航】统计学习方法--7. 支持向量机(详细推导)_算法_427
  1. 将内积空间 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_428 完备化为希尔伯特空间
    现在将内积空间 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_428 完备化。由式 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_430 定义的内积可以得到范数
    【李航】统计学习方法--7. 支持向量机(详细推导)_算法_431
    因此, 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_428 是一个赋范向量空间。根据泛函分析理论, 对于不完备的赋范向量空间 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_433 定可以使之完备化, 得到完备的赋范向量空间 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_434 。一个内积空间, 当作为一个赋范向量空间是完备的时候, 就是希尔伯特空间。这样, 就得到了希尔伯特空间 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_434
    这一希尔伯特空间 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_434 称为再生核希尔伯特空间(reproducing kernel Hilbert space, RKHS)。这是由于核 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_437 具有再生性, 即满足
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_438

    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_439
    称为再生核。
  2. 正定核的充要条件
    正定核的充要条件【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_440 是对称函数, 则 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_441 为正 定核函数的充要条件是对任意 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_442 对应的 Gram 矩阵:
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_443
    是半正定矩阵。

证明 必要性。由于 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_444【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_445 上的正定核, 所以存在从 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_446 到希尔伯特空间 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_308 的映射 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_448, 使得

【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_449

于是, 对任意 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_450, 构造 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_444 关于 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_450

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_453

对任意 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_454, 有

【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_455

表明 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_444 关于 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_450 的 Gram 矩阵是半正定的。
充分性。已知对称函数 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_444 对任意 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_459 关于 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_450 的 Gram 矩阵是半正定的。根据前面的结果, 对给定的 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_444, 可以 构造从 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_446 到某个希尔伯特空间 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_308

【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_464

而且

【李航】统计学习方法--7. 支持向量机(详细推导)_算法_465

并且

【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_466

由式 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_467

【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_449

表明 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_444【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_445

  1. 核函数另一定义:正定核的充要条件。
    正定核的等价定义【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_471 是定义在 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_472 上的对称 函数, 如果对任意 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_442 对应的 Gram 矩阵
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_443
    是半正定矩阵, 则称 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_441

这一定义在构造核函数时很有用。但对于一个具体函数 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_444 来说, 检验它是否为正定核函数并不容易, 因为要求对任意有限输入集 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_477 验证 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_478 对 应的 Gram 矩阵是否为半正定的。在实际问题中往往应用已有的核函数。另外, 由 Mercer 定理可以得到 Mercer 核 (Mercer kernel), 正定核比 Mercer 核更具一般性.


7.3.3 常用核函数


  1. 多项式核函数 (polynomial kernel function)
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_479
    对应的支持向量机是一个 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_480 次多项式分类器。在此情形下, 分类决策函数成为
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_481
  2. 高斯核函数 (Gaussian kernel function)
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_482
    对应的支持向量机是高斯径向基函数 (radial basis function) 分类器。在此情形下, 分 类决策函数成为
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_483
  3. 字符串核函数 (string kernel function)
    两个字符串 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_484【李航】统计学习方法--7. 支持向量机(详细推导)_算法_485 上的字符串核函数是基于映射 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_486 的特征空间中的内积:
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_487
    字符串核函数 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_488 给出了字符串 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_484【李航】统计学习方法--7. 支持向量机(详细推导)_算法_485 中长度等于 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_491

7.3.4 非线性支持向量分类机


非线性支持向量机学习算法 输入: 训练数据集 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_173, 其中 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_493【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_494
输出: 分类决策函数。

  1. 选取适当的核函数 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_318 和适当的参数 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_219, 构造并求解最优化问题
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_497
    求得最优解 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_177
  2. 选择 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_179 的一个正分量 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_500, 计算


    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_501
  3. 构造决策函数:
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_502
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_318 是正定核函数时, 问题 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_504

7.4 序列最小最优化算法


高效的实现支持向量机的学习—序列最小最优化(sequential minimal optimization, SMO )算法
SMO 算法要解如下凸二次规划的对偶问题:

【李航】统计学习方法--7. 支持向量机(详细推导)_算法_505

在这个问题中, 变量是拉格朗日乘子, 一个变量 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_506 对应于一个样本点 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_275; 变量的 总数等于训练样本容量 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_508

SMO 算法是一种启发式算法, 其基本思路是: 如果所有变量的解都满足此最优化问题的KKT条件 (Karush-Kuhn-Tucker conditions),那么这个最优化问题的解就得到了。因为 KKT 条件是该最优化问题的充分必要条件。否则, 选择两个变量, 固定其他变量, 针对这两个变量构建一个二次规划问题。这个二次规划问题关于这两个 变量的解应该更接近原始二次规划问题的解, 因为这会使得原始二次规划问题的目标 函数值变得更小。重要的是, 这时子问题可以通过解析方法求解, 这样就可以大大提高整个算法的计算速度。子问题有两个变量, 一个是违反 KKT 条件最严重的那一个, 另一个由约束条件自动确定。如此, SMO 算法将原问题不断分解为子问题并对子问 题求解, 进而达到求解原问题的目的。 注意, 子问题的两个变量中只有一个是自由变量。假设 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_509 为两个变量, 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_510 固定, 那么由等式约束 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_140

【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_512

推导过程【李航】统计学习方法--7. 支持向量机(详细推导)_算法_513

如果 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_514 确定, 那么 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_515 也随之确定。所以子问题中同时更新两个变量
整个SMO 算法包括两个部分: 求解两个变量二次规划的解析方法和选择变量的启发式方法。


7.4.1 两个变量二次规划的求解方法


  • 选择两个变量,其它变量固定
  • SMO将对偶问题转化成一系列子问题:

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_516

  • 根据约束条件, 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_517 可以表示成 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_518
  • 优化问题可以有解析解
  • 基于初始可行解 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_519, 可以得到 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_520

【李航】统计学习方法--7. 支持向量机(详细推导)_算法_521

  • 两个变量,约束条件用二维空间中的图形表示
  • 根据不等式条件 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_522 的取值范围:
    【李航】统计学习方法--7. 支持向量机(详细推导)_算法_523

【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_524
同理,如果【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_525,则【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_526

  • 求解过程: 先求沿着约束方向未经剪辑时的 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_527 再求剪辑后的 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_528
    记: 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_529
    【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_530
    【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_531 为输入 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_418 的预测值和真实输出 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_533 的差, 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_534
    引进记号
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_535
    目标函数可写成
    【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_536
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_537【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_538, 可将 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_539 表示为
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_540
    代入式 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_541, 得到只是 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_542 的函数的目标函数:
    【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_543
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_542 求导数
    【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_545
    令其为 0 , 得到
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_546
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_547 代入, 得到
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_548
    【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_549 代入, 于是得到
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_550
    得到:
    最优化子问题沿约束方向未经前辑的解:
    【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_551
    【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_552
    得到 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_539 的解 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_554
    计算阈值 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_54 和差值 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_556
    在每次完成两个变量的优化后, 都要重新计算阈值 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_54 。当 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_558 时, 由 KKT 条件【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_559可知:
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_560
    于是,
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_561
    【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_562 的定义式 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_563
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_564
    【李航】统计学习方法--7. 支持向量机(详细推导)_算法_565 的前两项可写成:
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_566
    代入式 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_565, 可得
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_568
    同样, 如果 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_569, 那么,
    【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_570
    如果 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_571 同时满足条件 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_572, 那么 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_573 。如果 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_571 是 0 或者 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_219, 那么 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_576【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_577 以及它们之间的数都是符合 KKT 条件的 阈值, 这时选择它们的中点作为 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_578
    在每次完成两个变量的优化之后, 还必须更新对应的 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_556 值, 并将它们保存在列 表中。 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_556 值的更新要用到 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_578 值, 以及所有支持向量对应的 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_582 :
    【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_583
    其中, 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_584 是所有支持向量 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_585

7.4.2 变量的选择方法


SMO算法在每个子问题中选择两个变量优化, 其中至少一个变量是违反KKT条件的

  1. 第一个变量的选择:外循环
  • 违反KKT最严重的样本点,
  • 检验样本点是否满足KKT条件:

【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_586

2、第二个变量的检查:内循环,

  • 选择的标准是希望能使目标函数有足够大的变化
  • 即对应 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_587 最大,即 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_588
  • 如果内循环通过上述方法找到的点不能使目标函数有足够的下降
  • 则:遍历间隔边界上的样本点, 测试目标函数下降
  • 如果下降不大, 则遍历所有样本点
  • 如果依然下降不大,则丢弃外循环点,重新选择

SMO 算法
输入: 训练数据集 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_173, 其中, 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_174,
【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_175, 精度 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_592
输出: 近似解 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_593
1、取初值 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_594, 令 【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_595;
2、选取优化变量 【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_596, 解析求解两个变量的最优化问题 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_597, 求得最优解 【李航】统计学习方法--7. 支持向量机(详细推导)_算法_598, 更新 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_131【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_600;
3、若在精度 【李航】统计学习方法--7. 支持向量机(详细推导)_支持向量机_601

【李航】统计学习方法--7. 支持向量机(详细推导)_公式推导_602

其中,

【李航】统计学习方法--7. 支持向量机(详细推导)_机器学习_603

则转 4; 否则令 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_604, 转 (2);
4、取 【李航】统计学习方法--7. 支持向量机(详细推导)_SVM_605


标签:李航,函数,推导,--,间隔,问题,超平面,线性,向量
From: https://blog.51cto.com/u_14300986/5947101

相关文章