【svm學習筆記】svm_理論基礎4
【線性不可分問題 之 核函式】
上面討論的都是線性可分問題,雖然最終也沒看到解的樣子或者解的方法,總之,我們假設已經可以解了。接下來,如果樣本線性不可分,咋整?
好辦。記得從前影象處理裡面有個小波變換,大概的意思就是時域效果不好的話,變換到復域效果就好了,變換的名稱我記得叫傅立葉變換。在這裡也是一樣。如果我們在某個樣本空間中找不到最優分類面,那麼我們就想辦法把他對映到高維空間去。前段時間很火的一部科幻小說叫做《三體》。在《三體2》的開場部分,有個女巫,能從封閉的空間中取物。原理就是,封閉的空間是三維空間,在三維空間是封閉的;而女巫能進入四維空間,一個在三維空間中封閉的區域,在四維空間中就不再是封閉的了。這裡也是,一些樣本在低維空間中不可分,但是對映到高維空間,就有可能被分開。這個維度有可能是非常高。拿文字分類為例,一般樣本點的特徵都是上萬維,即便這樣,仍然不可分,仍然需要向更高維的空間做對映。
那麼假設樣本在高維空間中可分了,我們也找到最優分類面了,對於一個新的樣本,我們如何分類呢?會有以下幾個步驟:
1. 將新樣本對映到高維空間中
2. 將所有支援向量也對映到高維空間中
3. 用上文中g(x)的計算公式(參見“svm_基礎理論3”)計算函式值
4. 對函式值進行判定,得出分類結果
這就引出了一個問題,如何對映到高維空間呢?對映到哪個高維空間呢?其實我們再回過頭來看看,我們計算的只是支援向量和樣本向量的內積,如果能直接計算出這個內積,其實可以不用“顯性地”向高維空間中對映。核函式就是這樣的工具。將公式中的內積運算換成內積的核函式運算,就可以了。
什麼樣的函式是核函式呢?
理論上,滿足Mercer條件的都是核函式。什麼是Mercer條件呢?對我們做工程的人來說,不用理會,我們自己創造不出什麼好的核函式,用現有的就行。
現有的有哪些核函式呢?
線性核、多項式核、RBF核、sigmod核。
對於一個新問題,選擇哪個好呢?
沒有標準答案,必須自己去嘗試。而且,對於具體問題,不同核函式的效能差別很大。
還有一個問題。原來我們想,將低維空間向高維空間對映,看樣本是否線性可分;如果不可分,繼續增加高維空間的維度,再進行對映,直到線性可分位置。不過我們現在有了麻煩,什麼呢?我們只有這幾個核函式,萬一用了他們幾個,發現還是線性不可分,如何是好?當然這幾個核函式也有引數,也可以調整。不過,更一般地說,如果仍然有少部分訓練樣本線性不可分,我們該怎麼辦?下節再講。