system: [SYSTEM]

user: 2. 支持向量机回归中目标函数的五大理解 支持向量机回归模型的目标函数中，为什么还有 1 2 ‖ W ‖ 2 (即 1 2 W T W )，和支持向量机分类问题的最大化间隔有关系么？因为支持向量机分类的目标函数里也有 1 2 ‖ W ‖ 2 ，是通过最大化间隔推导出来的。有的 文献 [ 3 ] [ 4 ] [ 5 ] [ 6 ] 里关于这个项，讨论了W的正则化；有的文献 [ 7 ] 讨论了回归直线或超平面的flatten， 还有的文献 [ 8 ] 把回归转换成二分类问题来得到 1 2 ‖ W ‖ 2 这个项。针对SVM回归的目标函数 min         1 2 ‖ W ‖ 2 + C ∑ i = 1 l ( ξ i + ξ ′ i ) 究竟还有多少疑问？还可以从哪些方面来理解？ 接下来，我们就从支持向量机分类中的最大化间隔、机器学习中的正则化、结构风险的最小化和回 归超平面的flatten这几个方面来对 1 2 ‖ W ‖ 2 的各种理解进行分析.其中，前四个方面是通过大量研读文献， 进行的融会贯通、进一步总结和提升；第五个方面，是我们通过自己独立的深入思考，对该问题进行的透彻的理解和分析，从而实现了对支持向量机回归的比较全面的解析，站在回归问题本质的高度，看到了前面四个理解在其中的体现和统一。 1) 从正则化的角度看 回归，目的是希望真实函数值和回归方程预测的函数值之间的差距最小，在支持向量机回归中，有一个 2 ε 误差带，二者的差距在这个误差带以内，就不计损失，如果在这个之外就计算损失，且相应损失 记为 ξ i 和 ξ ′ i ，于是，追求损失和 ∑ i = 1 l ( ξ i + ξ ′ i ) 的最小。得到支持向量机回归的模型如下： min         ∑ i = 1 l ( ξ i + ξ ′ i ) s .t .   { W T Φ ( X i ) + b − y i ≤ ε + ξ i − W T Φ ( X i ) − b + y i ≤ ε + ξ ′ i ξ i ， ξ ′ i ≥ 0 ， i = 1 ， 2 ， ⋯ ， l . 然后，为了问题求解过程的简化、得到比较好的解和防止过拟合或者叫增强泛化性，在目标函数中 引入正则项 [ 9 ] 1 2 ‖ W ‖ 2 一起进行最小化，从而把W参数限制在一个很小的范围内，如下图2，回归问题 的求解最终与W正则化的小范围圆圈边界相交，这个交点就是回归问题的关于W的解。这样，W的各个分量很小以后，当数据点的特征属性值X带入回归方程 f ( X ) = W T φ ( X ) + b ，W因为值很小对f(X)的影响小，那么f(X)的值主要由数据属性值X来决定，从而不会因为训练样本计算出来的W起决定作用，即防止了过拟合，同时也简化了求解范围。 图2. 加了 正则化以后的求解情况 这样，得到支持向量机回归的最终模型为 [ 3 ] [ 4 ] [ 5 ] min         1 2 ‖ W ‖ 2 + C ∑ i = 1 l ( ξ i + ξ ′ i ) s .t .   { W T Φ ( X i ) + b − y i ≤ ε + ξ i − W T Φ ( X i ) − b + y i ≤ ε + ξ ′ i ξ i ， ξ ′ i ≥ 0 ， i = 1 ， 2 ， ⋯ ， l 这种加正则项的方法，叫着Tikhonov正则化，在统计学中称为岭回归(ridge regression)，在机器学习中称为权重衰减(weight decay) [ 6 ] 。 2) 从结构风险最小化看 [ 10 ] [ 11 ] 经验风险最小化(Empirical Risk Minization， ERM) [ 9 ]，其中的经验风险，即经验误差，也就是训练误差。结构风险最小化(Structure Risk Minization， SRM)，基本思想是在追求经验误差最小化的同时，使学习器在整个样本集上总的期望风险得到控制 [ 10 ]，于是，通过加正则项来实现对测试样本泛化性，如下面公式， 是加的正则项， R E M P 是经验风险。 R S R M = R E M P + λ J (f) 对于支持向量机， R E M P = ∑ i = 1 l ( ξ i + ξ ′ i ) ，加正则项就是 1 2 ‖ W ‖ 2 ，于是得到目标函数： min         C ∑ i = 1 l ( ξ i + ξ ′ i ) + 1 2 ‖ W ‖ 2 ， C用于调节正则项和损失计算之间的重要性，最后的支持向量机回归模型为 s .t .   { W T Φ ( X i ) + b − y i ≤ ε + ξ i − W T Φ ( X i ) − b + y i ≤ ε + ξ ′ i ξ i ， ξ ′ i ≥ 0 ， i = 1 ， 2 ， ⋯ ， l . 实际上，这里的经验风险最小化，就相当于(1)中的计算 2 ε 间隔带以外的损失，然后再加正则项，这和(1)中的理解统一起来了。 3) 从回归超平面的flatten来看 为了找到对于训练样本最多有 ε 偏差的回归超平面 f ( x ) = W T φ ( x ) + b ，这个函数 f ( x ) 必须尽可能的flatten [ 7 ]，这就要求最小化 ‖ W ‖ 2 ，写成凸优化问题的形式，得到支持向量机的模型如下 min         1 2 ‖ W ‖ 2 s .t .   { W T Φ ( X i ) + b − y i ≤ ε + ξ i − W T Φ ( X i ) − b + y i ≤ ε + ξ ′ i ξ i ， ξ ′ i ≥ 0 ， i = 1 ， 2 ， ⋯ ， l 再者， ε 之外的损失 ξ i 和 ξ ′ i 要最小化，于是在目标函数里加入 C ∑ i = 1 l ( ξ i + ξ ′ i ) ，得到最终模型如下 min         1 2 ‖ W ‖ 2 + C ∑ i = 1 l ( ξ i + ξ ′ i ) s .t .   { W T Φ ( X i ) + b − y i ≤ ε + ξ i − W T Φ ( X i ) − b + y i ≤ ε + ξ ′ i ξ i ， ξ ′ i ≥ 0 ， i = 1 ， 2 ， ⋯ ， l 实际上，这里要求回归直线或超平面的flatten，“扁平”，就是要求W的要扁平，即 ‖ W ‖ 尽量小，这又和前两个理解统一了！ 4) 从二分类问题的转化来看 把每一个数据点 ( x i ， y i ) 变成两个数据点 ( x i ， y i + ε ) 和 ( x i ， y i − ε ) ，从而构造出新的训练集 { ( x 1 ， y 1 + ε ， 1 ) ， ( x 2 ， y 2 + ε ， 1 ) ， ⋯ ， ( x l ， y l + ε ， 1 ) ， ( x 1 ， y 1 − ε ， − 1 ) ， ( x 2 ， y 2 − ε ， − 1 ) ， ⋯ ， ( x l ， y l − ε ， − 1 ) } . 新构造出来的这个训练集的样本点是两个类，从而构造分类超平面把这两类样本分开，那么这个超平面就是所求的回归面，模型如下 [ 12 ] ： min w ， η ， b ， ξ i ， ξ ′ i     1 2 ‖ W ‖ 2 + 1 2 η 2 + C 1 l ∑ i ( ξ i + ξ ′ i ) s .t .     W T φ ( X i ) + η ( y i + ε ) + b ≥ 1 − ξ i ， i = 1 ， ⋯ ， l       W T φ ( X i ) + η ( y i − ε ) + b ≥ − 1 + ξ i ， i = 1 ， ⋯ ， l       ξ i ， ξ ′ i ≥ 0 ， i = 1 ， ⋯ ， l 这里的权重比分类问题多了一个关于y的权重 η 。 设 ( W * ， b * ， η * ， ξ * ) 为上面问题的最优解，若令 ε * = ε − 1 η * ，并考虑下面问题 min         1 2 ‖ W ‖ 2 + C l ∑ i = 1 l ( ξ i + ξ ′ i ) 则该问题的解 ( W ¯ ， b ¯ ) 满足 W ¯ = − W * η * ， b ¯ = − b * η * [ 8 ] 。上面这个模型就是文献 [ 12 ] 中描述的推广的最大化间隔法得到的支持向量机回归模型，这和前面几个理解得到的模型在损失惩罚项那里多了个 1 l ，但并 不影响目标函数的最小化。 5) 从回归问题的本质来看 首先是要最小化 2 ε 带状区域外的损失 ξ i 和 ξ ′ i ，所以有 min C ∑ i = 1 l ( ξ i + ξ ′ i ) 。最小化这个损失，就会把回 归超平面置于数据点中心位置去，使得尽量多的数据点距离回归超平面最近，或者是使得这些数据点尽量落在在这个上下(即竖直)方向的 ε 差距范围内；再追求带状区域边界两条虚线之间的距离或者叫间隔最大，即下图3中的ρ或者Margin最大(这就和前面第四点的二分类问题看法相统一)，就可以使得更多的样本点“落入”这个带状区域、这样来尽量最小化损失，且使得距离回归面 f ( X ) = W T φ ( X ) + b 最远的样本点距离回归面尽量再近一些，从而使得泛化性能更好(这就和前面第一点和第二点的正则项和经验风险的看法一致)。 图3. SVM回归的Margin 那么，这个Margin的最大化，和支持向量机分类里的最大化Margin一样，使得 2 ‖ W ‖ 最大化，从而使得 1 2 ‖ W ‖ 2 最小化(这就和前面第三点的“flatten”的理解相统一)。这种“把回归面拉到数据点中间去，再最大化Margin”的思想，综合起来就得到支持向量机回归的目标函数 min         1 2 ‖ W ‖ 2 + C ∑ i = 1 l ( ξ i + ξ ′ i ) ，于是 得到最终的模型如下 min         1 2 ‖ W ‖ 2 + C ∑ i = 1 l ( ξ i + ξ ′ i ) s .t .   { W T Φ ( X i ) + b − y i ≤ ε + ξ i − W T Φ ( X i ) − b + y i ≤ ε + ξ ′ i ξ i ， ξ ′ i ≥ 0 ， i = 1 ， 2 ， ⋯ ， l 这一点的理解，将一般回归问题计算的损失和支持向量机二分类问题特有的观点统一到支持向量机回归模型中，最小化损失，使得回归面回到数据点的中心位置，再通过SVM特有的二分类最大化间隔使得尽量多的数据点落在 2 ε 带状区域内、从而进一步减少带状区域外要计算的损失！