天天看點

機器學習中距離/相似度的度量方法總結——闵科夫斯基距離、傑卡德距離、餘弦相似度、Pearson相似系數、相對熵(KL散度)、Hellinger距離量化兩個分布的相似度/距離可以用于:

量化兩個分布的相似度/距離可以用于:

1.聚類性能的度量(内部名額): 當沒有一個參考模型做對比的時候,可以采用如下内部名額衡量聚類結果。

2.量化模型(系統)穩定性: 例如當某一系統兩個時段收集的樣本集分别為X和Y,假設兩個時段裡X和Y各自服從某一種分布,可以通過如下相似度度量方法分析兩個分布的相似度,進而判斷系統關于時間的穩定性。

PS:距離度量要滿足:非負性、同一性( d i s t ( x , y ) = 0 dist(x,y)=0 dist(x,y)=0,當且僅當x=y)、對稱性、三角不等式;相似度度量則不做要求。

闵科夫斯基距離(Minkowski)

計算公式:

d i s t ( X , Y ) = ( ∑ i = 1 n ∣ x i − y i ∣ p ) 1 p dist(X,Y)=\big(\sum_{i=1}^{n}|x_i-y_i|^p\big)^\frac{1}{p} dist(X,Y)=(i=1∑n​∣xi​−yi​∣p)p1​

描述: p=2,即歐式距離;p=1,即曼哈頓距離;p= ∞ \infty ∞,即切比雪夫距離。

傑卡德距離(Jaccard)

計算公式:

J ( A , B ) = ∣ A ⋂ B ∣ ∣ A ⋃ B ∣ J(A,B)=\frac{ |{A} \bigcap {B}| } {{ |{A} \bigcup {B}| }} J(A,B)=∣A⋃B∣∣A⋂B∣​

描述: 該距離滿足三角不等式,是對稱,非負距離。

餘弦相似度(cosine similarity)

計算公式:

cos ⁡ ( θ ) = x T y ∣ x ∣ ⋅ ∣ y ∣ = ∑ i = 1 n x i y i ∑ i = 1 n x i 2 ∑ i = 1 n y i 2 \cos(\theta) = \frac{x^Ty}{|x|\cdot|y|}= \frac{ \sum\limits_{i=1}^n x_iy_i }{ \sqrt{ \sum\limits_{i=1}^n x_i^{2} } \sqrt{ \sum\limits_{i=1}^n y_i^{2} } } cos(θ)=∣x∣⋅∣y∣xTy​=i=1∑n​xi2​

​i=1∑n​yi2​

​i=1∑n​xi​yi​​

描述: θ \theta θ是n維向量x,y的夾角,根據餘弦定理推出餘弦值,作為餘弦相似度。考慮為什麼餘弦值可以作為相似度度量?

Pearson相似系數

對比餘弦相似度公式,相關系數即當 μ X = 0 , μ Y = 0 \mu_{_X}=0,\mu_{_Y}=0 μX​​=0,μY​​=0。

計算公式:

ρ X Y = c o v ( X , Y ) σ X σ Y = E [ ( X − μ X ) ( Y − μ Y ) ] σ X σ Y = ∑ i = 1 n ( X i − μ X ) ( Y i − μ Y ) ∑ i = 1 n ( X i − μ X ) 2 ∑ i = 1 n ( Y i − μ Y ) 2 \rho_{_{XY}} = \frac{cov(X,Y)} {\sigma_{_X}\sigma_{_Y}} = \frac{ E[(X-\mu_{_X}) (Y-\mu_{_Y}) ] } {\sigma_{_X}\sigma_{_Y}} = \frac{ \sum\limits_{i=1}^n (X_i-\mu_{_X}) (Y_i-\mu_{_Y}) }{ \sqrt{ \sum\limits_{i=1}^n (X_i-\mu_{_X}) ^{2} } \sqrt{ \sum\limits_{i=1}^n (Y_i-\mu_{_Y}) ^{2} } } ρXY​​=σX​​σY​​cov(X,Y)​=σX​​σY​​E[(X−μX​​)(Y−μY​​)]​=i=1∑n​(Xi​−μX​​)2

