機器學習演算法總結SVM

2021-03-04 02:52:36 字數 4590 閱讀 8250

第5章支援向量機

支援向量機(support vector machine,簡稱svm)是於2023年由cortes和vapnik首先提出的,它在解決小樣本、非線性及高維模式識別中表現出許多特有的優勢,並能夠推廣應用到函式擬合等其他機器學習問題中。它通過尋求結構化風險最小來提高學習機泛化能力,實現經驗風險和置信範圍的最小化,從而達到在統計樣本量較少的情況下,亦能獲得良好統計規律的目的。

支援向量機是一種二類分類模型。其基本模型定義為特徵空間上的間隔最大的線性分類器,即支援向量機的學習策略便是間隔最大化,最終可轉化為乙個凸二次規劃問題的求解。支援向量機的學習演算法就是求解凸二次規的最優化演算法。

線性分類器是最簡單也很有效的分類器形式。在乙個線性分類器中,可以看到svm形成的思路,並接觸很多svm的核心概念。

用乙個二維空間裡僅有兩類樣本的分類問題來舉個小例子。如圖1.1所示

和是要區分的兩個類別,在二維平面中它們的樣本如圖1.1所示。中間的直線就是乙個分類函式,它可以將兩類樣本完全分開。

一般的,如果乙個線性函式能夠將樣本完全正確的分開,就稱這些資料是線性可分的,否則稱為非線性可分的。

線性函式,在一維空間裡就是乙個點,在二維空間裡就是一條直線,在三維空間裡就是乙個平面,可以如此想象下去,如果不關注空間的維數,這種線性函式還有乙個統一的名稱——超平面(hyper plane)!

實際上,乙個線性函式是乙個實值函式(即函式的值是連續的實數),而我們的分類問題(例如這裡的二元分類問題——回答乙個樣本屬於還是不屬於乙個類別的問題)需要離散的輸出值,例如用1表示某個樣本屬於類別,而用0表示不屬於(不屬於也就意味著屬於),這時候只需要簡單的在實值函式的基礎上附加乙個閾值即可,通過分類函式執行時得到的值大於還是小於這個閾值來確定類別歸屬。 例如我們有乙個線性函式

5-1)

我們可以取閾值為0,這樣當有乙個樣本需要判別的時候,我們就看的值。若,就判別為類別,若,則判別為類別。此時,也等價於給函式附加乙個符號函式,即是我們真正的判別函式。

顯然,圖5.1中間那條分界線並不是唯一的,我們把它稍微旋轉一下,只要不把兩類資料分錯,仍然可以達到上面說的效果,稍微平移一下,也可以(如圖5.2所示)。

此時就牽涉到乙個問題,對同乙個問題存在多個分類函式的時候,哪乙個函式更好呢?顯然必須要先找乙個指標來量化「好」的程度,通常使用的都是叫做「分類間隔」的指標。

如圖5.3,方形點和圓形點代表兩類樣本, h 為分類線,和分別為過各類中離分類線最近的樣本且平行於分類線的直線, 它們之間的距離叫做分類間隔(margin)。所謂的最優分類線就是要求分類線不但能將兩類正確分開,而且使得分類間隔最大。

而將這一理論推廣到高維空間,最優分類線就變為最優分類面。

我們將問題延伸到高維資料上,並進行形式化的表示。假設給定乙個特徵空間上的訓練集:

其中,,為第個特徵向量,也稱為例項,為的類標記,稱為樣本點,假設訓練資料集是線性可分的。

定義5-1(函式間隔) 對於給定的訓練資料集和超平面,定義超平面關於樣本點的函式間隔為

5-2 定義超平面關於訓練資料集的函式間隔為超平面關於中所有樣本點的函式間隔之最小值,即

5-3)

函式間隔可以表示分類**的正確性。如果考慮和,如果同時成比例的改變為和。因為我們要求解的是,同時擴大和對結果是無影響的。

但是,函式間隔卻成為了原來的2倍。因此,我們需要對其法向量加一些約束,對其進行規範化。我們可以取,這樣函式間隔便也就確定了。

由這一事實到處幾何間隔的概念。

定義5-2(幾何間隔) 對於給定的訓練資料集和超平面,定義超平面關於樣本點的函式間隔為

5-4)

定義超平面關於訓練資料集的函式間隔為超平面關於中所有樣本點的幾何函式間隔之最小值,即

5-5)

從前面的兩個定義我們可以看到,函式間隔和幾個間隔有下面的關係

5-6)

實際上,就是樣本點到超平面的距離。同時,當時,函式間隔與幾何間隔是相等的。也就是說,前面提到的對的規範化的結果就是幾何間隔。

此時如果同時擴大和,也會隨之擴大多少倍,對於最終的幾何間隔並無影響。

支援向量機學習的基本想法是求解能夠正確劃分訓練資料集並且幾何間隔最大的分離超平面。我們不需要考慮所有的點都必須遠離超平面,我們關心求得的超平面能夠讓所有點中離它最近的點具有最大間距。我們可以對該問題進行形式化的表示:

5-7)

s.t5-8)

函式間隔的取值並不影響最優化問題的解。事實上,假設將和按比例改變為

實際上,就是樣本點到超平面的距離。同時,當時,函式間隔與幾何間隔是相等的。也就是說,前面提到的對的規範化的結果就是幾何間隔。

此時如果同時擴大和,也會隨之擴大多少倍,對於最終的幾何間隔並無影響。

不妨對做一些限制,以保證我們的解是唯一的。這裡為了簡便我們取,將離超平面最近的點的距離定義為 。由於求的最大值相當於求的最小值。我們可以將(1-7)改寫為下面的式子:

5-9)

s.t5-10)

