1. 程式人生 > >詳解SVM系列(四):線性支援向量機與軟間隔最大化

詳解SVM系列(四):線性支援向量機與軟間隔最大化

線性支援向量機

線性可分問題的支援向量機學習方法,對線性不可分訓練資料是不適用的,因為這時上述方法的不等式約束並不能都成立。
舉2個例子:
在這裡插入圖片描述
如果沒有混入異常點,導致不能線性可分,則資料可以按上面的實線來做超平面分離的。

在這裡插入圖片描述
這種情況雖然不是不可分的,但是由於其中的一個藍色點不滿足線性可分支援向量機中的不等式約束,導致模型的泛化效果很差。
正常情況下(沒有那個藍色異常點)分離超平面應該是紅色的那條線,由於異常點的存在,實際得到的分離超平面是黑色的粗虛線。(間隔不同啊,所以泛化效能也不一樣)

軟間隔最大化

怎麼解決呢?
對硬間隔最大化做出一些讓步:放寬SVM的限制,可以允許存在一些誤分類的點。


線性不可分意味著某些樣本點 ( x i , y i )
(x_i,y_i)
不能滿足函式間隔大於等於1的約束條件,為了解決這個問題,可以對每個樣本點 ( x i , y i
) (x_i,y_i)
引進一個鬆弛變數 ζ i 0 ζ_i≥0 ,使得函式間隔加上鬆弛變數大於等於1.這樣約束條件變為
y i ( w x i + b ) 1 ζ i y_i(wx_i+b)≥1-ζ_i
鬆弛變數的引入就是i為了對付那些離群點的,其他點(姑且稱作正常點)的鬆弛變數都是0
同時,對每一個鬆弛變數 ζ i ζ_i ,支付一個代價 ζ i ζ_i 。目標函式由原來的 w 2 2 \frac{||w||^2}{2} 變成
w 2 2 + C i = 1 N ζ i \frac{||w||^2}{2}+C\displaystyle\sum_{i=1}^{N}ζ_i -------------------------(式1)
這裡,C稱為懲罰引數,一般由應用問題決定。
C值大的時候對誤分類的懲罰大,這時候間隔會變小
C值小時對誤分類的懲罰變小,間隔相應的變大。

式1的意義在於使間隔儘量大,同時使誤分類的個數儘量少。
線性不可分的線性支援向量機的學習問題變成下面的凸二次規劃問題:
m i n w , b , ζ w 2 2 + C i = 1 N ζ i {min}_{w,b,ζ}\frac{||w||^2}{2}+C\displaystyle\sum_{i=1}^{N}ζ_i -----------------------------(式2)
s . t : y i ( w x i + b ) 1 ζ i i = 1 , 2 , 3 N s.t:y_i(wx_i+b)≥1-ζ_i其中i=1,2,3……N
ζ i 0 i = 1 , 2 , 3 N ζ_i≥0其中i=1,2,3……N
顯然 式2 中 每一個樣本都有一個對應的鬆弛變數,用於表示該樣本不滿足約束 y i ( w x i + b ) 1 y_i(wx_i+b)≥1 的程度。

通過拉格朗日乘子法可得到下式的拉格朗日函式:
L ( w , b , α , ζ , μ ) = w 2 2 + C i = 1 m ζ i + i = 1 m α i ( 1 ζ i y i ( w x i + b ) ) i = 1 m μ i ζ i L(w,b,α,ζ,μ)=\frac{||w||^2}{2}+C\displaystyle\sum_{i=1}^{m}ζ_i+\displaystyle\sum_{i=1}^{m}α_i(1-ζ_i-y_i(wx_i+b))-\displaystyle\sum_{i=1}^{m}μ_iζ_i ---------------(式3)
其中 α i 0 , μ i 0 α_i≥0,μ_i≥0是拉格朗日乘子
令: L ( w , b , α , ζ , μ ) w , b , ζ L(w,b,α,ζ,μ)對w,b,ζ求偏導為零可得
w = i = 1 m α i y i x i w=\displaystyle\sum_{i=1}^{m}α_iy_ix_i

相關推薦

SVM系列線性支援向量間隔最大化

線性支援向量機 線性可分問題的支援向量機學習方法,對線性不可分訓練資料是不適用的,因為這時上述方法的不等式約束並不能都成立。 舉2個例子: 如果沒有混入異常點,導致不能線性可分,則資料可以按上面的實線來做超平面分離的。 這種情況雖然不是不可分的,但是由於其中的一個藍色點不滿足線性

SVM系列非線性支援向量核函式

對解線性分類問題,線性分類支援向量機是一種有效的方法。但是,有時分類問題是非線性的,這時可以使用非線性支援向量機。 核技巧 **非線性分類問題:**如上面左圖所示,能用 R

資料探勘十大演算法——支援向量SVM線性支援向量間隔最大化模型

首先感謝“劉建平pinard”的淵博知識以及文中詳細準確的推導!!! 支援向量機原理SVM系列文章共分為5部分: (一)線性支援向量機 (二)線性支援向量機的軟間隔最大化模型 (三)線性不可分支援向量機與核函式 (四)SMO演算法原理 (五)線性支援迴歸

SVM系列線性可分支援向量間隔最大化

支援向量機概覽(support vector machines SVM) 支援向量機是一種二類分類模型。它的基本模型是定義在特徵空間上的間隔最大(間隔最大區別於感知機)線性分類器(核函式可以用非線性的分類)。 支援向量機的學習策略是間隔最大化可形式化為一個求解凸二次規劃的問題。 也等

