<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 附錄 C、SVM 對偶問題 > 譯者:[@rickllyxu](https://github.com/rickllyxu) 為了理解對偶性,你首先得理解拉格朗日乘子法。它基本思想是將一個有約束優化問題轉化為一個無約束優化問題,其方法是將約束條件移動到目標函數中去。讓我們看一個簡單的例子,例如要找到合適的 ![x](https://img.kancloud.cn/77/90/7790dd0efb4a03a4c876741804d9b559_10x8.gif) 和 ![y](https://img.kancloud.cn/6c/70/6c704047d3148fd7a8b563aaf79dd7f4_9x12.gif) 使得函數 ![f(x, y) = x^2 + 2y](https://img.kancloud.cn/3c/7f/3c7f5c9ae8ae08f50d6ff64034354eb4_134x20.gif) 最小化,且其約束條件是一個等式約束:![3x + 2y + 1 = 0](https://img.kancloud.cn/e2/03/e203de64e4e551e2bbcc2e5717bb9807_124x16.gif)。使用拉格朗日乘子法,我們首先定義一個函數,稱為**拉格朗日函數**:![g(x, y, \alpha) = f(x, y) - \alpha(3x + 2y + 1)](https://img.kancloud.cn/20/34/2034d84df0a3f7ba4600ab569934b81f_284x18.gif)。每個約束條件(在這個例子中只有一個)與新的變量(稱為拉格朗日乘數)相乘,作為原目標函數的減數。 Joseph-Louis Lagrange 大牛證明了如果 ![(\bar{x}, \bar{y})](https://img.kancloud.cn/e7/a6/e7a66985e34ae04897a42b9695d21cde_40x18.gif) 是原約束優化問題的解,那么一定存在一個 ![\bar{\alpha}](https://img.kancloud.cn/ef/83/ef83e87342ad439a21593a9b1570c119_11x11.gif),使得 ![(\bar{x}, \bar{y}, \bar{\alpha})](https://img.kancloud.cn/11/5d/115d664fbd0f61baf26eb6cd46a4afb9_59x18.gif) 是拉格朗日函數的駐點(駐點指的是,在該點處,該函數所有的偏導數均為 0)。換句話說,我們可以計算拉格朗日函數 ![g(x, y, \alpha) ](https://img.kancloud.cn/15/00/1500afe2a33857d85aaecdcab3d32c2e_69x18.gif) 關于 ![x, y](https://img.kancloud.cn/61/41/6141ff672360e1d599330a2b6f77b1a5_27x12.gif) 以及 ![\alpha](https://img.kancloud.cn/38/9a/389a9983ea24ad0b3af0559c2aca381b_11x8.gif) 的偏導數;然后我們可以找到那些偏導數均為 0 的駐點;最后原約束優化問題的解(如果存在)一定在這些駐點里面。 在上述例子里,偏導數為 ![\begin{align}\frac{\partial}{\partial x}g(x, y, \alpha) = 2x - 3\alpha \\ \frac{\partial}{\partial y}g(x, y, \alpha) = 2 - 2\alpha \\ \frac{\partial}{\partial \alpha}g(x, y, \alpha) = -3x - 2y - 1 \end{align}](https://img.kancloud.cn/6b/49/6b49556b3f88ede5e8fc2b5ab1f09534_247x200.gif) 當這些偏導數均為 0 時,即 ![2x ? 3\alpha = 2 ? 2\alpha = ? 3x ? 2y ? 1 = 0](https://img.kancloud.cn/44/47/4447c73a0b26f7996a676038f330c2ff_197x16.gif),即可得 ![x = \frac{3}{2}, y=-\frac{11}{4}, \alpha=1](https://img.kancloud.cn/51/2a/512a3499c6ac1c00b6a91a468d31f0ca_176x38.gif)。這是唯一一個駐點,那它一定是原約束優化問題的解。然而,上述方法僅應用于等式約束,幸運的是,在某些正則性條件下,這種方法也可被一般化應用于不等式約束條件(例如不等式約束,![3x + 2y + 1 \geq 0](https://img.kancloud.cn/f3/da/f3da39cf74608e7f3984014c9ed56ada_124x16.gif))。如下公式 C-1 ,給了 SVM 硬間隔問題時的一般化拉格朗日函數。在該公式中,![\alpha^{(i)}](https://img.kancloud.cn/5b/d7/5bd767b3392f5b4376cf0fc17575fe0f_25x18.gif) 是 KKT 乘子,它必須大于或等于 0。 > 譯者注 > > ![\alpha^{(i)}](https://img.kancloud.cn/5b/d7/5bd767b3392f5b4376cf0fc17575fe0f_25x18.gif) 是 ![\geq0](https://img.kancloud.cn/a5/52/a5521492a6f44bdcba54cbf06f5689cd_27x15.gif) 抑或 ![\leq0](https://img.kancloud.cn/91/f8/91f8d5839548683a52358e93c5688c4c_27x15.gif),取決于拉格朗日函數的寫法,以及原目標函數函數最大化抑或最小化。 ![公式C-1](https://img.kancloud.cn/18/2d/182d84113191b29989779a0936a0af9b_729x179.png) 就像拉格朗日乘子法,我們可以計算上述式子的偏導數、定位駐點。如果該原問題存在一個解,那它一定在駐點 ![(\bar{w}, \bar{b}, \bar{\alpha})](https://img.kancloud.cn/de/5f/de5f70670f77e1721c1b3dc717b9f796_61x19.gif) 之中,且遵循 KKT 條件: - 遵循原問題的約束:![t^{(i)}((\bar{w})^T x^{(i)} +\bar{b}) \geq 1](https://img.kancloud.cn/7e/f7/7ef7ec9a895f9ba5e3b32eea09462b1c_160x22.gif), 對于 ![i = 1, 2, ..., m](https://img.kancloud.cn/8c/8b/8c8b5008cceea1cba7a38c480dd24e2c_103x17.gif) - 遵循現問題里的約束,即 ![\bar{\alpha}^{(i)} \geq 0](https://img.kancloud.cn/c3/66/c366b6959a844f562171b124bbc5c704_60x21.gif) - ![\bar{\alpha}^{(i)} = 0](https://img.kancloud.cn/75/77/7577339ce347fc005e853a2b8d92f4fc_60x18.gif) 或者第`i`個約束條件是積極約束,意味著該等式成立:![t^{(i)}((\bar{w})^T x^{(i)} +\bar{b}) = 1](https://img.kancloud.cn/8a/e7/8ae76eb7cdc0e8a5b3ace1ead9951194_160x22.gif)。這個條件叫做 互補松弛條件。它暗示了 ![\bar{\alpha}^{(i)} = 0](https://img.kancloud.cn/75/77/7577339ce347fc005e853a2b8d92f4fc_60x18.gif) 和第`i`個樣本位于 SVM 間隔的邊界上(該樣本是支持向量)。 注意 KKT 條件是確定駐點是否為原問題解的必要條件。在某些條件下,KKT 條件也是充分條件。幸運的是,SVM 優化問題碰巧滿足這些條件,所以任何滿足 KKT 條件的駐點保證是原問題的解。 我們可以計算上述一般化拉格朗日函數關于`w`和`b`的偏導數,如公式 C-2。 ![公式C-2](https://img.kancloud.cn/68/e3/68e3cf5b51f5b9218f6faef97b93caea_687x216.png) 令上述偏導數為 0,可得到公式 C-3。 ![公式C-3](https://img.kancloud.cn/2a/80/2a80e213c811baf8e687a62a8fe6bb3d_535x212.png) 如果我們把上述式子代入到一般化拉格朗日函數(公式 C-1)中,某些項會消失,從而得到公式 C-4,并稱之為原問題的對偶形式。 ![公式C-4](https://img.kancloud.cn/24/d0/24d0a0a6c0670320974cecf884eae027_657x180.png) 現在該對偶形式的目標是找到合適的向量 ![\bar{\alpha}](https://img.kancloud.cn/ef/83/ef83e87342ad439a21593a9b1570c119_11x11.gif),使得該函數 ![L(w, b, \alpha)](https://img.kancloud.cn/8d/46/8d46b0736e93a8f84fcdbaaa4d946e4e_74x18.gif) 最小化,且 ![\bar{\alpha}^{(i)} \geq 0](https://img.kancloud.cn/c3/66/c366b6959a844f562171b124bbc5c704_60x21.gif)。現在這個有約束優化問題正是我們苦苦追尋的對偶問題。 一旦你找到了最優的 ![\bar{\alpha}](https://img.kancloud.cn/ef/83/ef83e87342ad439a21593a9b1570c119_11x11.gif),你可以利用公式 C-3 第一行計算 ![\bar{w}](https://img.kancloud.cn/78/6c/786c33b10eb2b55b840a288147e46d8f_13x11.gif)。為了計算 ![\bar{b}](https://img.kancloud.cn/41/06/41060a4f264f10e231efb82cc471550d_8x15.gif),你可以使用支持向量的已知條件 ![t^{(i)}((\bar{w})^T x^{(i)} +\bar{b}) = 1](https://img.kancloud.cn/8a/e7/8ae76eb7cdc0e8a5b3ace1ead9951194_160x22.gif),當第 k 個樣本是支持向量時(即它對應的 ![\alpha_k > 0](https://img.kancloud.cn/3e/66/3e66f0b3bd44b1b5b04aff8159b65f99_52x15.gif)),此時使用它計算 ![\bar{b} =1-t^{(k)}((\bar{w})^T . x^{(k)}) ](https://img.kancloud.cn/28/cf/28cf37b0cccf5ddba7e61e1c99230563_171x22.gif)。對了,我們更喜歡利用所有支持向量計算一個平均值,以獲得更穩定和更準確的結果,如公式 C-5。 ![公式C-5](https://img.kancloud.cn/72/cc/72ccd7195dd427b3b2d58e71581b249c_629x171.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看