1. 程式人生 > >機器學習筆記(參考吳恩達機器學習視訊筆記)11_支援向量機

機器學習筆記(參考吳恩達機器學習視訊筆記)11_支援向量機

11 支援向量機

11.1 支援向量機的優化目標

從邏輯迴歸開始展示我們如何一點一點修改來得到本質上的支援向量機。

如圖,一個y=1的樣本,希望趨近於1,意味著當趨近於1時,應當遠大於0。一個y=0的樣本,希望趨近於0,意味著當趨近於0時,應當遠小於0。

 

表示一個訓練樣本所對應的表示式。

y=1時,(1-y)為0,此時得到,在這個前提下命名一個新的代價函式,記為,它與曲線非常相似,先是一條斜線,當z大於1後變為一條直線。

y=0時,(1-y)為1,此時得到,在這個前提下命名一個新的代價函式,記為,它與曲線非常相似,先是一條直線,當z大於-1後變為一條斜線。

邏輯迴歸的優化目標表示為:

由上述定義可知,將替換為,即;將替換為,即;按照支援向量機的慣例,書寫會稍微有些不同,代價函式的引數表示也會稍微有些不同。首先,去除,會得出同樣的最優值。接著,針對,上式可以簡化表示為:。可以使用一個不同的引數替換這裡使用的來權衡這A、B兩項。替換後的簡化表示為:。在邏輯迴歸中,如果給定的是一個非常大的值,意味著給予 B 更大的權重。而這裡,就對應於將C設定為非常小的值。將C考慮成,會得出同樣的最優值。

綜上所述,支援向量機的優化目標表示為:

11.2 最小化問題的轉變

如果C非常大,則最小化代價函式的時候,我們將會很希望找到一個使第一項為 0 的最優解。一個訓練樣本,標籤為y=1,要使第一項為0,則

;類似地,y=0,要使第一項為0,則。在y = 1和y= 0兩種情況下都使得代價函式中左邊的這一項儘量為零的引數。如果我們找到了這樣的引數,則我們的最小化問題便轉變成:

如果引數C設定的非常大,支援向量機的決策邊界如線a所示。如果引數C設定的不是太大,支援向量機的決策邊界如線b所示。當C不是非常非常大的時候,它可以忽略掉一些異常點的影響,得到更好的決策界。回顧,因此:

1)C較大時,相當於較小,可能會導致過擬合,高方差。

2)C較小時,相當於較大,可能會導致低擬合,高偏差。

11.3 核函式

使用高階數的多項式模型來解決上圖中無法用直線進行分隔的分類問題,模型可能為:

的形式。

用一系列的新的特徵來替換模型中的每一項。例如令:,可以利用核函式來計算出新的特徵f。

給定訓練例項x,利用x的各個特徵與預先選定的地標(landmarks)的近似程度來選取新的特徵

例如:

就是核函式,具體而言,這裡是一個高斯核函式(Gaussian Kernel)。如果一個訓練例項x與地標L之間的距離近似於0,則新特徵近似於=1,如果訓練例項x與地標L之間的距離較遠,則近似於=0。

圖中水平面的座標為而垂直座標軸代表。可以看出,只有當重合時才具有最大值。隨著的改變,f值改變的速率受到的控制。

  

圖中紅色的封閉曲線所表示的範圍,便是依據一個單一的訓練例項和選取的地標所得出的判定邊界,在預測時,採用的特徵不是訓練例項本身的特徵,而是通過核函式計算出的新特徵

地標的選擇:通常是根據訓練集的數量選擇地標的數量,即如果訓練集中有m個例項,則選取m個地標。並且令:。使新特徵是建立在原有特徵與訓練集中所有其他特徵之間距離的基礎之上的。即:

支援向量機的兩個引數C和的影響:

1)C較大時,相當於較小,可能會導致過擬合,高方差;

2)C較小時,相當於較大,可能會導致低擬合,高偏差;

3)較大時,可能會導致低方差,高偏差;

4)較小時,可能會導致低偏差,高方差;