寫在SVM之前——凸優化與對偶問題


   SVM之問題形式化

   SVM之對偶問題

   SVM之核函數

   SVM之解決線性不可分

>>>寫在SVM之前——凸優化與對偶問題

本篇是寫在SVM之前的關於優化問題的一點知識,在SVM中會用到。考慮到SVM之復雜,將其中優化方面基礎知識提出,單作此篇。所以,本文也不會涉及優化問題的許多深層問題,只是個人知識范圍內所了解的SVM中涉及到的優化問題基礎。

一、凸優化問題

在優化問題中,凸優化問題由於具有優良的性質(局部最優解即是全局最優解),受到廣泛研究。

對於一個含約束的優化問題:

\[\left\{ \begin{matrix}\underset{x}{\mathop{\min }}\,f(x)  \\\begin{matrix}s.t. & x\in C  \\\end{matrix}  \\\end{matrix} \right.\]

其中,$f(x)$ 為一個凸函數,變量$\text{x}$ 的可行域$\text{C}$ 是一個凸集,那么這個優化問題稱為一個凸優化問題。

將上面的約束條件的形式更加明確一點,一個凸優化問題可以寫成:

\[\left\{ \begin{matrix}\underset{x}{\mathop{\min }}\,f(x)  \\\begin{matrix}s.t. & {{g}_{i}}(x)\le 0  \\{} & {{h}_{i}}(x)=0  \\\end{matrix}  \\\end{matrix} \right.\]

其中,$f(x)$ 當然仍然為一個凸函數,但對約束條件有一定要求:${{g}_{i}}(x)$ 是凸函數;${{h}_{i}}(x)$ 為仿射函數。這樣的要求當然是為了保證可行域是一個凸集。

不等式約束中${{g}_{i}}(x)$為凸函數,而凸函數的水平截集$\{x|{{g}_{i}}(x)\le \alpha \}$ 是一個凸集(凸函數的性質),這就使得不等式約束保證了可行域為凸集;

對於等式約束${{h}_{i}}(x)=0$ 可以寫成:

\[\left\{ \begin{matrix}{{h}_{i}}(x)\le 0  \\{{h}_{i}}(x)\ge 0  \\\end{matrix} \right.\]

要使得滿足條件的$x$ 組成的集合為凸集,就要求${{h}_{i}}(x)$ 既是一個凸函數,又是一個凹函數,這樣${{h}_{i}}(x)$便只能是仿射函數了。

以上便是凸優化問題的一般形式。常見的線性規划、二次規划、二次約束二次規划等優化問題都是凸優化問題。

二、拉格朗日對偶

拋開凸優化問題,回到一般的優化問題。

一般的優化問題可以寫成以下形式:

\[\left\{ \begin{matrix}\underset{x}{\mathop{\min }}\,f(x)  \\\begin{matrix}s.t. & {{g}_{i}}(x)\le 0  \\{} & {{h}_{i}}(x)=0  \\\end{matrix}  \\\end{matrix} \right.\]

當然,這里對$f(x)$、${{g}_{i}}(x)$、${{h}_{i}}(x)$ 都是沒有要求的。

根據拉格朗日方法,對應的拉格朗日函數為:

$L(x,\alpha ,\beta )=f(x)+\sum\limits_{i}{{{\alpha }_{i}}{{g}_{i}}(x)}+\sum\limits_{i}{{{\beta }_{i}}{{h}_{i}}(x)}$

其中$\alpha $ 、$\beta $為拉格朗日乘數(都是向量,其長度分別對應於不等式約束和等式約束的個數),且${{\alpha }_{i}}\ge 0$、$\beta $ 任意。

定義函數:

\[{{\theta }_{P}}(x)=\underset{\alpha ,\beta :{{\alpha }_{i}}\ge 0}{\mathop{\max }}\,L(x,\alpha ,\beta )\]

容易發現:

\[{{\theta }_{P}}(x)=\left\{ \begin{matrix}f(x) & {{g}_{i}}(x)\le 0\And {{h}_{i}}(x)=0  \\+\infty  & {{g}_{i}}(x)>0||{{h}_{i}}(x)\ne 0  \\\end{matrix} \right.\]

如果原來的約束條件都滿足那么$L(x,\alpha ,\beta )=f(x)+\sum\limits_{i}{{{\alpha }_{i}}{{g}_{i}}(x)}+\sum\limits_{i}{{{\beta }_{i}}{{h}_{i}}(x)}$,最后一項為零,第二項要取得最大值,由於${{g}_{i}}(x)\le 0$,所以只能取$\alpha =\overset{\to }{\mathop{0}}\,$ ,使其取得最大值0,這樣\[{{\theta }_{P}}(x)=\underset{\alpha ,\beta :{{\alpha }_{i}}\ge 0}{\mathop{\max }}\,L(x,\alpha ,\beta )=f(x)\]

如果違背了原來的約束條件,比如存在某一個約束${{g}_{i}}(x)>0$,那么可以取${{\alpha }_{i}}$ 任意大,這樣${{\theta }_{P}}(x)=+\infty $。違反等式約束${{h}_{i}}(x)=0$的情況是類似的。

所以可以認為${{\theta }_{P}}(x)$是對原理優化問題中的約束條件進行了吸收,是原來的約束優化問題變為無約束優化問題(相對於原來變量$x$ 無約束了),即原來的優化問題可以寫成:    

$\begin{align}\underset{x}{\mathop{\min }}\,{{\theta }_{P}}(x)=\underset{x}{\mathop{\min }}\,\underset{\alpha ,\beta :{{\alpha }_{i}}\ge 0}{\mathop{\max }}\,L(x,\alpha ,\beta )\end{align}$                                                   

現在,稱(1)為原問題,這和最初的有約束問題是等價的。

將(1)中min和max交換順序得到對偶問題:

$\begin{align}\underset{\alpha ,\beta :{{\alpha }_{i}}\ge 0}{\mathop{\max }}\,{{\theta }_{D}}(\alpha ,\beta )=\underset{\alpha ,\beta :{{\alpha }_{i}}\ge 0}{\mathop{\max }}\,\underset{x}{\mathop{\min }}\,L(x,\alpha ,\beta )\end{align}$          

其中\[{{\theta }_{D}}(\alpha ,\beta )=\underset{x}{\mathop{\min }}\,L(x,\alpha ,\beta )\]

記${{p}^{*}}$ 為原問題的最優解,對應最優解的最優變量取值為${{x}^{*}}$,則${{p}^{*}}=f({{x}^{*}})$ ;

記${{d}^{*}}$ 為對偶問題的最優解,對應最優解的最優變量取值為${{\alpha }^{*}}$、${{\beta }^{*}}$,則${{d}^{*}}={{\theta }_{D}}({{\alpha }^{*}},{{\beta }^{*}})$。

下面來說明${{d}^{*}}\le {{p}^{*}}$。

對於任意$\alpha ,\beta $($\alpha \ge 0$ ):

\[\begin{align*}{{\theta }_{D}}(\alpha ,\beta )&=\underset{x}{\mathop{\min }}\,L(x,\alpha ,\beta ) \\& \le L({{x}^{*}},\alpha ,\beta ) \\ & =f({{x}^{*}})+\sum\limits_{i}{{{\alpha }_{i}}{{g}_{i}}({{x}^{*}})}+\sum\limits_{i}{{{\beta }_{i}}{{h}_{i}}({{x}^{*}})} \\& \le f({{x}^{*}}) \\& ={{p}^{*}} \\\end{align*}\]

第一個不等號成立是顯然的,這是由$\underset{x}{\mathop{\min }}\,L(x,\alpha ,\beta )$ 的定義直接得到的;第二個不等號成立是因為${{x}^{*}}$ 是一個可行解,所以約束條件${{g}_{i}}(x)\le 0$ 和${{h}_{i}}(x)=0$ 都滿足,所以$\sum\limits_{i}{{{\alpha }_{i}}{{g}_{i}}({{x}^{*}})}\le 0$ 、$\sum\limits_{i}{{{\beta }_{i}}{{h}_{i}}({{x}^{*}})}=0$。

由於以上推導過程中$\alpha $、$\beta $的任意性,所以${{d}^{*}}={{\theta }_{D}}({{\alpha }^{*}},{{\beta }^{*}})\le {{p}^{*}}$ ,所以求解對偶問題是在最大化原問題最優解的下界。

通常,對偶問題相對於原問題有比較好的形式(有看到“無論原問題形式如何,對偶問題都是一個凸優化問題”的說法,但沒見過證明。),這樣,當原問題不好求解時,可以轉而求解對偶問題。問題是一般情況下有${{d}^{*}}\le {{p}^{*}}$,所以求解對偶問題只能得到原問題解的下界,不能保證${{d}^{*}}={{p}^{*}}$。

當原問題滿足一些條件時,可以保證${{d}^{*}}={{p}^{*}}$。

Slater條件存在$x$ ,使得不等式約束${{g}_{i}}(x)\le 0$嚴格成立,即${{g}_{i}}(x)=0$

當原問題為一凸優化問題,且滿足Slater條件時,有${{d}^{*}}={{p}^{*}}$,這樣就原問題和對偶問題的解一致,求解對偶問題即可。顯然,Slater是凸優化問題與其對偶問題等價的一個充分條件。

KKT條件是原問題與對偶問題等價的必要條件。考慮一般優化問題(不一定是凸優化),如果有${{d}^{*}}={{p}^{*}}$,則:

\[\begin{align*}{{d}^{*}}&={{\theta }_{D}}({{\alpha }^{*}},{{\beta }^{*}}) \\& =\underset{x}{\mathop{\min }}\,L(x,{{\alpha }^{*}},{{\beta }^{*}}) \\& \le L({{x}^{*}},{{\alpha }^{*}},{{\beta }^{*}}) \\& =f({{x}^{*}})+\sum\limits_{i}{{{\alpha }_{i}}^{*}{{g}_{i}}({{x}^{*}})}+\sum\limits_{i}{{{\beta }_{i}}^{*}{{h}_{i}}({{x}^{*}})} \\& \le f({{x}^{*}}) \\& ={{p}^{*}} \\\end{align*}\]

由於${{d}^{*}}={{p}^{*}}$,所以上面推導過程中所以的不等號“$\le $ ”應該取到等號。第一個等號得到$\underset{x}{\mathop{\min }}\,L(x,{{\alpha }^{*}},{{\beta }^{*}})=L({{x}^{*}},{{\alpha }^{*}},{{\beta }^{*}})$,這說明${{x}^{*}}$ 是$L(x,{{\alpha }^{*}},{{\beta }^{*}})$的一個極值點,所以$L(x,{{\alpha }^{*}},{{\beta }^{*}})$在${{x}^{*}}$ 處的偏導為零,$\frac{\partial L(x,{{\alpha }^{*}},{{\beta }^{*}})}{\partial x}{{|}_{{{x}^{*}}}}=0$ ;第二個等號得到$f({{x}^{*}})+\sum\limits_{i}{{{\alpha }_{i}}^{*}{{g}_{i}}({{x}^{*}})}+\sum\limits_{i}{{{\beta }_{i}}^{*}{{h}_{i}}({{x}^{*}})}=f({{x}^{*}})$,所以$\sum\limits_{i}{{{\beta }_{i}}^{*}{{h}_{i}}({{x}^{*}})}=0$、$\sum\limits_{i}{{{\alpha }_{i}}^{*}{{g}_{i}}({{x}^{*}})}=0$。$\sum\limits_{i}{{{\beta }_{i}}^{*}{{h}_{i}}({{x}^{*}})}=0$是顯然的,因為根據約束條件本來就有${{h}_{i}}({{x}^{*}})=0$,重點是原本的$\sum\limits_{i}{{{\alpha }_{i}}^{*}{{g}_{i}}({{x}^{*}})}\le 0$現在取到了等號。

綜合以上兩點,在加上原來的約束,可以得到KKT條件:

\[\left\{ \begin{matrix}\frac{\partial L(x,{{\alpha }^{*}},{{\beta }^{*}})}{\partial x}{{|}_{{{x}^{*}}}}=0  \\\sum\limits_{i}{{{\alpha }_{i}}^{*}{{g}_{i}}({{x}^{*}})}=0  \\{{\alpha }_{i}}^{*}\ge 0  \\\begin{matrix}{{g}_{i}}({{x}^{*}})\le 0  \\{{h}_{i}}({{x}^{*}})=0  \\\end{matrix}  \\\end{matrix} \right.\]

KKT條件是${{d}^{*}}={{p}^{*}}$的必要條件,給出了當原問題和對偶問題等價時對應最優值點所滿足的性質。

盡管KKT條件是${{d}^{*}}={{p}^{*}}$的必要條件,但當原問題是凸優化問題時,它就升級為充要條件,也就是只要找到${{x}^{*}},{{\alpha }^{*}},{{\beta }^{*}}$ 滿足以上五個條件,那么原問題就和對偶問題就有相同的解,分別在${{x}^{*}}$和$({{\alpha }^{*}},{{\beta }^{*}})$處取得。

另外,根據KKT條件中的$\sum\limits_{i}{{{\alpha }_{i}}^{*}{{g}_{i}}({{x}^{*}})}=0$可以得到,${{g}_{i}}({{x}^{*}})<0\Rightarrow {{\alpha }_{i}}^{*}=0$,反過來說,只有${{g}_{i}}({{x}^{*}})=0$,${{\alpha }_{i}}^{*}$才有可能不為0,這是SVM中用到的一個重要性質。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM