透徹形象理解核函數

2020-12-03 AI火箭營

在機器學習內,一般說到kernel函數都是在SVM中去介紹,主要原因是SVM必須搭配kernel l函數才能讓SVM可以在分類問題中得到非常好的效能,因此kernel trick是SVM學習內非常重要的部份,當然也會衍生出很多問題(後面會提到)。

Kernel trick在機器學習的角色就是希望當不同類別的特徵在原始空間中無法被線性分類器區隔開來時,經由非線性投影后的特徵能在更高維度的空間中可以更區隔開。

下圖是一般看到kernel介紹都會看到的圖,我們無法在原始空間(Rd)中適當的找到一個線性分類器將兩類區隔開,這時後此需要找到一個非線性投影(φ)將特徵進行轉換到更高維度的空間,此時在高維度的空間中只需要一個線性分類器/hyperplane就可以完美分類。

而這個更高維度的空間則稱為Hilbert space(H)。

但我們又很難直接去設計一個好的非線性投影(φ)公式,因此需要kernel函數來輔助。

Kernel函數定義:

只要對所有的特徵,有一個函數可以滿足

K(x,y)=φ(x),φ(y)

這個k(x,y)就是一個kernel函數,a, b表示向量a和b做內積。

但我們怎麼知道什麼函數可以滿足這個條件,所以有個定理(Mercer's theorem)說如果有一個函數(φ)存在,這個k必需滿足Mercer's condition,k就是kernel函數。

但說法還是很玄,簡化說就是如果所有的特徵帶到這個kernel function中的和必須大於等於0:

K就滿足Mercer's condition。

理論上,一個Kernel matrix(K, Gram matrix)是半正定矩陣(positive semi-definite),這個k就是kernel function。

比較常用的kernel函數:

D為正整數(通常在call api時,這個部份都會稱為degree),σ為非0的實數(通常在call api時,這個部份都會稱為gamma)

Note: RBF kernel有的api會定義成下:

下面舉一個用polynomial kernel function次方項為2次方,截距為0 (d=2, c=0)的例子。

左圖為原始空間,很明顯的圓圈內是一類,圓圈是一類,此時單純用線性分類器是無法有效分類的,因此有沒有辦法找到一個非線性分類器讓兩類可以分開。

這邊用的kernel function比較簡單

此時可以經由簡單的推導得到投影函數(φ),如下

因此我們可以看到用polynomial kernel function將特徵投影到feature space後的情況,此時已經將特徵從2維空間轉換到3維空間。

在feature kernel space時,很明顯只要一個Hyperplane(線性分類)就可以完美分類,如下左圖(水藍色的平面),而其對應到原始空間(下右圖)則是中間分類的那個圓圈。

RBF kenel function 投影函數轉換

上述用的Polynomial kernel function轉換成投影函數(φ)比較簡單。

RBF kernel function也可以經由簡單的推導得到投影函數(φ),但稍為複雜一點,會用到泰勒級數(Taylor series)。理論參考。

Recall: 泰勒級數是在函數f(x)在一個實數或複數a上可微分函數的power級數如下:

RBF kernel function會用到的泰勒級數是在

這邊舉一個1維度的特徵讓大家熟悉RBF的拆解,這邊熟悉後比較容易轉換到高維度的想法去看

後面要來說明高維度的特徵怎麼拆解,如果你對上面拆解很熟,你應該會意識到RBF轉換到更高維度的空間是看你泰勒級數要展到幾階層,假設你特徵是2維,你想在3維空間看RBF轉換,泰勒級數就展開到0~2階,投影函數(φ)的每一個element公式如下

N代表第n階。投影函數(φ)實際寫出來如下:

這邊舉一個2維特徵用RBF kernel function拆解出的投影函數(φ):

這邊我用圖示法,將2維特徵投影到3維空間上,也就是泰勒級數取到2階就好。

Kernel的手法只是將特徵投到更高維度的空間,然後在這高維度的空間進行你想做的事情,不一定要直接在高維度空間做分類(此例是在高維度空間分類),也可以在高維度空間進行降維(dimension reduction),關鍵字kernel PCA, kernel LDA。

Kernel trick很有趣,但剛有提到它有衍生性的問題,這個問題其實很簡單

"有這麼多種類的kernel,你要用什麼kernel函數在你的特徵上?你挑到kernel了,kernel參數怎麼調整?"

還有人一直在研發不同種的kernel函數,比如合成的kernel,要怎麼挑,這個問題很簡單,最傳統的方式就是用gird search,就是你想的到的kernel函數和參數你都用training data跑一次,看哪組kernel和參數你training data performance最好就用哪一組。大家有發現一個問題嗎?如果kernel有100個,參數也都各100個,這樣你要try 100*100=10000次。如果你有跑過SVM,你就知道這樣會玩多久了。

因此有人會研發更快找到參數的方法,我們以前也玩過,之後有空再來寫一篇我們怎麼玩的。

相關焦點

  • 形象透徹理解馬爾可夫鏈
    每個特定的屬性使我們能夠更好地學習和理解它們。研究隨機過程的一個特性是"馬爾可夫屬性"。以非正式的方式,馬爾科夫特性表示,對於一個隨機過程,如果我們知道在給定時間所取得的值,我們將不會通過收集更多知識獲得有關該過程未來行為的額外信息。
  • 一行代碼自動選擇核函數,還有實用工具
    SVM 由線性分類開始理解SVM,咱們必須先弄清楚一個概念:線性分類器。給定一些數據點,它們分別屬於兩個不同的類,現在要找到一個線性分類器把這些數據分成兩類。增加數據特徵向量需要消耗巨大的計算資源,這裡採用核函數。而這種思路最難的點,是為你自己的模型選擇一個合適的核函數。這裡推薦一種自動調參方法GridSearch。將多種核函數(線性、RBF、多項式、sigmoid等)等標號,依次調用,找到一個最合適自己模型的。
  • 透徹理解貝葉斯推理
    前邊在文章透徹理解最大似然估計,闡述如何理解最大似然進行參數估計,本文將討論使用貝葉斯推理進行參數估計。我還將展示如何將此方法視為最大似然的概括,以及在何種情況下這兩種方法是等價的。貝葉斯定理在介紹貝葉斯推理之前,有必要理解貝葉斯定理。貝葉斯定理真的很酷。
  • 形象理解貝葉斯定理
    理解概率概念對於機器學習工程師或數據科學專業人員來說是必須的。許多數據科學挑戰性問題的解決方案本質上是從概率視角解決的。因此,更好地理解概率將有助於更有效地理解和實現這些算法。每當你閱讀任何概率書、博客或論文時,大多數時候你會發現這些書中的講解太過理論化。據研究,65%的人是視覺學習者。
  • 任意角的三角函數與誘導公式,熟練記憶透徹理解,就在這些口訣上
    梳理了前面三角基本概念,單位制,扇形與弧長公式,相信大家對三角的學習有了一個好的開始,要想真正的理解三角函數的內涵,還需要從一些口訣來入手,今天我們就來談談三角函數和誘導公式; 第一、三角函數的定義 三角函數的定義分初中(
  • 形象講解支持向量機
    調整參數:核函數、正則化C,Gamma和邊距。核函數線性SVM中超平面的學習是通過使用一些線性代數轉換問題來完成的。這是內核扮演角色的地方。多項式核函數:K(x,xi)=(xxi+1)^d, d=1,2,...,N;高斯核函數:k(||x-xc||)=exp{- ||x-xc||^2/(2*σ)^2) } 。多項式和高斯核函數可以計算更高維度的分離線。這種解決低維難分、可維可分問題的技巧就是核函數技巧。
  • 這是中學物理知識「骨架」與「網絡」, 若不能透徹理解慎選理科!
    如果經過努力依然不能透徹理解這些規律,那麼物理學習肯定舉步維艱,這樣的同學是不太適合學習理科的。我們今天著重來了解一下中學物理規律的分類,以便使剛接觸物理的初二學生以及高一學生做到心中有數。對於以上各種物理規律,中學生朋友們都應該深刻理解、搞清楚物理規律的文字表達含義、來龍去脈、以及適用條件!只有如此,才能真正搭建好中學物理知識的骨架和網絡。中學生朋友們,物理有趣且有用,為了美好的未來,加油吧!
  • 主題思想融化在戲曲形象當中,對形象作分析,就會理解主題思想
    無論人物形象、情節結構、細節語言,都圍繞主題這個核心,凝集成一個藝術整體,為表達主題思想服務。但是,主題思想決不是書本上現成的政治概念,而是作者根據生活的啟示,經過創造性勞動得來的真知灼見。這種方法,固然強調了戲劇的主題思想的特點,有動作性,但我們覺得偏重於就事論事,有時反倒局限了對於劇本主題思想的深入理解。像「敲詐勒索者反被別人敲詐勒索而去」,就似乎並不是果戈理的主要意圖。這僅是情節關目,不是作者要告訴我們的道理。
  • 初學電工如何形象的理解電的知識
    造成初學者不能有效的客觀認識,也就無從談理解了。我們只學習我們生活中常用的交流電正弦交流電,電流的方向和大小都隨時間呈周期性變化的電流叫做交流電流。交流電中有電壓電流電阻。通過上面的形象比喻,我們初步知道了電壓電流電阻以什麼樣的形式存在於電線中。電流之所以能夠在導線中流動也是因為在電流中有著高電勢和低電勢之間的差別這種差別叫電勢差也叫電壓。任意兩點之間的電位差稱為這兩點之間的電壓通常用(Ⅴ)表示。
  • 牛頓的回答很深刻,很透徹,富有哲理
    說到這裡,如果你不滿意以上的說法和回答,我們不妨一起來讀一下牛頓的回答很深刻,很透徹,富有哲理!文字如下:生來瞎眼的人不了解光,如同我們無法明白神的智慧和全能。神的形象沒有人看到、聽到和接觸到,我們只能在他所創造的萬物中了解他。神仍在掌權,我們都在他的掌管之下。——牛頓讀完牛頓的語錄,可以說牛頓把天生就是瞎子的人會怎麼樣,分析的很透徹,富有哲理。
  • 如何生動形象的理解相對論中同時的相對性?
    私以為,這樣的講解已經是非常的生動形象了。我與愛因斯坦的水平差之千萬裡,當然不可能更生動的講解。不過我還是想再換個例子來說說這個問題,希望能對題主有所幫助。每個晴朗的夜晚,我們都可以仰望星空,遙遠的星星就像一顆顆的寶石,鑲嵌在天穹之上。這是我們每個人都會有的感受。
  • 易烊千璽沐浴陽光,行走在胡同裡悠閒自得,琥珀色瞳孔透徹迷人
    令人驚豔的是他那雙琥珀色瞳孔透徹迷人!易烊千璽ins文案如下:大太陽~~~ 簡簡單單的三個字卻明確表明了當時的環境以及襯託了他愉悅的心情,同時風格延續、自成一派,很有大佬範!此次更新的ins是生動形象的視頻,首先映入我們眼帘的是金黃燦爛的暖陽,雖夕陽西下,但風光仍在、神採依舊。
  • 多讀書,會提升閱讀理解能力嗎?
    首先,我們應該弄清楚什麼是閱讀理解能力,以我多年的摸索,我認為語文閱讀理解能力包括:1.語言概括能力。讀一篇文章,你要嘗試用最簡潔的語言概括文章主要內容,用最簡潔的語言概括每一段落的主要內容,用最簡潔的語言概括文章人物的形象特點。2.信息提取能力。學一篇課文,要清楚知道自己認識了哪些生字詞,哪些新知識點,哪些優美句子。3.分析判斷能力。
  • 引力波·黑洞·蟲洞·宇宙大爆炸,其實可以這樣形象有趣的理解
    廣義相對論嘛,核心就是那看不見摸不著的「引力」,說到引力,我們自然能想到:飛得高摔得慘,地球繞著太陽轉,再根據牛頓的公式,引力一沒地球被甩~不過愛因斯坦可不這麼想,違反了人家的狹義相對論(比較複雜),於是他做出了這樣的假設:引力並不是一種力,是時空彎曲的外在表現質量越大彎曲越厲害,就像一個重量級選手會在沙發上坐出一個大大的屁股印這種說法能形象理解很多現象
  • 透徹理解高斯分布