在svm中經常聽說核函式,關於各種核函式的推導公式寫得天花亂墜。svm大概意思是說將低維不可分的樣本對映到高維空間中後就線性可分了,由於最後用訓練出來的模型進行分類** 時需要求高維空間中對映特徵間的內積,而核函式的功能就是我們計算時不需要考慮高維空間的具體形式,降低了其計算複雜度。
下面就簡單講講核函式的作用,當然這裡是以2分類器為例。
首先我們需要了解我們的目的是用訓練樣本學習到乙個線性的表示式,即下面的公式:
(1)通過訓練資料可以學校到其中的權值向量w和閾值向量b,對於新來的特徵向量x代入到上式中,求出y,如果y>0則為正例,y<0則為負例。
上面過程看起來很簡單,比較自然,且有核函式的相關理論可以知道,求出的w表示式為:
(2)代入到上面那個公式就可以得到
(3)到目前為止,我們新來乙個樣本,只需讓它與所有的訓練樣本做內積,然後線性相加等操作即可,比較幸運的是,
只有當為支援向量時才不為0,其它位置的都為0,所以只需要進行少數的線性組合計算即可。
現在還沒有必要使用核函式,那是因為用上面的方法進行**時,樣本本身具有線性可分的特點。如果我們在樣本空間下不能夠線性可分呢?那麼這樣求出的w和b用來**就是錯誤的了。
如果低維線性不可分,但在高維中線性可分,這樣就需要將低維的x對映到高維的
了,因此在公式(3)中的內積
對映為。我們把對映後的內積
用乙個函式表示k(x,z)表示,這個函式就是我們這裡講的核函式了。即
(4)因為公式(4)左邊的計算複雜度為核函式的計算複雜度,核函式是由為對映過的特徵x和z構成的,所以複雜度比較低,不像公式(4)的右邊,由高維的特徵向量構成,複雜度高。
因此我們的問題轉化成了,當來了乙個新的向量x,對其分類時使用下面的公式:
(5)公式(5)後面的內積我們就用核函式代替了,那麼我們為什麼這麼有必要用核函式去代替呢?除了開始說的的為了減輕運算複雜度(也就是運算量)外,另外乙個原因就是我們的對映函式
很難確定,不好尋找。
到此為止,我們已經知道了核函式的部分作用了。
當然了,至於什麼樣的核函式k能夠代替
,這就是核函式的有效性另一套理論了,不是本次所講述的重點。
參考文獻:網友jerrylead的部落格:
一些知識點的初步理解 7 隨機森林,ing
一些知識點的初步理解 7 隨機森林,ing.在機器學習中,隨機森林由許多的決策樹組成,因為這些決策樹的形成採用了隨機的方法,因此也叫做隨機決策樹。隨機森林中的樹之間是沒有關聯的。當測試資料進入隨機森林時,其實就是讓每一顆決策樹進行分類,最後取所有決策樹中分類結果最多的那類為最終的結果。因此隨機森林是...
一些知識點的初步理解 7 隨機森林,ing
在機器學習中,隨機森林由許多的決策樹組成,因為這些決策樹的形成採用了隨機的方法,因此也叫做隨機決策樹。隨機森林中的樹之間是沒有關聯的。當測試資料進入隨機森林時,其實就是讓每一顆決策樹進行分類,最後取所有決策樹中分類結果最多的那類為最終的結果。因此隨機森林是乙個包含多個決策樹的分類器,並且其輸出的類別...
Controller一些知識點1 初步見解
寫一下關於controller層的寫法解釋 首先關於當中的一些註解字的解釋進行分析闡明 responsebody 表示該方法的返回結果直接寫入httpresponsebody中 restcontroller 此註解主要是用來標註控制層的元件主要是包括 controller和 responsebody...