system: [SYSTEM]

user: 2. SVM基本原理 SVM是在统计学习的基础上发展起来的一种新的机器学习方法，在统计学习理论的VC理论和结构风险最小化原则的基础上，SVM能够根据有限样本信息，在模型的复杂性和学习能力之间寻求最佳折衷，避免了局部极小值点。同时，SVM避免了人工神经网络常常出现的“过学习”问题，具有良好的推广性能和较好的分类精确性，对于有限训练样本得到的决策规则对独立的测试集仍然能够得到小的误差。SVM最初被用于分类问题，后来在函数逼近和回归预测等方面也取得了良好的效果。 当SVM用于回归预测时，称为SVM回归机。通常，SVM将所有样本数据分为两类，一类是训练样本，用来训练得到合适的模型；另一类是测试样本，用来测试训练好的模型的性能。假设一个包含l个样本的训练集： T = { ( x 1 ， y 1 ) ， ( x 2 ， y 2 ) ， ⋯ ， ( x l ， y l ) } ∈ ( R n × R ) ，其中， x i ∈ R n 表示第i个输入数据， y i ∈ R 是第i个输出数据。要求找到一个定义在R n 上的函数f(x)，由它可以对任一输入x去找到与之对应的输出，即y，换句话说也就是要找到一个可表示或反映出y与x之间的关系的函数。 设有一个给定的训练样本集合，它的表示为 S = { ( x i ， y i ) | x i ∈ R n ， y ∈ R ， i = 1 ， 2 ， ⋯ ， l } (1) 定义1.1：样本S是e-线性近似的，如果存在一个超平面 f ( x ) = ( w ， x ) + b ，其中 w ∈ R n ， b ∈ R ，下面的式子成立： | y i − f ( x i ) | ≤ ε ， i = 1 ， 2 ， ⋯ ， l (2) 用d i 表示点到超平面的距离，则有： d i = | ( w ， x ) + b − y i | 1 + ‖ w ‖ 2 (3) 因为S是e-线性近似的，所以有： | ( w ， x ) + b − y i | ≤ ε ， i = 1 ， 2 ， ⋯ ， l (4) 这样可以得到： d i = | ( w ， x ) + b − y i | 1 + ‖ w ‖ 2 ≤ ε 1 + ‖ w ‖ 2 ， i = 1 ， 2 ， ⋯ ， l (5) 定义1.2：最大化集合S中的点到超平面的距离上界而得到的超平面，称为e-线性近似集S的最优近似超平面。 由上述定义可知通过最大化 ε / 1 + ‖ w ‖ 2 ，或最小化 1 + ‖ w ‖ 2 便可得到最优近似超平面。且进一步可说要得到最优近似超平面只需要最小化 ‖ w ‖ 2 即可。所以我们可将线性回归问题转化为下面的优化问题： min 1 2 ‖ w ‖ 2 s .t .     | ( w ， x ) + b − y i | ≤ ε ， i = 1 ， 2 ， ⋯ ， l (6) 对于这样的一个二次规划问题，相比于直接求法，人们更多选用间接求解，即先将问题转化，找到它的对偶问题，接着再求解即可。要求出原问题的对偶问题，需引入Lagrange函数，表示如下： L ( w ， b ， a ， a * ) = 1 2 ‖ w ‖ 2 − ∑ i = 1 l a i ( ε − y i + ( w ， x i ) + b ) − ∑ i = 1 l a i * ( ε + y i − ( w ， x i ) − b ) (7) 式(7)中， a i ， a i * ≥ 0 ， i = 1 ， 2 ， ⋯ ， l 。 Lagrange对偶问题为： max a ， a * min w ， b L ( w ， b ， a ， a * ) (8) 根据Kuhn-Tucker条件，函数L的极值应当满足下列条件： ∂ L ∂ w = 0 ，     ∂ L ∂ b = 0 (9) 于是得到： w = ∑ i = 1 l ( a i − a i * ) x i (10) ∑ i = 1 l ( a i − a i * ) = 0 (11) 把式(10)和式(11)代入式(7)，得到原优化问题的对偶形式为： min a ， a * 1 2 ∑ i = 1 ， j = 1 l ( a i * − a i ) ( a j * − a j ) φ ( x i − x j ) + ε ∑ i = 1 l ( a i * − a i ) − ∑ i = 1 l y i ( a i * − a i ) s .t .     ∑ i = 1 l ( a i * − a i ) = 0             a i * ， a i ≥ 0 ， i = 1 ， 2 ， ⋯ ， l (12) 因为考虑到误差的可能性，故在此引入两个松弛变量： ξ i ， ξ i * ≥ 0 ， i = 1 ， 2 ， ⋯ ， l (13) 这时优化方程为： min 1 2 ‖ w ‖ 2 + γ ∑ i = 1 l ( ξ i + ξ i * ) s .t .     ( w ， φ ( x i ) ) + b − y i ≤ ξ i * + ε ， i = 1 ， 2 ， ⋯ ， l             y i − ( w ， φ ( x i ) ) − b ≤ ξ i * + ε ， i = 1 ， 2 ， ⋯ ， l             ξ i ， ξ i * ≥ 0 ， i = 1 ， 2 ， ， ⋯ ， l (14) 为了对这个二次规划问题进行求解，在此又引入Lagrange函数： L ( w ， b ， a ， a * ) = 1 2 ‖ w ‖ 2 + γ ∑ i = 1 l ( ξ i + ξ i * ) − ∑ i = 1 l η i ( ξ i + ξ i * )     − ∑ i = 1 l a i ( ξ i + ε − y i + ( w ， φ ( x i ) ) + b )     − ∑ i = 1 l a i * ( ξ i * + ε − y i − ( w ， φ ( x i ) ) − b ) (15) 其中， a i ， a i * ≥ 0 ， i = 1 ， 2 ， ⋯ ， l 。并且函数L的极值满足下列条件： ∂ L ∂ w = 0 ，     ∂ L ∂ b = 0 ，     ∂ L ∂ ξ i = 0 ，     ∂ L ∂ ξ i * = 0 (16) 于是得到： w = ∑ i = 1 l ( a i − a i * ) x i (17) ∑ i = 1 l ( a i − a i * ) = 0 (18) γ − a i − η i = 0 ， i = 1 ， 2 ， ⋯ ， l (19) γ − a i * − η i * = 0 ， i = 1 ， 2 ， ⋯ ， l (20) 把式(17)~(20)代入式(15)，得到Lagrange对偶问题为： min 1 2 ∑ i = 1 ， j = 1 l ( a i * − a i ) ( a j * − a j ) φ ( x i − x j ) + ε ∑ i = 1 l ( a i * − a i ) − ∑ i = 1 l y i ( a i * − a i ) s .t .     ∑ i = 1 l ( a i * − a i ) = 0             0 ≤ a i * ， a i ≤ γ ， i = 1 ， 2 ， ⋯ ， l (21) 用支持向量机解决非线性问题时，通常会经过某种变换函数将低维空间的非线性数据变量映射到高维数据空间，然后再对这个高维的特征空间进行线性回归，建立线性模型： f ( x ， w ) = ( w ⋅ φ ( x ) ) + b (22) 而实现这种低维到高维的转换是通过核函数实现的，具体表达式如下： k ( x i ， x j ) = φ ( x i ) φ ( x j ) (23) 式(23)中， k ( x i ， x j ) 为核函数，满足Mercer条件。它接受两个低维空间里的向量，计算出经过某个变换后在高维空间里的向量内积值，这样它就把特征空间的点积运算化成了低维原始空间的核函数运算，巧妙地解决了高维特征空间中计算带来的“维数灾难”。 将式(21)求得的最优解和式(23)代入式(22)得到： f ( x ) = ∑ i = 1 l ( a i * ， a i ) K ( x ， x i ) + b (24)