<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 6 -- Support Vector Regression 上節課我們主要介紹了Kernel Logistic Regression,討論如何把SVM的技巧應用在soft-binary classification上。方法是使用2-level learning,先利用SVM得到參數b和w,然后再用通用的logistic regression優化算法,通過迭代優化,對參數b和w進行微調,得到最佳解。然后,也介紹了可以通過Representer Theorem,在z空間中,引入SVM的kernel技巧,直接對logistic regression進行求解。本節課將延伸上節課的內容,討論如何將SVM的kernel技巧應用到regression問題上。 ### **Kernel Ridge Regression** 首先回顧一下上節課介紹的Representer Theorem,對于任何包含正則項的L2-regularized linear model,它的最佳化解w都可以寫成是z的線性組合形式,因此,也就能引入kernel技巧,將模型kernelized化。 ![這里寫圖片描述](https://img.kancloud.cn/be/f8/bef8b9c04d6757959e3ef487a0cac8ac_580x158.jpg) 那么如何將regression模型變成kernel的形式呢?我們之前介紹的linear/ridge regression最常用的錯誤估計是squared error,即![](https://img.kancloud.cn/ef/4a/ef4a628f0f1411d3c76453357db9e8b7_198x20.jpg)。這種形式對應的解是analytic solution,即可以使用線性最小二乘法,通過向量運算,直接得到最優化解。那么接下來我們就要研究如何將kernel引入到ridge regression中去,得到與之對應的analytic solution。 我們先把Kernel Ridge Regression問題寫下來: ![這里寫圖片描述](https://img.kancloud.cn/97/f9/97f95fcf1bc7c74beceef5f49a270afc_581x123.jpg) 其中,最佳解![](https://img.kancloud.cn/f9/86/f986aaf25afadf31e3d5719928a0f301_19x11.jpg)必然是z的線性組合。那么我們就把![](https://img.kancloud.cn/1a/4f/1a4f3cdae6a705a13dd8d6c17fec4261_108x54.jpg)代入到ridge regression中,將z的內積用kernel替換,把求![](https://img.kancloud.cn/f9/86/f986aaf25afadf31e3d5719928a0f301_19x11.jpg)的問題轉化成求![](https://img.kancloud.cn/ed/bb/edbbfa3694db051722568362e9ce30b7_18x16.jpg)的問題,得到: ![這里寫圖片描述](https://img.kancloud.cn/ea/07/ea078cbc381f551e2c477d234ca12d37_580x181.jpg) ridge regression可以寫成矩陣的形式,其中第一項可以看成是![](https://img.kancloud.cn/ed/bb/edbbfa3694db051722568362e9ce30b7_18x16.jpg)的正則項,而第二項可以看成是![](https://img.kancloud.cn/ed/bb/edbbfa3694db051722568362e9ce30b7_18x16.jpg)的error function。這樣,我們的目的就是求解該式最小化對應的![](https://img.kancloud.cn/ed/bb/edbbfa3694db051722568362e9ce30b7_18x16.jpg)值,這樣就解決了kernel ridge regression問題。 求解![](https://img.kancloud.cn/ed/bb/edbbfa3694db051722568362e9ce30b7_18x16.jpg)的問題可以寫成如下形式: ![這里寫圖片描述](https://img.kancloud.cn/da/8a/da8a3a59f21a13192770aa842e684198_580x99.jpg) ![](https://img.kancloud.cn/f2/c3/f2c334ab217449465d95b2e1364e4418_59x20.jpg)是關于![](https://img.kancloud.cn/76/d0/76d0eb69ba026a58bbe3edd275fee712_11x16.jpg)的二次多項式,要對![](https://img.kancloud.cn/f2/c3/f2c334ab217449465d95b2e1364e4418_59x20.jpg)求最小化解,這種凸二次最優化問題,只需要先計算其梯度,再令梯度為零即可。![](https://img.kancloud.cn/12/fd/12fdd2b05cba5f3613d571ab57a18af6_74x20.jpg)已經在上式中寫出來了,令其等于零,即可得到一種可能的![](https://img.kancloud.cn/76/d0/76d0eb69ba026a58bbe3edd275fee712_11x16.jpg)的解析解為: ![](https://img.kancloud.cn/d4/00/d4002c0932410e2b1eb102629cee61b8_134x20.jpg) 這里需要關心的問題是![](https://img.kancloud.cn/2e/9f/2e9fe871d3330fd3ba0c8cd09010b62e_70x18.jpg)的逆矩陣是否存在?答案是肯定的。因為我們之前介紹過,核函數K滿足Mercer’s condition,它是半正定的,而且![](https://img.kancloud.cn/0b/85/0b852fd1bbc20f2966bf757a56186312_44x12.jpg),所以![](https://img.kancloud.cn/2e/9f/2e9fe871d3330fd3ba0c8cd09010b62e_70x18.jpg)一定是可逆的。從計算的時間復雜上來說,由于![](https://img.kancloud.cn/2e/9f/2e9fe871d3330fd3ba0c8cd09010b62e_70x18.jpg)是NxN大小的,所以時間復雜度是![](https://img.kancloud.cn/74/80/7480af2add8cf6c5be14fe028edc6967_51x20.jpg)。還有一點,![](https://img.kancloud.cn/12/fd/12fdd2b05cba5f3613d571ab57a18af6_74x20.jpg)是由兩項乘積構成的,另一項是K,會不會出現K=0的情況呢?其實,由于核函數K表征的是z空間的內積,一般而言,除非兩個向量互相垂直,內積才為零,否則,一般情況下K不等于零。這個原因也決定了![](https://img.kancloud.cn/2e/9f/2e9fe871d3330fd3ba0c8cd09010b62e_70x18.jpg)是dense matrix,即![](https://img.kancloud.cn/76/d0/76d0eb69ba026a58bbe3edd275fee712_11x16.jpg)的解大部分都是非零值。這個性質,我們之后還會說明。 所以說,我們可以通過kernel來解決non-linear regression的問題。下面比較一下linear ridge regression和kernel ridge regression的關系。 ![這里寫圖片描述](https://img.kancloud.cn/52/72/5272a192c0c3d43368971d08c8e64250_498x156.jpg) 如上圖所示,左邊是linear ridge regression,是一條直線;右邊是kernel ridge regression,是一條曲線。大致比較一下,右邊的曲線擬合的效果更好一些。這兩種regression有什么樣的優點和缺點呢?對于linear ridge regression來說,它是線性模型,只能擬合直線;其次,它的訓練復雜度是![](https://img.kancloud.cn/ad/71/ad71dff39da38389c0be832d63b1f4e8_99x20.jpg),預測的復雜度是![](https://img.kancloud.cn/6a/a4/6aa4498440ca535eb5814ef1122ead70_36x18.jpg),如果N比d大很多時,這種模型就更有效率。而對于kernel ridge regression來說,它轉換到z空間,使用kernel技巧,得到的是非線性模型,所以更加靈活;其次,它的訓練復雜度是![](https://img.kancloud.cn/74/80/7480af2add8cf6c5be14fe028edc6967_51x20.jpg),預測的復雜度是![](https://img.kancloud.cn/71/6d/716dff4132bf16ad61e88c7a261d267c_44x18.jpg),均只與N有關。當N很大的時候,計算量就很大,所以,kernel ridge regression適合N不是很大的場合。比較下來,可以說linear和kernel實際上是效率(efficiency)和靈活(flexibility)之間的權衡。 ![這里寫圖片描述](https://img.kancloud.cn/ed/8d/ed8d315cf28aa344f4b0bbd6a694307b_560x231.jpg) ### **Support Vector Regression Primal** 我們在機器學習基石課程中介紹過linear regression可以用來做classification,那么上一部分介紹的kernel ridge regression同樣可以來做classification。我們把kernel ridge regression應用在classification上取個新的名字,叫做least-squares SVM(LSSVM)。 先來看一下對于某個問題,soft-margin Gaussian SVM和Gaussian LSSVM結果有哪些不一樣的地方。 ![這里寫圖片描述](https://img.kancloud.cn/f3/bf/f3bf91822cb1e529daa745cd9203b0ad_513x152.jpg) 如上圖所示,如果只看分類邊界的話,soft-margin Gaussian SVM和Gaussian LSSVM差別不是很大,即的到的分類線是幾乎相同的。但是如果看Support Vector的話(圖中方框標注的點),左邊soft-margin Gaussian SVM的SV不多,而右邊Gaussian LSSVM中基本上每個點都是SV。這是因為soft-margin Gaussian SVM中的![](https://img.kancloud.cn/96/42/964237caf2be6185a33aa601075d68fb_19x11.jpg)大部分是等于零,![](https://img.kancloud.cn/2b/29/2b292820fbf0d4824e3c3f3616c1bec6_53x15.jpg)的點只占少數,所以SV少。而對于LSSVM,我們上一部分介紹了![](https://img.kancloud.cn/76/d0/76d0eb69ba026a58bbe3edd275fee712_11x16.jpg)的解大部分都是非零值,所以對應的每個點基本上都是SV。SV太多會帶來一個問題,就是做預測的矩![](https://img.kancloud.cn/ad/ff/adffa50918e47df6966f6845d77a41e8_172x54.jpg),如果![](https://img.kancloud.cn/ed/bb/edbbfa3694db051722568362e9ce30b7_18x16.jpg)非零值較多,那么g的計算量也比較大,降低計算速度。基于這個原因,soft-margin Gaussian SVM更有優勢。 ![這里寫圖片描述](https://img.kancloud.cn/b1/32/b1323cb0c529e592725f8528d6d5156e_580x105.jpg) 那么,針對LSSVM中dense ![](https://img.kancloud.cn/76/d0/76d0eb69ba026a58bbe3edd275fee712_11x16.jpg)的缺點,我們能不能使用一些方法來的得到sparse ![](https://img.kancloud.cn/76/d0/76d0eb69ba026a58bbe3edd275fee712_11x16.jpg),使得SV不會太多,從而得到和soft-margin SVM同樣的分類效果呢?下面我們將嘗試解決這個問題。 方法是引入一個叫做Tube Regression的做法,即在分類線上下分別劃定一個區域(中立區),如果數據點分布在這個區域內,則不算分類錯誤,只有誤分在中立區域之外的地方才算error。 ![這里寫圖片描述](https://img.kancloud.cn/fe/d5/fed52e4a1d208feafe6959fd04875b1a_209x207.jpg) 假定中立區的寬度為![](https://img.kancloud.cn/ec/cc/eccca11c4e50b2051cc2791395f4c570_16x12.jpg),![](https://img.kancloud.cn/01/e9/01e964be6f0e988aeec294a9064dbace_40x12.jpg),那么error measure就可以寫成:![](https://img.kancloud.cn/f0/ce/f0cee0983999f889100c7fa07fe030a2_234x19.jpg),對應上圖中紅色標注的距離。 ![這里寫圖片描述](https://img.kancloud.cn/01/e0/01e0ba46e8f289af4cdb8ef3823b6734_390x162.jpg) 通常把這個error叫做![](https://img.kancloud.cn/f1/f4/f1f442a329c8d3df85dce68831d660fe_7x8.jpg)-insensitive error,這種max的形式跟我們上節課中介紹的hinge error measure形式其實是類似的。所以,我們接下來要做的事情就是將L2-regularized tube regression做類似于soft-margin SVM的推導,從而得到sparse ![](https://img.kancloud.cn/76/d0/76d0eb69ba026a58bbe3edd275fee712_11x16.jpg)。 首先,我們把tube regression中的error與squared error做個比較: ![這里寫圖片描述](https://img.kancloud.cn/11/6f/116f85ea4c84b553ca6a8d0765b81de5_579x185.jpg) 然后,將err(y,s)與s的關系曲線分別畫出來: ![這里寫圖片描述](https://img.kancloud.cn/13/31/1331b9907abf4db33ea5d582743f9a12_697x174.jpg) 上圖中,紅色的線表示squared error,藍色的線表示tube error。我們發現,當|s-y|比較小即s比較接近y的時候,squared error與tube error是差不多大小的。而在|s-y|比較大的區域,squared error的增長幅度要比tube error大很多。error的增長幅度越大,表示越容易受到noise的影響,不利于最優化問題的求解。所以,從這個方面來看,tube regression的這種error function要更好一些。 現在,我們把L2-Regularized Tube Regression寫下來: ![這里寫圖片描述](https://img.kancloud.cn/0b/49/0b49a5c55d33f4b2771f47f986614314_580x76.jpg) 這個最優化問題,由于其中包含max項,并不是處處可微分的,所以不適合用GD/SGD來求解。而且,雖然滿足representer theorem,有可能通過引入kernel來求解,但是也并不能保證得到sparsity ![](https://img.kancloud.cn/76/d0/76d0eb69ba026a58bbe3edd275fee712_11x16.jpg)。從另一方面考慮,我們可以把這個問題轉換為帶條件的QP問題,仿照dual SVM的推導方法,引入kernel,得到KKT條件,從而保證解![](https://img.kancloud.cn/76/d0/76d0eb69ba026a58bbe3edd275fee712_11x16.jpg)是sparse的。 ![這里寫圖片描述](https://img.kancloud.cn/6b/4b/6b4b93ba9adf08121dcaf0bb1b0a2970_560x169.jpg) 所以,我們就可以把L2-Regularized Tube Regression寫成跟SVM類似的形式: ![這里寫圖片描述](https://img.kancloud.cn/1d/6d/1d6d8a0c3bf5420a9812308decfe8d9d_581x108.jpg) 值得一提的是,系數![](https://img.kancloud.cn/99/d3/99d394e7d0b74248114405067e0ffd51_10x12.jpg)和C是反比例相關的,![](https://img.kancloud.cn/99/d3/99d394e7d0b74248114405067e0ffd51_10x12.jpg)越大對應C越小,![](https://img.kancloud.cn/99/d3/99d394e7d0b74248114405067e0ffd51_10x12.jpg)越小對應C越大。而且該式也把![](https://img.kancloud.cn/d7/53/d7532e3dab17db34b5e43420e08b4859_19x11.jpg)即b單獨拿了出來,這跟我們之前推導SVM的解的方法是一致的。 現在我們已經有了Standard Support Vector Regression的初始形式,這還是不是一個標準的QP問題。我們繼續對該表達式做一些轉化和推導: ![這里寫圖片描述](https://img.kancloud.cn/83/32/8332e64180ec7a0f259c0fabcbba292e_561x175.jpg) 如上圖右邊所示,即為標準的QP問題,其中![](https://img.kancloud.cn/ee/96/ee96ac59901c17eeb7f0162d34fcf6ab_20x21.jpg)和![](https://img.kancloud.cn/ef/0e/ef0e92081fec1a201a2f47ac154cf836_20x21.jpg)分別表示upper tube violations和lower tube violations。這種形式叫做Support Vector Regression(SVR) primal。 ![這里寫圖片描述](https://img.kancloud.cn/a8/97/a8972b1cb7210d9eb54f013b54223cd2_580x131.jpg) SVR的標準QP形式包含幾個重要的參數:C和![](https://img.kancloud.cn/f1/f4/f1f442a329c8d3df85dce68831d660fe_7x8.jpg)。C表示的是regularization和tube violation之間的權衡。large C傾向于tube violation,small C則傾向于regularization。![](https://img.kancloud.cn/f1/f4/f1f442a329c8d3df85dce68831d660fe_7x8.jpg)表征了tube的區域寬度,即對錯誤點的容忍程度。![](https://img.kancloud.cn/f1/f4/f1f442a329c8d3df85dce68831d660fe_7x8.jpg)越大,則表示對錯誤的容忍度越大。![](https://img.kancloud.cn/f1/f4/f1f442a329c8d3df85dce68831d660fe_7x8.jpg)是可設置的常數,是SVR問題中獨有的,SVM中沒有這個參數。另外,SVR的QP形式共有![](https://img.kancloud.cn/96/d2/96d2faa25d6191d37e1ca4095345a73a_87x19.jpg)個參數,2N+2N個條件。 ![這里寫圖片描述](https://img.kancloud.cn/69/9f/699f58284c098109fda4f62238f24a15_588x153.jpg) ### **Support Vector Regression Dual** 現在我們已經得到了SVR的primal形式,接下來將推導SVR的Dual形式。首先,與SVM對偶形式一樣,先令拉格朗日因子![](https://img.kancloud.cn/5e/a2/5ea2cb73858cfcd7edf44117f825423c_23x16.jpg)和![](https://img.kancloud.cn/0b/3e/0b3e7835d0a8b10d6e307e94e6a9e97a_23x16.jpg),分別是與![](https://img.kancloud.cn/ee/96/ee96ac59901c17eeb7f0162d34fcf6ab_20x21.jpg)和![](https://img.kancloud.cn/ef/0e/ef0e92081fec1a201a2f47ac154cf836_20x21.jpg)不等式相對應。這里忽略了與![](https://img.kancloud.cn/30/b3/30b3195c9a8b7eb587948e12cf44fb2d_54x21.jpg)和![](https://img.kancloud.cn/87/2f/872f2b0cfba62d8681296cbb4c214f40_54x21.jpg)對應的拉格朗日因子。 ![這里寫圖片描述](https://img.kancloud.cn/a6/c9/a6c9bf1ddc5998161bead9dbcb243d2a_580x130.jpg) 然后,與SVM一樣做同樣的推導和化簡,拉格朗日函數對相關參數偏微分為零,得到相應的KKT條件: ![這里寫圖片描述](https://img.kancloud.cn/44/c9/44c92961725ba65f953c3a1eeccb557d_581x148.jpg) 接下來,通過觀察SVM primal與SVM dual的參數對應關系,直接從SVR primal推導出SVR dual的形式。(具體數學推導,此處忽略!) ![這里寫圖片描述](https://img.kancloud.cn/93/f9/93f9603133609b95a2d31ca58d6408d0_560x338.jpg) 最后,我們就要來討論一下SVR的解是否真的是sparse的。前面已經推導了SVR dual形式下推導的解w為: ![](https://img.kancloud.cn/4a/70/4a70faf7b9f9864fd5be6d0b49bfa1bf_162x54.jpg) 相應的complementary slackness為: ![這里寫圖片描述](https://img.kancloud.cn/f4/30/f430dedd09604c6ed6200b9c2cacf914_521x60.jpg) 對于分布在tube中心區域內的點,滿足![](https://img.kancloud.cn/15/20/1520b8f9e805ade95af97fc9161be18d_149x21.jpg),此時忽略錯誤,![](https://img.kancloud.cn/ee/96/ee96ac59901c17eeb7f0162d34fcf6ab_20x21.jpg)和![](https://img.kancloud.cn/ef/0e/ef0e92081fec1a201a2f47ac154cf836_20x21.jpg)都等于零。則complementary slackness兩個等式的第二項均不為零,必然得到![](https://img.kancloud.cn/73/45/7345d66125ea1fc3df41aefddd0f9675_56x21.jpg)和![](https://img.kancloud.cn/eb/04/eb0426c08dcb4f4e67d155818d6db719_56x21.jpg),即![](https://img.kancloud.cn/82/95/82959e365ad1f6613710fc5fda988a00_144x21.jpg)。 所以,對于分布在tube內的點,得到的解![](https://img.kancloud.cn/89/8e/898ea78e98ca80912a6874d39031e99a_52x16.jpg),是sparse的。而分布在tube之外的點,![](https://img.kancloud.cn/68/f0/68f0abcde6290bb09e8c6cff97531652_52x18.jpg)。至此,我們就得到了SVR的sparse解。 ### **Summary of Kernel Models** 這部分將對我們介紹過的所有的kernel模型做個概括和總結。我們總共介紹過三種線性模型,分別是PLA/pocket,regularized logistic regression和linear ridge regression。這三種模型都可以使用國立臺灣大學的Chih-Jen Lin博士開發的Liblinear庫函數來解決。 另外,我們介紹了linear soft-margin SVM,其中的error function是![](https://img.kancloud.cn/c9/42/c94209330d57899e986ea129aa6fce84_50x16.jpg),可以通過標準的QP問題來求解。linear soft-margin SVM和PLA/pocket一樣都是解決同樣的問題。然后,還介紹了linear SVR問題,它與linear ridge regression一樣都是解決同樣的問題,從SVM的角度,使用![](https://img.kancloud.cn/ab/44/ab445dc55c55d0dff9519125b3f12fad_49x11.jpg),轉換為QP問題進行求解,這也是我們本節課的主要內容。 ![這里寫圖片描述](https://img.kancloud.cn/70/06/7006781e5bf58e74d530a22cccdfb6b1_585x258.jpg) 上圖中相應的模型也可以轉化為dual形式,引入kernel,整體的框圖如下: ![這里寫圖片描述](https://img.kancloud.cn/4d/5b/4d5b119efe130105e6a638fc782324b2_585x375.jpg) 其中SVM,SVR和probabilistic SVM都可以使用國立臺灣大學的Chih-Jen Lin博士開發的LLibsvm庫函數來解決。通常來說,這些模型中SVR和probabilistic SVM最為常用。 ### **總結** 本節課主要介紹了SVR,我們先通過representer theorem理論,將ridge regression轉化為kernel的形式,即kernel ridge regression,并推導了SVR的解。但是得到的解是dense的,大部分為非零值。所以,我們定義新的tube regression,使用SVM的推導方法,來最小化regularized tube errors,轉化為對偶形式,得到了sparse的解。最后,我們對介紹過的所有kernel模型做個總結,簡單概述了各自的特點。在實際應用中,我們要根據不同的問題進行合適的模型選擇。 **_注明:_** 文章中所有的圖片均來自臺灣大學林軒田《機器學習技法》課程
                  <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>

                              哎呀哎呀视频在线观看