吳恩達機器學習102 支援向量機最大間距分類器

2022-08-01 01:54:15 字數 2298 閱讀 5604

1.下面是支援向量機(svm)的代價函式:

上圖左邊是cost1(z)函式,用於正樣本,右邊畫出了關於z的代價函式cost0(z),函式的橫軸是z,現在我們想一下怎麼樣才能使得這些代價函式變得更小呢?當有乙個正樣本的時候,y=1,那麼僅當z大於等於1的時候,cost1(z)=0,換句話說,如果有乙個正樣本的時候,我們要θ的轉置乘以x大於等於1,反之,如果y=0,我們看後面這一部分

。上述就是支援向量機很有趣的性質。這相當於在svm中建立構建乙個安全因子,乙個安全距離

(1)如果有個正樣本,比如y=1,我們要做的是 使得θ的轉置乘以x大於等於0,就能進行正確的分類,因為如果θ的轉置乘以x大於0,假設模型的**結果就是0。同樣的,如果有乙個負樣本,我們只需要使得θ的轉置乘以x小於0,這樣就能保證進行正確的分類。但是在支援向量機中,對此有更高的要求,不是恰好能正確分類就行了,θ的轉置乘以x不是略大於0就可以了,我們要的,比如大於等於1,還有下面這個也是一樣,我們要θ的轉置乘以x小於-1,這就相當於在svm中構建乙個安全因子,構建乙個安全距離,雖然logistic回歸中也會做類似的事情,但是我們看看在支援向量機的情況下,這個因子會導致什麼結果。接下來我們要來了將常數c設為乙個非常大的值,

(2)我們迫切希望找到乙個值,使得第一項等於0,讓我們在這種情況下來理解優化問題,也就是要怎麼做才能使得第一項等於0,因為這時我們把c的值設定成為乙個很大的值,這個例子能夠讓我們更加直觀的理解支援向量機學習到的假設模型是怎麼樣的:

我們之前看到乙個當有乙個標籤y=1的訓練樣本,如果要使得第一項為0的時候,那麼就需要找到乙個θ值,使得θ的轉置乘以x(i)大於等於1

,同樣的如果有乙個標籤為0,為了使得代價函式cost0(z)=0,我們需要使得θ的轉置乘以x(i)小於等於-1

,因此如果我們把優化問題看做是通過選擇引數使得前面的這一項等於0,即

,那麼我們的優化函式能寫成下面的形式,

,如果y是正樣本的時候,能夠使得θ的轉置乘以x(i)大於1,當y是負樣本的時候,能夠使得θ的轉置乘以x(i)小於-1

(3)基於上面的計算可以得到乙個邊界問題。具體可以觀察這樣的乙個資料集,其中有正樣本,也有負樣本,這些資料線性可分,即存在一條直線,這條直線可以將正樣本和負樣本完美的劃分開

比如下面這條決策的邊界,可以將正負樣本劃分開來,但是看起來不是很自然

我們畫一條更差的直線,比如下面這一條,剛好擦邊將正負樣本劃分開來,下面這個圖中,這兩個變價看起來都不怎麼好,但是svm會選擇下面這條邊界,也就是黑色畫的這條線,這條黑色的邊界,比前面的綠色和紅繩的邊界要好很多,這條黑絲的看起來是更加穩健的決策邊界。能夠更好的將正樣本和負樣本分割開來,也就是說這條黑色的邊界擁有更大的距離,這個距離吃個呢我間距

比如可以發現黑色的決策邊界,和訓練樣本的最小距離要更大一些,這個距離叫做支援向量機距離,這使得支援向量機具有魯棒性,因為在分離資料的時候會盡量用最大的間距去分離,因此有時候被稱為最大間距分類器,這就是上面列出的優化問題的結果,

(4)關於大間距分類器,這裡還有一點,大間距分類器是在c被設定的非常大的情況下得出的,給定下面的資料集,我們會選擇一條這樣的邊界,用大間距來分開正樣本和負樣本,svm要比這個大間距分類器更為複雜,尤其是當你使用大間距分類器的時候,這個時候的學習演算法對異常點會非常敏感

如下圖所示,當你加乙個樣本點的時候,為了將樣本點用大間距分開,可能最後學習到的邊界是下圖所示的邊界,在這樣的乙個異常點的影響下,只因為這樣的乙個異常點就加入這樣的一條紫色的分介面可能不是乙個好主意,如果正則化常數c被設定的非常大,那麼svm就會將決策邊界從黑線變為紫線,但是如果c比較小,不把c設定得很大,最後得到的還是這題的黑線,

吳恩達《機器學習》課程總結 11 支援向量機

1 以下是邏輯回歸以及單個樣本的代價函式 2 首先將使用上圖中紫色的線 稱為cost1或者cost0 的代替曲線,然後將樣本數m去掉,最後將c代替1 可以這麼理解,但不完全是 從而實現邏輯回歸的代價函式到svm的轉換。3 svm的輸出將不再是邏輯回歸的概率,而就是0或者1 1 首先對z的要求更加嚴格...

吳恩達機器學習筆記 12支援向量機6SVM總結

吳恩達老師課程原位址 用以解決 svm 最優化問題的軟體很複雜,且已經有研究者做了很多年數值優化。因此強烈建議使用高優化軟體庫中的乙個,而不是嘗試自己落實一些框架。有許多好的軟體庫,ng用得最多的兩個是liblinear 和 libsvmnote無論使用使用何種模型進行擬合,原始輸入資料都需要進行歸...

機器學習(三) 支援向量機

支援向量機是一種判別模型,它構建乙個超平面使得距離這個超平面最近的點的距離最大。支援向量機的任務是在較低的模型泛化誤差下尋找乙個合適的超平面。如果超平面的函式是如下表示式 那麼超平面與資料點 label 1 之間的幾何關係為 定義 幾何間隔和函式間隔 因此,轉換為帶約束的優化問題 我們無法保證資料是...