簡介
在推薦系統里,有些場景下是需要推薦相似商品,從而可以更好的挖掘用戶行為並且提升用戶體驗。這些情況下需要一些公式計算商品的相似度。
一、距離公式
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}$$