這是乙個凸二次規劃(convex quadratic programming)問題。

拉格朗日對偶性常用於帶約束的最優化問題中,其將原始問題轉化為對偶問題,並通過解對偶問題而得到原始問題的解。

考慮約束最優化問題

5-11)

s.t5-12)

5-13)

引進一般的拉格朗日函式

5-14)

這裡和是拉格朗日乘子,由於在這裡是不等式約束,因此需要考慮下面的函式:

5-15)

這裡的p代表primal,即原始問題。因此,

5-16)

這樣,我們原來要求的就可以轉換成求,進而

5-17)

為了方便,我們用來表示,定義原始問題的最優值為

5-18)

但是,對於上式,如果直接求解,首先面對的是兩個引數,且又是不等式約束,然後在上求其最小值,這個問題的求解較為麻煩,我們可以先考慮其對偶問題。

定義乙個,使得

5-19)

d的意思是對偶,考慮極大化,則有

5-20)

這個問題是原問題的對偶問題,定義對偶問題的最優值

5-21)

在一般情況下

5-22)

當滿足後面的條件時則會有:

假設函式和是凸函式,是仿射函式;並且假設不等式約束是嚴格可行的,此時一定存在和使得是原始問題的解,是對偶問題的解。另外,和滿足karush-kuhn-tucker(kkt)條件:

5-23)

5-24)

5-25)

5-26)

5-27)

5-28)

5-29)

其中,式(5-26)稱為kkt的對偶互補條件(kkt dual ***plementarity)。這個條件隱含了如果,那麼。

重新回到(5-9)及條件(5-10)表示的優化問題。首先看圖5.4。

如圖5.4,h2是最大間隔超平面,則在h1和h3上的點就是函式間隔為1的點,這些點對應的係數,其他點都是。如圖中在h1和h3上的四個點,被稱為支援向量,這也正是支援向量機名稱的由來。

隨後,構造拉格朗日函式,引入拉格朗日乘子,定義拉格朗日函式:

5-30)

根據拉格朗日對偶性,可以先求原始問題的對偶問題:

首先求的最小值,此時可視為固定值。將對求偏導並令其等於0。

5-31)

5-32)

得到5-33)

將(5-33)回代入(5-30)中可得:

即最後可以得到

下面是極大化過程,即將對求其極大

5-34)

s.t5-35)

5-36)

在5.2.4小節中提到了原始問題與對偶問題等價且同解的條件,如果求出了(即),根據公式(5-33)即可求出,然後代入公式(5-37)可求得

5-37)

最終再將結果回代到(5-1)中的公式中,可以得到分類決策的函式

5-38)

從上式可以看出,當引入了拉格朗日乘子之後,不需要再求出才能分類,只需將新來的樣本和訓練資料中的所有樣本做內積和即可。在實際運算中,只有支援向量對應的,其他情況下。因此,我們只需求新來的樣本和支援向量的內積,然後運算即可。

在實際應用中,有時分類問題是非線性的,這時可以使用非線性支援向量機。本節中利用核技巧構造非線性支援向量機。

非線性分類問題是指通過利用非線性模型才能很好地進行分類的問題。如圖5.5所示,正方形和原形分別代表正負例項點。

5.5左圖中,無法用直線將正負例項正確分開,但是可以用拋物線(如圖5.5右圖)將他們正確分開。

設原空間為,,新空間為,,定義從原空間到新空間的對映:

經過對映之後,原空間中的點則會對映到對應的新空間中的位置,4.5右圖中的拋物線

該拋物線在新空間中成為一條直線

經過變換後,該直線在會將對映到新空間中的正負例項點正確分開。在新空間中,原空間中的線性不可分問題就變成了線性可分問題。

一般來說,原來在低維線性不可分的問題,對映到高維空間後,便變得線性可分了。

定義5-3(核函式) 設是乙個非空集合,為乙個內積空間,為到的對映。如果函式滿足:

對有,則稱為核函式。表示對和求內積。

下面是核函式應用的乙個例子

設,有,展開後得

此時只需計算原始特徵的和內積的平方(時間複雜度是o(n)),就等價與計算對映後特徵的內積。

我們從公式(5-38)中可以看到,最終的決策函式僅僅涉及輸入例項與例項之間的內積。因此可以直接用核函式去代替。這樣,(5-38)式便可以引入核函式,如(5-39)所示。

機器學習演算法總結K近鄰

k近鄰 k nearest neighbor,k nn 是一種基本的 有監督學習的分類方法,於1968年由cover和hart提出,其用於判斷某個物件的類別。k近鄰的輸入為物件特徵向量,對應於特徵空間上的點 輸出為物件的類別。k近鄰演算法例項引入 圖1.1 k近鄰例項 如上圖所示,有兩類不同的樣本資...

機器學習十大經典演算法簡介

不僅僅是選中的十大演算法,其實參加評選的18種演算法,實際上隨便拿出一種來都可以稱得上是經典演算法,它們在資料探勘領域都產生了極為深遠的影響。c4.5演算法是機器學習演算法中的一種分類決策樹演算法,其核心演算法是id3演算法.c4.5演算法繼承了id3演算法的優點,並在以下幾方面對id3演算法進行了...

改進Harris特徵點的機械人定位演算法

年第 卷第 期感測器與微系統 李永佳 周文暉 沈敏一 徐 進 林 穎 劉濟林 浙江大學資訊與電子工程學系,浙江杭州 杭州電子科技大學計算機學院,浙江杭州 摘要 提出一種改進 特徵點的機械人精確定位方法,通過改進特徵點提取 匹配 跟蹤策略,為運 動估計提供更加可靠的輸入,提高運動估計結果的準確性。具體...