​i=1∑n​(Yi​−μY​​)2

​i=1∑n​(Xi​−μX​​)(Yi​−μY​​)​

對比餘弦相似度公式,: 當 μ X = 0 , μ Y = 0 \mu_{_X}=0,\mu_{_Y}=0 μX​​=0,μY​​=0,相關系數即為将X,Y坐标向量各自平移到原點後的餘弦夾角。是以應用夾角餘弦作為距離度量(文檔間相似度),表征的就是去均值化的随機向量間的相關系數。

相對熵(KL散度)

計算公式:

D ( p ∣ ∣ q ) = ∑ x P ( x ) log ⁡ p ( x ) q ( x ) = E p ( x ) log ⁡ p ( x ) q ( x ) D(p||q) = \sum_{x}P(x)\log{ \frac{p(x)}{q(x)} } = E_{p(x)}\log{ \frac{p(x)}{q(x)} } D(p∣∣q)=x∑​P(x)logq(x)p(x)​=Ep(x)​logq(x)p(x)​

描述:

自資訊:一個事件 X = x X=x X=x 的自資訊為 I ( x ) = − log ⁡ p ( x ) I(x) = -\log{p(x)} I(x)=−logp(x) 。

機關奈特(無所謂),要知道一個機關代表的實體含義:以 1 e \frac{1}{e} e1​的機率觀測到一件事時獲得的資訊量。

自資訊隻處理單個的輸出。下面熵出現,直接把整個分布X中的不确定性總量進行量化。

熵(entropy): H ( p ) = − ∑ i n p ( X = x i ) log ⁡ ( p ( X = x i ) ) H(p)=-\sum\limits_{i}^n{ p(X=x_i) \log{ \big( p(X=x_i)} \big) } H(p)=−i∑n​p(X=xi​)log(p(X=xi​))

實際上,熵是針對一個分布而言的,即求解分布 X X X~ P ( x ) P(x) P(x)中所有可能事件 x x x的自資訊的期望和:

H ( X ) = E X − P [ I ( x ) ] = − E X − P [ log ⁡ P ( x ) ] H(X) = E_{_{X-P}} [I(x)] = -E_{_{X-P}}[\log{P(x)}] H(X)=EX−P​​[I(x)]=−EX−P​​[logP(x)]

解釋:

熵的計算公式: H ( p ) = − ∑ i n p i log ⁡ p i H(p)=- \sum\limits_{i}^n{ p_i \log p_i } H(p)=−i∑n​pi​logpi​ 包含3個元素:

  1. log ⁡ P ( x ) \log{P(x)} logP(x) :對數函數形式是為了滿足同一分布下的不同的事件的自資訊可加構造出來的。
  2. − - − :負号為了滿足實體概念, y = log ⁡ ( x ) y=\log(x) y=log(x)是單調遞增函數,為了保證熵越大,不确定性越大,是以要構造一個 I ( x ) = − log ⁡ p ( x ) I(x) = -\log{p(x)} I(x)=−logp(x) 滿足機率越大的事件發生了,擷取的資訊越少,熵越小。
  3. p ( x ) p(x) p(x)是上面求期望引入的元素。
  4. 綜上熵的公式了解為了滿足可加性、符合實體意義、求期望而構造出來的。

到這裡打住…經驗熵=基于極大似然估計的熵、熵-條件熵=互資訊(決策樹中的資訊增益)、熵+KL散度=交叉熵 ⋯ \cdots ⋯

Hellinger距離

計算公式:

D α ( p ∣ ∣ q ) = 2 1 − α 2 ( 1 − ∫ p ( x ) 1 + α 2 q ( x ) 1 − α 2 d x ) D_\alpha(p||q) =\frac {2}{1-\alpha^2} \bigg( 1- \int{ p(x) ^{ \frac {1+\alpha}{2} } q(x) ^{ \frac {1 - \alpha}{2} } } dx \bigg) Dα​(p∣∣q)=1−α22​(1−∫p(x)21+α​q(x)21−α​dx)

描述: 該距離滿足三角不等式,是對稱,非負距離。

繼續閱讀