SVM系列拉格朗日對偶性

拉格朗日函式有什麼用? 在約束最優化問題中,常常利用拉格朗日對偶性將原始問題轉換為對偶問題,通過解對偶問題而得到原始問題的解。 原始問題: 假設 f (

SVM系列感知

什麼是感知機 感知機是二類分類的線性分類模型,其輸入為例項的特徵向量,輸出為例項的類別,取+1和-1二值。 感知機對應於輸入空間(特徵空間)中將例項分為正負兩類的分離超平面,屬於判別模型。 感知機旨在求出將訓練資料進行線性劃分的分離超平面,為此,匯入基於誤分類的損失函式,利用梯度

SVM系列深入解析 序列最小最優化SMO演算法一

SMO演算法是幹啥的 首先要先搞明白一個基本的問題: SMO演算法是幹啥的? 通過前面的介紹,我們現在掌握了線性不可分支援向量機。其形式為如下的凸二次規劃: m

資料探勘十大演算法——支援向量SVM線性支援向量

首先感謝“劉建平pinard”的淵博知識以及文中詳細準確的推導!!! 本文轉自“劉建平pinard”,原網址為:http://www.cnblogs.com/pinard/p/6097604.html。 支援向量機原理SVM系列文章共分為5部分: (一)線性支援向量機

支援向量學習筆記非線性支援向量SMO演算法

非線性問題 在之前學了線性支援向量機,通過訓練集學習到分離超平面 w x +

支援向量學習筆記線性支援向量

在前面已經講了線性可分支援向量機,是基於訓練集是線性可分的假設下,但是現實生活中往往資料集不是可分的,會存在著噪音或異常值,看下面的圖。 補充:個人習慣,接下來會將凸二次規劃模型稱為支援向量機模型,因為支援向量機是通過求解凸二次規劃模型最終得到分離超平面。另外分離超平面

SVM支援向量原理(二) 線性支援向量間隔最大化模型

在支援向量機原理(一) 線性支援向量機中,我們對線性可分SVM的模型和損失函式優化做了總結。最後我們提到了有時候不能線性可分的原因是線性資料集裡面多了少量的異常點,由於這些異常點導致了資料集不能線性可分,本篇就對線性支援向量機如何處理這些異常點的原理方法做一個總結。 1

解密SVM系列SVM非線性分類原理實驗

前面幾節我們討論了SVM原理、求解線性分類下SVM的SMO方法。本節將分析SVM處理非線性分類的相關問題。 一般的非線性分類如下左所示(後面我們將實戰下面這種情況): 可以看到在原始空間中你想用一個直線分類面劃分開來是不可能了,除非圓。而當你把資料點對映

學習筆記使用支援向量區分僵屍網路DGA家族

1.資料蒐集和資料清洗       ·1000個cryptolocker域名       ·1000個post-tovar-goz域名       ·alexa前1000域名   &n

學習筆記使用支援向量識別XSS

1.特徵化:提取特徵,對特徵進行向量化,標準化,均方差縮放,去均值操作 def get_len(url): return len(url) def get_url_count(url): if re.search('(http://)|(http://)',url,re.IGNO

SVM 支援向量(2) 間隔最大化核方法

對於某些資料集, 並不能找到一個超平面把它們分開, 也就是說不能找到一組w⃗ ,b, 滿足yi(w⃗ ⋅x⃗ i+b)≥1, 解決辦法就是引入一個鬆弛變數ξi, 讓所有樣本點都滿足yi(w⃗ ⋅x⃗ i+b)≥1−ξi, 這樣得到一個新的約束條件, 可以注意到ξ

令人煎熬的SVM 線性可分支援向量間隔最大化

此時此刻,還是帶著問題寫的部落格····哇,怎麼總結.先貼上一個部落格地址   http://blog.pluskid.org/?p=632先說名字,線性可分,就是存在一個超平面,能把正例跟負例完全分隔開,那麼這個資料集就是線性可分的。支援向量:離超平面越近的越難分是正例還是

Spring系列Spring AOP

一、AOP是什麼   AOP(面向切面程式設計),可以說是一種程式設計思想,其中的Spring AOP和AspectJ都是現實了這種程式設計思想。相對OOP(面向過程程式設計)來說,提供了另外一種程式設計方式,對於OOP過程中產生的橫切性問題,這些橫切性與業務無關,可以通過預編譯方式和執行期動態代理來實現。比

物聯網平臺構架系列 Amazon, Microsoft, IBM IoT 平臺導論 之 平臺

物聯網; iot; aws; 亞馬遜; greengrass;microsoft; azure;ibm; watson; bluemix最近研究了一些物聯網平臺技術資料,以做選型參考。腦子裏積累大量信息,便想寫出來做一些普及。作為科普文章,力爭通俗易懂,不確保概念嚴謹性。我會給考據癖者提供相關英文鏈接,以便深

搜索引擎ElasticSearch系列 ElasticSearch2.4.4 sql插件安裝

china code als 插件 技術分享 -s fun nlp 4.0 一:ElasticSearch sql插件簡介   With this plugin you can query elasticsearch using familiar SQL syntax.

Python爬蟲系列Beautiful Soup解析HTML之把HTML轉成Python對象

調用 nor 結束 版本 現在 name屬性 data 官方文檔 get 在前幾篇文章,我們學會了如何獲取html文檔內容,就是從url下載網頁。今天開始,我們將討論如何將html轉成python對象,用python代碼對文檔進行分析。 (牛小妹在學校折騰了好幾天,也沒把h