機器學習中的核技巧

2021-10-02 05:36:26 字數 1196 閱讀 1811

真正接觸核方法應該是在 svm ,正常情況下,感知機演算法和支援向量機都是預設資料是線性可分的,這類問題叫做線性分類問題。當資料線性不可分的時候,但高維可分(這個不理解可以多看看書),我們仍然想用線性分類的方法去解決,這個時候就需要用非線性變換將非線性問題轉換成線性問題。

於是,我們得到求解非線性分類問題的乙個思路:

1. 用乙個非線性變換,將資料特徵從原空間對映到乙個新的空間,這裡的原空間是低維的輸入空間(歐式空間或離散集合),新的空間是高維的特徵空間(希爾伯特空間,完備的內積空間)

2. 在新的空間上使用線性分類演算法求解。

核函式的定義:

φ(x)是非線性變換的對映函式,則核函式 k(x,z)=φ(x)⋅φ(z),定義為兩個對映的內積。

一般特徵空間是高維或者無窮維的,因此很難去定義乙個特徵空間以及輸入空間到這個特徵空間的對映,核技巧的想法是,在學習和**中只定義核函式 k(x,z),而不顯式地定義特徵空間和對映,簡化計算難度。

為什麼是內積的形式呢,我的理解是一方面,在 svm 或者感知機的對偶性只涉及到 xi⋅xj,另一方面,分類和回歸任務可以分為兩類:一類是引數學習,另一類是基於例項的學習,區別就在於在**階段基於例項的學習還會用到訓練資料;針對基於例項的學習,內積關注的是判定兩點之間的相似程度。

運用核函式等價於經過對映函式 φ(x)將輸入空間的內積 xi⋅xj 變換為特徵空間的內積 φ(x)⋅φ(z),當對映函式是非線性函式時,學習到的模型就是非線性模型。

總的來說,在核函式 k(x,z)給定的條件下,可以利用解線性分類問題的方法求解非線性分類問題,學習是隱式地在特徵空間進行,不需要顯式地定義特徵空間和對映,這樣的技巧叫做核技巧。在實際應用中,往往依賴領域知識直接選擇核函式。

首先,常用的核函式有:線性核函式、多項式核函式、(高斯)rbf徑向基核函式。在 svm 中,選擇線性核函式和徑向基核函式時,需要對資料進行歸一化處理。一般性建議,高維資料(資料維度大,是或者可以視為線性可分)的情況下,選擇線性核函式,不行換特徵,再不行換高斯核。維度少的時候,如果可以的話提取特徵使用線性核函式,不行再換高斯核函式,因為線性核函式最簡單最快,高斯核覆雜而慢,但是除了速度之外的效能一般都可以達到或優於線性核的效果。多項式核的引數比高斯核的多,引數越多模型越複雜;高斯核的輸出值域在 0-1之間,計算方便;多項式核的輸出值域在 0-inf 在某些情況下有更好的表現。

機器學習中的核方法

乙個複雜的模式分類問題,在高維空間中線性可分的概率比在低微空間中更大。二維空間中有4個點,其中是一類,是一類,在二維空間中這4個點不是線性可分得。但是如果把這四個點對映到乙個合適的三維空間,比如將 1,1 對映到 1,1,1 1,1 對映到 1,1,1 將 1,1 與 1,1 對映到 1,1,1 與...

機器學習中的bagging技巧

bagging是增強原演算法的一種手段。神經網路 分類問題 回歸問題 線性回歸中的子集選擇問題 k最近鄰演算法都可以使用bagging來加強。使用bagging加強後的演算法的效能會出現一些有規律的變化。一般而言,若原來的演算法的穩定性差,使用bagging後,演算法的準確率會得到較大程度的提高。若...

機器學習之核函式

建議看這個,中文的 這裡面會講解kernel 的基本概念,svm,lda,lr,pca等如何使用kernel版本 本文大致講解核函式的定義,限制,使用等 機器學習中,對於線性可分的情況研究的比較透徹,可以採用svm lr 感知機等成熟的機器學習模型,但是很多情況是我們希望我們的模型學習非線性的模型。...