无敌的Log-Likelihood Ratio(2)——LLR在推荐系统中的使用

本文探讨了Log-Likelihood Ratio(LLR)在推荐系统中的应用,详细讲解了LLR的计算公式及其在电影推荐场景下的具体实现,包括相似度计算、数据集处理、实时部署及冷启动问题解决方案。


  在这篇文章中我们基于 《无敌的Log-Likelihood Ratio(1)——LLR的计算方式》中所介绍的 L L R LLR LLR计算方式,具体的介绍一下 L L R LLR LLR在推荐系统业务中的具体落地和使用。本文以电影推荐为例,简要阐述 L L R LLR LLR在推荐系统中具体的使用和落地。
  本文具体的组织结构如下:在第1节中主要回归了 L L R LLR LLR的计算公式和推荐系统场景下相似度的计算。在第2节中,我们主要介绍了 L L R LLR LLR相似度计算在公开的推荐相关数据集上的使用。在第3节中讨论了如何完成 L L R LLR LLR相似度推荐在线上实时推荐的部署情况和可能存在的一些问题。在第4节中讨论几个我能够想到并关注的问题。

1. 相似度计算

1.1 相似度计算公式

  在基于物品相似度的推荐中,我们主要通过 L L R LLR LLR来衡量两个物品之间的相似度。当两个物品在用户的交互行为中共同出现的次数越多和其他物品共同出现的次数越少,理论上认为这两个物品越相似度越高。
  在计算两个物品相似度之前,我们需要能够建立衡量两个物品共现关系的 2 × 2 2\times2 2×2的矩阵如下所示。

I t e m    j Item\;j Itemj 发生交互 没有与 i t e m    j item\;j itemj发生交互
i t e m    i item\; i itemi 发生交互 K 11 K_{11} K11 K 12 K_{12} K12
没有与 i t e m    i item\; i itemi 发生交互 K 21 K_{21} K21 K 22 K_{22} K22

  根据共现次数矩阵结合《无敌的Log-Likelihood Ratio(1)——LLR的计算方式》给出的计算原理,可以计算物品 i i i和物品 j j j的相似度如下。
S = 2 × ( H ( c o l S u m ( K ) ) + H ( r o w S u m ( K ) ) − H ( K ) )    = 2 × ( K 11 N    l o g ( K 11 N ) + K 12 N    l o g ( K 12 N ) + K 21 N    l o g ( K 21 N ) + K 22 N l o g    ( K 22 N )    − ( K 11 + K 12 N l o g    ( K 11 + K 12 N ) + K 21 + K 22 N l o g ( K 21 + K 22 N ) )    − ( K 11 + K 21 N l o g    ( K 11 + K 21 N ) + K 12 + K 22 N l o g ( K 12 + K 22 N ) ) ) S=2\times(H(colSum(K)) + H(rowSum(K))-H(K)) \\ \; \\ = 2 \times(\frac{K_{11}}{N}\;log(\frac{K_{11}}{N}) + \frac{K_{12}}{N}\;log(\frac{K_{12}}{N}) + \frac{K_{21}}{N}\;log(\frac{K_{21}}{N}) + \frac{K_{22}}{N} log\;(\frac{K_{22}}{N}) \\ \; \\ -(\frac{K_{11} + K_{12}}{N}log\;(\frac{K_{11} + K_{12}}{N}) + \frac{K_{21} + K_{22}}{N} log(\frac{K_{21} + K_{22}}{N})) \\ \; \\ -(\frac{K_{11} + K_{21}}{N}log\;(\frac{K_{11} + K_{21}}{N}) + \frac{K_{12} + K_{22}}{N} log(\frac{K_{12} + K_{22}}{N}))) S=2×(H(colSum(K))+H(rowSum(K))H(K))=2×(NK11log(NK11)+NK12log(NK12)+NK21log(NK21</

警告: 无法加载工具箱路径缓存 C:\Users\Administrator\AppData\Local\MathWorks\MATLAB\R2024b\toolbox_cache-24.2.0-390930909-win64.xml。该缓存文件的格式不正确。退出 MATLAB 时将重新生成该文件。 >> help ldpcdecode --- 未找到 ldpcdecode。改为显示 ldpcDecode 的帮助。--- ldpcDecode - Decode binary LDPC code This MATLAB function decodes the input log-likelihood ratio (LLR), llr, using the LDPC matrix specified by the input ldpcDecoderConfig configuration object, decodercfg. 语法 [Y,actualnumiter,finalparitychecks] = ldpcDecode(llr,decodercfg,maxnumiter) [Y,actualnumiter,finalparitychecks] = ldpcDecode(llr,decodercfg,maxnumiter,Name=Value) 输入参数 llr - Log-likelihood ratios matrix decodercfg - LDPC decoder configuration ldpcDecoderConfig object maxnumiter - Maximum number of decoding iterations positive scalar 名称-值参数 OutputFormat - Output format 'info' (默认值) | 'whole' DecisionType - Decision type 'hard' (默认值) | 'soft' MinSumScalingFactor - Scaling factor for normalized min-sum decoding algorithm 0.75 (默认值) | scalar in the range (0, 1] MinSumOffset - Offset for min-sum decoding algorithm 0.5 (默认值) | scalar Termination - Decoding termination criteria 'early' (默认值) | 'max' Multithreaded - Enable multithreaded execution true or 1 (默认值) | false or 0 输出参数 Y - Decoded codewords matrix actualnumiter - Actual number of decoding iterations row vector finalparitychecks - Final parity checks for each codeword matrix 示例 Decode Rate 3/4 LDPC Codewords LDPC Decoding Using GPU 另请参阅 ldpcEncode, ldpcQuasiCyclicMatrix, dvbs2ldpc, ldpcDecoderConfig, ldpcEncoderConfig 已在 R2021b 中的 Communications Toolbox 中引入 ldpcDecode 的文档
03-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值