欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > 机器学习6_支持向量机_算法流程

机器学习6_支持向量机_算法流程

2025/11/7 17:42:19 来源:https://blog.csdn.net/Jay_NanX/article/details/143675306  浏览:    关键词:机器学习6_支持向量机_算法流程

最大化:\theta (\alpha ,\beta )=\sum_{i=1}^{N}\alpha _i-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}y_i y_j\alpha _i\alpha _j\varphi (X_i)^T\varphi (X_j)

限制条件:

        (1)0\leq \alpha _i\leq C,(i=1\sim N)

        (2)\sum_{i=1}^{N}\alpha _iy_i=0,(i=1\sim N)

如何求解这个对偶问题,同时基于对偶问题给出支持向量机算法的统一流程。

\varphi (X_i)^T\varphi (X_j)=K(X_i,X_j) (核函数)

只要知道核函数,就可以求个这个最优化的对偶问题。

求解了这个对偶问题后,解出了 \alpha (i=1\sim N)

可以根据上面的式子 \omega =\sum_{i=1}^{N}\alpha _iy_i\varphi (x_i)

由于 \varphi (x) 不知道是否具有显示表达,所以 \omega 也不知道是否具有显示表达。

无须知道 \omega 的显示表达,也可以通过核函数 K(X_1,X_2)\Rightarrow\omega ^TX+b 的值 

如何求b

由于 \omega =\sum_{j=1}^{N}\alpha _jy_j\varphi (X_j)

则 \omega^T\varphi (X_i) =\sum_{j=1}^{N}\alpha _jy_j\varphi (X_j)^T\varphi (X_i)

                       =\sum_{j=1}^{N}\alpha _jy_jK(X_j,X_i)

\varphi (X_j)^T\varphi (X_i)=K(X_i,X_j)

\alpha _i[1+\delta _i-y_i\omega ^T\varphi (X_i)-y_ib]=0

\beta _i\delta _i=0 \Rightarrow (c-\alpha _i)\delta _i=0

如果对某个 i,\alpha _i\neq 0 且 \alpha _i\neq c ,则根据KKT条件,必有 \delta _i=0 ;

1+\delta _i-y_i\omega ^T\varphi(X_i) -y_ib=0

y_i\omega ^T\varphi(X_i)

\Uparrow

\mathbf{=\sum_{j=1}^{N}\alpha _iy_iy_jK(X_j,X_i)}

只需要找一个 0<\alpha _i<c

b=\frac{1-\sum_{j=1}^{N}\alpha_jy_iy_jK(X_j,X_i)}{y_i }

对于一个测试样本X如何获得其预测的类别?

需要计算 \omega^T\varphi (X)+b ,将 \omega =\sum_{i=1}^{N}\alpha _jy_i\varphi (X_i) 代入,将会得到

\omega^T\varphi (X)+b =\sum_{i=1}^{N}\alpha _iy_i\varphi (X_i)^T\varphi (X)+b

                        =\sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b

即使不知道 \varphi (x) ,只知道 K(X_1,X_2) ,也可以算出 \omega ^TX+b

这一结论被称为——核函数系法(Kernel Trick)

可以得到如下判决标准:

如果 \sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b\geq 0 ,那么 X\in C_1

如果 \sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b< 0 ,那么 X\in C_2


基于对偶问题的求解,总结支持向量机训练的测试的流程

训练过程:

输入训练数据 \left \{ \left ( X_i,y_i \right ) \right \}i=1\sim N ,其中 y_i=\pm1

最大化:\theta (\alpha )=\sum_{i=1}^{N}\alpha _i\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}y_iy_j\alpha_i\alpha_j\varphi (X_i)^T\varphi (X_j)

限制条件:

(1)0\leq \delta _i\leq C,(i=1\sim N)

(2)\sum_{i=1}^{N}\alpha _iy_i=0,(i=1\sim N)

求b

找一个 \alpha _i\neq 0 且 \alpha _i\neq c ,则 b=\frac{1-\sum_{j=1}^{N}\alpha_jy_iy_jK(X_j,X_i)}{y_i }

测试过程

考察测试数据X,预测它的类别y。

如果 \sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b\geq 0 ,那么 y=+1

如果 \sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b< 0 ,那么 y=-1

这里只是用到了核函数 K(X_1,X_2)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词