zoukankan      html  css  js  c++  java
  • KL散度,相似度计算以及相似度重要性

    简介

    在推荐系统里,有些场景下是需要推荐相似商品,从而可以更好的挖掘用户行为并且提升用户体验。这些情况下需要一些公式计算商品的相似度。

    一、距离公式

    1、曼哈顿距离

    $$left | X_{1}-X_{2} ight | +left | Y_{1}-Y_{2} ight |$$

    即每个纬度上距离的差的绝对值之和。

    公式比较简单,因此计算起来速度应该是快的。

    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、皮尔逊相关系数

    $$ ho (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{Xcdot Y}{left | X ight | imes left |Y  ight |}$$

    余弦相似性对距离不敏感,欧式距离对两特征间的距离敏感。

    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 logfrac{p(x_{i})}{q(x_{i})}$$

    KL散度并非对称

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

     

    三、相似度重要性

    加入相似度重要性的策略,这些策略的本质是一样的,当只有少量评分用于计算时,就会降低相似度重要性的权重

    1、公式

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

    Iuv为u和v用户共同评分的商品数,当I小雨给定的参数r时,他们的相似度w会收到与I成比例的惩罚

    2、当能够根据常量的收缩权重的时候,可以使用公式

    $$omega _{uv}=frac{left | mu _{ij} ight |}{left |  mu _{ij} ight |+eta }ast omega _{ij}$$

    谢谢!
  • 相关阅读:
    2.App Components-Activities/Loadres
    2.App Components-Activities/Fragments
    2.App Components-Activities
    2.App Components-Intents and Intent Filters
    1.Indroduction
    Fragment
    用继承和组合方式定制控件
    复杂布局实现
    Android源代码下载与跟踪
    电梯调度算法模拟
  • 原文地址:https://www.cnblogs.com/ylxn/p/10195993.html
Copyright © 2011-2022 走看看