關於核函式和SVM的幾點思考

2021-07-16 19:37:37 字數 1106 閱讀 6345

今天了解了一些rbf徑向基(高斯)核函式的問題,順便又了解了一下svm分類,從了解的情況來看我對核函式是什麼,為什麼要用核函式以及svm裡的結構風險最小化(structure risk minimization,簡稱 srm)也有了更加深入的了解。

首先,核函式是為了解決樣本在低維不可分的問題而引入的,也就是將分類函式由非線性降為線性的過程,在這一過程中會新增乙個內積計算的步驟,但是怎麼解決呢,其實核函式主要是解決了乙個內積計算的問題,也就是說將樣本的特徵構成的向量對映到高維之後要進行內積計算,那麼我們就可以不用改變分類模型,直接使用低維向量作為輸入,然後凡是遇到內積計算的時候就用核函式代替,這樣就可以直接得到分類結果。

然後談一談svm裡的結構風險最小化這個概念,以前是不理解的,現在感覺對這一概念有了一些更清晰的認識,首先擺公式上來:

r(ω) ≤ remp (ω)+ φ(n/h) 公式1

這裡r(ω)是期望誤差,remp (ω)是經驗誤差也就是訓練誤差,φ(n/h)是置信範圍,它是和樣本數和vc維有關的。n是樣本個數,h是vc維數。

這裡訓練誤差我認為是可以控制的,當線性可分時,訓練誤差可以為0,當線性不可分時這裡就有乙個概念叫分類間隔,我們記為@,它和h有乙個關係是:

h = f (1/@*@) 公式2

這裡分類間隔越大,h越小,呈反比關係。

那麼回到公式1,當我們控制經驗誤差也就是訓練誤差不變的情況下,看置信範圍,置信範圍表示經驗風險和實際風險的差距,置信範圍函式是個單調遞減函式,也就是說:當h不變的情況下,n越大,置信範圍越小,實際風險和經驗風險差距越小,這個和實際理解也很吻合,也就是說拿來訓練的樣本數越多,訓練的結果跟實際結果越靠近;反之,n越小,置信範圍越大,實際風險和經驗風險差距越大,也就越不靠譜。當n不變的情況下,vc維數h越大(機器學習的複雜性越大),置信範圍越大,實際風險和經驗風險差距越大,越不靠譜;反之,vc維數h越小,置信範圍越小,實際風險和經驗風險差距越小,越靠譜。也即,

在保證分類精度(經驗風險)的同時,降低學習機器的 vc 維,可以使學習機器在整個樣本集上的期望風險得到控制,這就是結構風險最小化(structure risk minimization,簡稱 srm)的由來。

關於SVM核函式的選擇

今天去面試的時候,面試官問了我乙個問題 svm的核函式如何選擇?我說試試吧,答案可能也對,但這樣會浪費時間。上網搜尋了一下,andrew的說法是 1.當樣本的特徵很多時,特徵的維數很高,這是往往樣本線性可分,可考慮用線性核函式的svm或lr 如果不考慮核函式,lr和svm都是線性分類演算法,也就是說...

關於函式的幾點思考

函式思考 1 函式不一定要有返回值。有返回值型別的函式要return就必須return乙個值,否則報錯,也可以不寫return 會警告不會報錯。空型別函式不能return 乙個值,否則報錯,可以有return,表示函式結束,無警告不報錯。2 函式結束標誌 return 3 是否需要返回值看函式的功能...

SVM中關於核函式的理解

如果訓練樣本不是線性可分的,那麼只要樣本的屬性是有限個,就可以將其對映到高維特徵空間,使這些樣本線性可分.問題 為什麼要讓這些樣本線性可分?當對映到高維空間後,想要得到模型 function 那麼計算難度是非常大的.此時我們可以使用核函式來簡化計算.那麼什麼樣的函式可以作為核函式呢?只要乙個對稱函式...