核函數 <-- 內積 <-- 余弦相似


本文其實是為了講核函數,由於核函數比較抽象,就從 余弦相似、內積 開始講起,因為 核函數、內積、余弦相似 本質上都是一種相似性度量 的方式

 

內積 與 余弦相似度

內積

存在兩個向量

 

a,b 內積為

余弦相似度

a·b = |a||b|cos(a, b)      

cos(a, b) = (a·b) / (|a||b|)

二者關系

1. 從上面公式可以看出,余弦相似性 其實是 內積的 歸一化

2. 余弦相似性只考慮 向量夾角大小,而內積不僅考慮向量夾角大小,也考慮了向量的長度差

比如兩個向量 A 和 B,A=(1,1,0) B=(0, 1, 1),AB余弦相似度為 1/(sqrt(2) * sqrt(2)) = 1/2,
余弦相似度不考慮向量長度,(1,1,0) 和 (0, 3, 3) 的相似度 等於 AB的相似度

但是,如果入股向量的長度對相似性有真實影響,那么 A(1, 1) B(4, 4) C(5, 5) 三個向量,相似度相同,但 BC 內積 大於 AB 內積,故 BC 更相似

 

核函數

官方定義

設 X 是輸入空間(歐式空間或者離散集合),H 是特征空間(希爾伯特空間),

存在一個從 X 到 H 的映射 φ(X): X→H,

使得對所有的 x、y€X,均有 k(x, y) = φ(x) · φ(y),

則稱 k(x, y) 為核函數

 

實例解釋

假設 A=(1, 2)^T、B=(3,4)^T,構造一個映射 \phi(\cdot)=(x_1^2,\sqrt{2}x_1x_2,x_2^2)^T,則可知

\begin{aligned} &\phi(A)=(1,2\sqrt{2},4)^T\\ &\phi(B)=(9,12\sqrt{2},16)^T \end{aligned}\\

因此通過映射 \phi(\cdot) 將點 A、B 從二維平面升維到三維空間。然后計算

\begin{aligned} \phi(A)^T\phi(B)&=1\times9+2\sqrt{2}\times12\sqrt{2}+4\times16\\ &=9+48+64\\ &=121 \end{aligned}\\

上述運算是在映射后的高維空間下做內積,

那么是否能直接在原始的空間中進行相應的運算,使得低維情況下的運算結果等於高維情況下的運算結果呢?

答案是肯定的。可以通過核函數 k(x,y)=(x^Ty)^2 來實現

 \begin{aligned} k(A,B)&=(A^TB)^2\\ &=(1\times3+2\times4)^2\\&=121 \end{aligned}\\

是不是很神奇,低維空間和高維空間居然通過核函數巧妙的聯通起來了

 

優點

1. 避免了維度災難,也就是說高維空間中的運算計算量很大呈指數級別復雜度,難以解決;低維空間中的運算計算量很小,但是兩者的最終結果是一致的。

例如上述計算過程,高維空間中執行了11次乘法運算、2次根號運算和2次加法運算,低維空間中僅執行了3次乘法運算和1次加法運算,要知道這才二維空間映射到三維空間如果映射到 n 維空間呢?

2. 核函數使得我們不需要顯式計算每一個 φ(x),甚至不需要知道 φ(·) 長什么樣,就能直接求出 φ(x)Tφ(y)

 

常用核函數

 

 

 

未完待續...

 

 

 

參考資料:

https://www.cnblogs.com/lzhu/p/10405091.html  內積

https://blog.csdn.net/kyle1314608/article/details/104582467   內積與余弦相似關系

https://www.zhihu.com/question/24627666  知乎 - 核函數的定義和作用是什么?

https://zhuanlan.zhihu.com/p/47541349  核函數粗淺的理解

https://zhuanlan.zhihu.com/p/30445271  專家坐堂:機器學習中對核函數的理解


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM