引言:
對於SVM的核函數,許多初學者可能在一開始都不明白核函數到底是怎麼做到從二維空間映射到三維空間(這裏我們特徵空間以二維爲例),因此本文主要講解其中一種核函數——-高斯核函數作爲介紹,另外感謝Andrew Ng在網易雲課堂深入淺出的講解,不但加深了我的理解,也爲我寫這篇博客提供了不少素材。
代價函數:
相比於Logistic Regression的代價函數:
SVM的代價函數只是稍微進行修改:
其中 其實也就是sigmod函數。
而cost函數可以由下圖中的粉線表示:
當然其中的轉折點是人爲定義的,這裏選擇以1爲轉折點。
此外,我們還能發現,相比於Logistic regression,SVM的優化函數只不是過 換成了 和修改了 函數,其實差別並不大。當然,我們也能從老師PPT的圖中可以看出sigmod函數的大致走向。
當然啦,如果你看不懂這個也沒關係,這與下面的高斯核函數的理解上聯繫並不緊密。
爲了引出核函數的作用,我們先來觀察決策邊界爲非線性的情況:
並且我們假設認爲
否則, 爲圖中的藍色O
要想擬合這個非線性的決策邊界,其中有一種方法就是用高階函數去擬合這個特徵,事實上,這個方案是並不可行,因爲這樣做存在一定的問題:從理論上來說,我們有很多不同的特徵去選擇來擬合這個邊界(選擇起來是一個問題)或者可能會存在比這些高階多項式更好的特徵,因爲我們並不知道這些高階多項式的組合是否一定對模型的提升有幫助。
引入高斯核函數:
首先我們先來看一下三維正態分佈的圖像:
從圖像中我們可以看出,離中心點越近,函數值就越接近於1。
其公式爲:
由指數函數的特徵,我們可以看到,如果指數部分爲接近0,那麼 就會接近1;如果指數部分越小,那麼 就會越接近於0。
講到這裏,是否有點熟悉的感覺?沒錯,之前我在講標籤判定的時候,說到 決定着最後類別的確定,那麼試想一下,如果我們把2維平面上的點,映射到到上圖中,那麼從上往下看就會看到類似於下面這張同心圓的圖:
因此以任意一種顏色的同心圓作爲決策邊界,我們都可以完成對數據集的簡單非線性劃分。那麼問題來了,如何映射到高維空間上去呢?——————高斯核函數!
我們可以在二維空間中構造3個新特徵,如下圖(PS:這是隻是打個比方,現實中並不一定是3個特徵)
然後重新定義我們的假設:
否則, 爲圖中的藍色O
其中 就爲我們的高斯核函數
那麼就在這個平面上而言,越是接近於這三個點的點,他由通過高斯核函數對3個特徵點進行計算時,結果之和就越容易大於1。
因爲如果 和 越是接近,2範數就越趨向於0,則指數函數趨向於1,而對於那些別叫遠的點而言,指數項中的 則會越大,前面添上” ”號,就越小,那麼有指數函數的變化可得,結果之和會小於1。
所以到這裏,我們便可以把二維平面上的數據點,映射到三維空間中,從而達到了可以進行復雜的非線性決策邊界的學習。
如果覺得我有地方講的不好的或者有錯誤的歡迎給我留言,謝謝大家閱讀~