KL散度,相似度計算以及相似度重要性


簡介

在推薦系統里,有些場景下是需要推薦相似商品,從而可以更好的挖掘用戶行為並且提升用戶體驗。這些情況下需要一些公式計算商品的相似度。

 

一、距離公式

1、曼哈頓距離

$$\left | X_{1}-X_{2} \right | +\left | Y_{1}-Y_{2}\right |$$

即每個緯度上距離的差的絕對值之和。

公式比較簡單,因此計算起來速度應該是快的。

2、歐式距離

$$\sqrt{(X1-X2)^{2}+(Y1-Y2)^{2}}$$

如果特征完好的情況下,曼哈頓距離和歐式距離還是比較合適的。

3、閔可夫斯基距離

$$d(x,y)=(\sum_{f=1}^{n}|U_{1}(f) - U_{2}(f)|^{r})^{\frac{1}{r}}$$

把曼哈頓距離和歐式距離連起來,r=1為滿漢頓距離,r=2為歐式距離。如果r越大則單項特征的影響越大。查了一些博客,有些人說曼哈頓和歐式距離可以計算用戶評分相似性,比如用戶U1,U2對電影A,B的評分為(U1(A), U1(B))和(U2(A), U2(B)),則把評分套入公式即可。

 

4、皮爾遜相關系數

$$\rho (x,y)=\frac{cov(x,y)}{\sigma (x)\sigma (y)}=\frac{E[(X-\mu _{x})(Y-\mu _{y})]}{\sigma _{x}\sigma _{y}}=\frac{E(XY)-E(X)E(Y)}{\sqrt{E(X^{2})-E^{2}(X)}\sqrt{E(Y^{2})-E^{2}(Y)}}$$

皮爾遜相關系數用來計算變量之間的相似性。

 

5、余弦相似性

$$cos(X,Y)=\frac{X\cdot Y}{\left \| X \right \|\times \left \|Y  \right \|}$$

余弦相似性對距離不敏感,歐式距離對兩特征間的距離敏感。

 

6、馬氏距離

$$d(x,y)=\sqrt{(x-y)\sigma ^{-1}(x-y)^{T}}$$

其中σ是協方差矩陣。

 

 

二、KL散度

1、量化兩種分布P和Q可以使用KL散度來度量。K-L散度能幫我們度量一個分布來近似另一個分布所使用的損失信息

2、公式以及推導

信息熵

$$H=-\sum_{i=1}^{N}p(x_{i})\cdot log\ p(x_i)$$

KL散度

$$D_{KL}(p||q)=\sum_{i=1}^{N}p(x_{i})\cdot (log\ p(x_{i})-log\ q(x_{i}))$$

根據上面公式可得,KL散度是近似分布和原始分布對數差的期望值

另一種表示方法

$$D_{KL}(p||q)=\sum_{i=1}^{N}p(x_{i})\cdot log\frac{p(x_{i})}{q(x_{i})}$$

 

KL散度並非對稱

 $$Dkl (Observed || Binomial) != Dkl (Binomial || Observed)$$

 

 

 

三、相似度重要性

加入相似度重要性的策略,這些策略的本質是一樣的,當只有少量評分用於計算時,就會降低相似度重要性的權重

1、公式

$$\omega _{uv}=\frac{min(\left | I_{uv} \right |,\gamma )}{\gamma}*\gamma_{uv}$$

Iuv為u和v用戶共同評分的商品數,當I小雨給定的參數r時,他們的相似度w會收到與I成比例的懲罰

 

2、當能夠根據常量的收縮權重的時候,可以使用公式

$$\omega _{uv}=\frac{\left | \mu _{ij} \right |}{\left |  \mu _{ij} \right |+\beta }\ast \omega _{ij}$$

 


免責聲明!

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



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