loglikelihood ratio 相似度

本文介绍LogLikelihoodRatio相似度的概念及计算方法,并通过一个具体的用户偏好商品实例进行详细解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:

  在机器学习中常用到各种距离或者相似度,今天在看美团推荐系统重排序的文章时看到了loglikelihood ratio 相似度,特总结起来。以后有时间再把常用的相似度或者距离梳理到一篇文章。

背景:

  记录loglikelihood ratio 相似度概念

总结:

  

  在mahout中,loglikelihood ratio也作为一种相似度计算方法被采用。

   下表表示了Event A和Event B之间的相互关系,其中:

  k11 :Event A和Event B共现的次数
  k12 :Event A发生,Event B未发生的次数
  k21 :Event B发生,Event A未发生的次数
  k22 :Event A和Event B都不发生的次数

  则logLikelihoodRatio=2 * (matrixEntropy - rowEntropy - columnEntropy)

  其中

  rowEntropy = entropy(k11, k12) + entropy(k21, k22)
  columnEntropy = entropy(k11, k21) + entropy(k12, k22)
  matrixEntropy = entropy(k11, k12, k21, k22)

  (entropy为几个元素组成的系统的香农熵)

  下面举一个实际的例子:

  

我以一个实际的例子来介绍一下其中的计算过程:假设有商品全集I={a,b,c,d,e,f},其中A用户偏好商品{a,b,c},B用户偏好商品{b,d},那么有如下矩阵:

  

  • k11表示用户A和用户B的共同偏好的商品数量,显然只有商品b,因此值为1
  • k12表示用户A的特有偏好,即商品{a,c},因此值为2
  • k21表示用户B的特有偏好,即商品d,因此值为1
  • k22表示用户A、B的共同非偏好,有商品{e,f},值为2

此外我们还定义以下变量N=k11+k12+k21+k22,即总商品数量。

计算步骤如下:

    1. 计算行熵 

       

      注:代码中k11+k12k21+k22N

       

    2. 计算列熵 

       

       

    3. 计算矩阵熵 

       


      注意:以上熵的计算均没有加负号,后面会讲到原因

       

    4. 计算相似度 

      UserSimilarity=2(matrixEntropyrowEntropycolumnEntropy)
    5. 实现代码:https://github.com/Tongzhenguo/Java-codes/blob/master/src/main/java/data/code/similarity/logLikelihoodRatio.java

参考链接:

    http://www.csdn.net/article/2015-01-30/2823783

    http://blog.csdn.net/u014374284/article/details/49823557

转载于:https://www.cnblogs.com/arachis/p/5946938.html

### 回答1: 似然比检验(likelihood ratio test)是一种用于比较两个具体的统计模型的方法。它是基于似然函数的比较而得名。 似然比检验的原理是比较两个模型的似然函数,通过计算这两个模型的似然函数之比来评估两个模型的拟合程度。假设我们有两个模型:模型1和模型2。模型1是我们要检验的模型,而模型2是一个更为简单的模型,通常是指模型1的一个特例。我们可以通过计算两个模型的似然函数,然后计算它们的比值来确定哪个模型更适合数据。这个比值称为似然比(likelihood ratio),通常用符号“LRT”表示。 在似然比检验中,我们通常会计算一个p值,用于衡量似然比的显著性。如果p值小于事先设定的显著性水平(通常为0.05),则我们可以拒绝模型2,即接受模型1。反之,如果p值大于显著性水平,则我们无法拒绝模型2,即不能接受模型1。 似然比检验在统计学中广泛应用,特别是在拟合复杂模型时。它是一种有力的工具,可以帮助我们评估不同模型的拟合程度,并选择最佳模型。 ### 回答2: 似然比检验 (likelihood ratio test) 是一种常用的假设检验方法,主要用于比较两个基于参数化模型的假设的拟合程度。其基本思想是将模型参数空间分解为两部分:一个参数空间为原假设下的模型,另一个参数空间为备选假设下的模型,然后利用极大似然估计法对两个模型进行估计,根据两个似然函数的比值构建检验统计量,检验两个模型的拟合是否有显著性差异。 具体地说,在似然比检验中,假设原假设为 $H_0$,备选假设为 $H_1$。设在原假设下估计参数的极大似然估计值为 $\hat{\theta}_0$,在备选假设下估计参数的极大似然估计值为 $\hat{\theta}_1$,则检验统计量为: $$ LR=-2\ln\frac{\mathcal{L}(\hat{\theta}_1)}{\mathcal{L}(\hat{\theta}_0)} $$ 其中 $\mathcal{L}(\hat{\theta}_1)$ 和 $\mathcal{L}(\hat{\theta}_0)$ 分别是在备选假设和原假设下的似然函数值。统计学理论表明,当样本容量足够大时,LR 统计量在原假设成立时近似服从自由度为 $df=n_p-n_0$ 的 $\chi^2$ 分布($n_p$ 为备选假设下的模型参数个数,$n_0$ 为原假设下的模型参数个数)。因此,我们可以计算出 LR 统计量的 P 值,进而判断两个模型的拟合是否有显著性差异。 总的来说,似然比检验是一种简单而有效的假设检验方法,可以用来比较不同模型的拟合能力。但需要注意的是,在进行似然比检验时,不同的模型应该建立在相同数据集上,且应该保证两个模型下的数据独立同分布。此外,还需要注意样本容量的大小,当样本容量较小时,LR 统计量的分布可能偏离理论分布,需要使用修正方法进行调整。 ### 回答3: 似然比检验(likelihood ratio test)是一种用于比较两个或多个统计模型的统计方法。该方法基于模型在给定数据下产生观测值的几率(似然函数),通过构建两个模型的似然比值来进行比较。似然比检验判断两个模型的合理性,从而决定哪个模型更好地解释数据。 似然比检验的核心思想是比较两个模型的似然函数值。以二项分布为例,假设我们有两个二项分布模型,即模型1和模型2,其中模型2在模型1的基础上增加了一个参数。我们可以通过计算模型1和模型2的似然函数值,然后将它们相除来得到似然比统计量。然后,我们可以将该统计量与自由度为模型2参数个数与模型1参数个数之差的卡方分布相比较,从而得到一个显著性水平。 似然比检验可以用于各种类型的模型比较,例如线性回归、广义线性模型、生存分析等等。通过比较似然比统计量,我们可以得出结论,即哪一个模型更好地拟合数据。 似然比检验是一个强有力的工具,但使用它需要谨慎。似然比检验有很多假设,例如模型的分布假设、模型参数的独立性等等。如果这些假设不成立,那么检验结果就可能不可靠。另外,似然比检验经常会遇到所谓的“边界效应”,即当两个模型之间的差异较小时,似然比统计量的分布可能会很不稳定。 总的来说,似然比检验是一种强有力的工具,它可以比较不同模型之间的合理性。但在使用它时需要注意其假设和限制,选择正确的模型是一个系统性的工程,而似然比检验只是其中的一部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值