計算機視覺面試考點(15)核函數

計算機視覺工程師在面試過程中主要考察三個內容:圖像處理、機器學習、深度學習。然而,各類資料紛繁複雜,或是簡單的知識點羅列,或是有着詳細數學推導令人望而生畏的大部頭。爲了督促自己學習,也爲了方便後人,決心將常考必會的知識點以通俗易懂的方式設立專欄進行講解,努力做到長期更新。此專欄不求甚解,只追求應付一般面試。希望該專欄羽翼漸豐之日,可以爲大家免去尋找資料的勞累。每篇介紹一個知識點,沒有先後順序。想了解什麼知識點可以私信或者評論,如果重要而且恰巧我也能學會,會盡快更新。最後,每一個知識點我會參考很多資料。考慮到簡潔性,就不引用了。如有冒犯之處,聯繫我進行刪除或者補加引用。在此先提前致歉了!

由來

兩個角度
1.將非線性問題轉換爲線性問題
左圖需要用非線性的曲線分類
並不是說這樣不行
只是有些問題要求必須線性分類
比如,SVM就需要超平面分類(超平面就是線性的)

將特徵空間提高維度
就可以用線性的平面進行分類
在這裏插入圖片描述
2.低維特徵空間表徵能力不夠

有時候不需要一定轉換爲線性問題
但是,低維空間的表徵能力較弱
將特徵提升維度,可以提升模型的表達能力
抽象例子:
用幾條腿,是否下蛋對動物進行分類,兩維特徵
用幾條腿,是否下蛋,幾條腿乘是否下蛋對動物分類,三維特徵
我無法說清楚幾條腿乘是否下蛋是個什麼特徵,這也是高維特徵的一個體現吧
後者對特徵進行了簡單的組合,增加了一個特徵維度,增強了模型的表達能力
具體例子:
我們在K-Means中需要計算點和質心的距離
以歐式距離爲例
d=(x1-x2)^2+(y1-y2)^2
x和y代表兩個維度的特徵
以上方法相當於將每個維度的特徵獨立了
換個做法
(x1y1-x2y2)^2+x1y2(隨便編的式子)
將特徵融合,就增加了維度,提升了表徵能力

原理

我們通過Φ()函數實現特徵從低維到高維的映射
但是這並不是核函數!

比如現在有兩維的特徵,x,y
我們使用Φ()進行映射,組成了三維特徵,x,y,xy
對於A樣本,特徵爲Φ(xa,ya)=xa+ya+xa*ya(式子編的,可能是它們的任意組合)
對於B樣本,特徵爲Φ(xb,yb)=xb+yb+xb*yb
在一些求解過程中,我們經常要計算<Φ(A),Φ(B)>
點積:<(x1,x2,x3),(x4,x5,x6)>=x1x4+x2x5+x3x6
那麼核函數的作用就是
K((xa,ya),(xb,yb))=<Φ(xa,ya),Φ(xb,yb)>
所以說,核函數和映射沒有關係,它只是一個計算工具

進一步思考
如果有了核函數
我們就不需要計算Φ(xa,ya),Φ(xb,yb)
再進一步
我們甚至不需要知道Φ()是什麼
我們只需要指定一個K()
只要K()滿足核函數的數學要求,它就間接實現了映射的功能
那麼我們爲什麼不跳過Φ()而直接使用核函數K()呢?

這就是核函數的原理和意義

常用核函數
在這裏插入圖片描述
其中v1和v2是兩個樣本對應的特徵
至於用哪個核函數?
除非是被做爛了的模型
否則慢慢試吧
這是世界性難題
當然存在規律,但是我的能力達不到了。。。


歡迎討論 歡迎吐槽

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章