机器学习算法——支持向量机SVM7(支持向量回归)

给定训练样本D=\{(x_1,y_1),(x_2,y_2),...,(x_m,y_m)\},y_i \in R,希望学得一个形如f(x)=w^Tx+b的回归模型,使得f(x)与y尽可能接近。

对样本(x,y),传统回归模型通常直接基于模型输出f(x)与真实输出之间的差别来计算损失,当且仅当f(x)与y完全相同时,损失才为零。

支持向量回归(Support Vector Regression, SVR)与此不同,假设f(x)与y之间最多有\epsilon的偏差。即仅当f(x)与y之间的差别绝对值大于\epsilon时才计算损失。这就相当于以f(x)为中心,构建了一个宽为2\epsilon的间隔带,若训练样本落在此间隔带中,则认为被预测正确。如下图所示。

机器学习算法——支持向量机SVM7(支持向量回归)_第1张图片

 所以,SVR问题可形式化为:

\underset{w,b}{min} \frac{1}{2} ||w||^2+C\sum_{i=1}^{m} \iota_i (f(x_i)-y_i)

其中C为常数,\iota_\epsilon是下图所示的\epsilon-不敏感损失函数。

\iota_\epsilon (z) = \left\{\begin{matrix} 0, if |z|<\epsilon \\ \\ |z|-\epsilon, otherwise \end{matrix}\right.

机器学习算法——支持向量机SVM7(支持向量回归)_第2张图片

由于间隔带两侧的松弛程度可有所不同,所以引入松弛变量\xi_i\hat{\xi_i},将上述式子写为:

\underset{w,b,\xi_i,\hat{xi_i}}{min} \frac{1}{2}||w||^2+C\sum_{i=1}^{m}(\xi_i+\hat{\xi_i})\\ \\ s.t. f(x_i)-y_i \leqslant \epsilon + \xi_i\\ \\ y_i-f(x_i) \leqslant \epsilon + \hat{\xi_i}\\ \\ \xi_i \geqslant 0, \hat{\xi_i} \geqslant 0, i=1,2,...,m

引入拉格朗日乘子,得出以下式子:

L(w,b,\alpha, \hat{\alpha}, \xi,\hat{\xi},\mu, \hat{\mu}) = \frac{1}{2} ||w||^2+C \sum_{i=1}^{m} (\xi_i+\hat{\xi_i}) + \sum_{i=1}^{m} \alpha_i(f(x_i)-y_i-\epsilon -\xi_i) + \sum_{i=1}^{m} \hat{\alpha_i}(f(x_i)-y_i-\epsilon -\xi_i) -\sum_{i=1}^{m}\mu_i \xi_i - \sum_{i=1}^{m} \hat{\mu_i} \hat{\xi_i}

令L对 其w,b, \xi_i\hat{\xi_i}求偏导等于零可知

机器学习算法——支持向量机SVM7(支持向量回归)_第3张图片

带回到拉格朗日函数中,即得到SVR的对偶问题

\underset{\alpha_i,\hat{\alpha_i}}{max} \sum_{i=1}^{m} y_i(\hat{\alpha_i}-\alpha_i) - \epsilon (\hat{\alpha_i}+\alpha_i) -\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} (\hat{\alpha_i}-\alpha_i)(\hat{\alpha_j}-\alpha_j)x_i^Tx_j\\ \\ s.t. \sum_{i=1}^{m} ((\hat{\alpha_i}-\alpha_i) =0\\ \\ 0\leqslant \alpha_i, \hat{\alpha_i} \leqslant C

满足KTT条件,即

\left\{\begin{matrix} \alpha_i(f(x_i)-y_i-\epsilon -\xi_i) =0\\ \hat{\alpha_i}(y_i-f(x_i)-\epsilon -\hat{\xi_i})=0\\ \alpha_i \hat{\alpha_i} =0, \xi_i \hat{\xi_i}=0\\ (C-\alpha_i)\xi_i=0, (C-\hat{\alpha_i})\hat{\xi_i}=0 \end{matrix}\right.

可以看出,当且仅当f(x_i)-y_i-\epsilon -\xi_i=0时,\alpha_i能取非零值。当且仅当y_i-f(x_i)-\epsilon -\hat{\xi_i}=0时,\hat{\alpha_i}取非零值。即当样本(x_i,y_i)不落入\epsilon间隔带中,\alpha_i和 \hat{\alpha_i}才能取非零值。此外,约束f(x_i)-y_i-\epsilon -\xi_i=0y_i-f(x_i)-\epsilon -\hat{\xi_i}=0不能同时成立,因此 \alpha_i和 \hat{\alpha_i} 中至少有一个为零。

SVR的解形如

f(x)=\sum_{i=1}^{m} (\hat{\alpha_i-\alpha_i})x_i^Tx+b

能使(\hat{\alpha_i}-\alpha_i) \neq 0的样本即为SVR的支持向量,他们必落在间隔带外。

若考虑特征映射形式,则相应的w=\sum_{i=1}^{m} (\hat{\alpha_i-\alpha_i})\phi (x_i)

则SVR可表示为

f(x) = \sum_{i=1}^{m} (\hat{\alpha_i}-\alpha_i )\kappa(x,x_i)+b

其中,\kappa (x_i,x_j)=\phi(x_i)^T\phi(x_j)为核函数。

你可能感兴趣的:(支持向量机,算法,机器学习,人工智能,svm)