解决推荐系统明显的多样准确性问题学习笔记

解决推荐系统明显的多样准确性问题学习笔记

解决推荐系统明显的多样准确性问题学习笔记


前言

本篇文章仅仅是本人在学习推荐算法的过程中学习《Solving the apparent diversity-accuracy》的个人理解和学习记录,如有错误欢迎指正


提示:以下是本篇文章正文内容

一、摘要部分

主要讲述了文章中涉及到的知识点,即混合算法、信息过滤、热扩散、概率扩散、二部图网络和个性化推荐

二、主要内容

  1. 提出问题
    提出过于注重多样性而忽视相似性的算法会影响准确性,从而引入专门针对多样性挑战的heat-spreading算法,最后提出了基于热扩散的高效混合推荐算法

  2. 分别介绍HeatsProbs算法
    Heats算法:
    在这里插入图片描述
    工作原理:将对象分配的矢量f表示的初始级别“资源”

实现代码:

def Heats(U,O,root,max_depth):
    u=dict()
    o=dict()
    o={x:0 for x in O.keys()}
    name=U[root].keys()
    for i in name:
        o[i]=1.0
    for k in range(max_depth):
        u={x:0 for x in U.keys()}
        for i,pp in U.items():
            for j,w in pp.items():
                u[i]=u[i]+o[j]/len(pp)
        o={x:0 for x in O.keys()}
        for i,pp in O.items():
            for j,w in pp.items():
                o[i]=o[i]+u[j]/len(pp)
    #print(o)
    lst=sorted(o.items(),key=lambda x:x[1],reverse=True)
    #print(lst)
    result=[]
    for i in range(150):
        res=lst[i][0]
        if res not in U[root]:
            result.append(res)
	Probs算法:

在这里插入图片描述
实现代码:

def Probs(U,O,root,max_depth):
    u=dict()
    o=dict()
    o={x:0 for x in O.keys()}
    name=U[root].keys()
    for i in name:
        o[i]=1.0
    for k in range(max_depth):
        u={x:0 for x in U.keys()}
        for i,jw in O.items():
            for j,w in jw.items():
                u[j]=u[j]+o[i]/len(jw)
        o={x:0 for x in O.keys()}
        for i,jw in U.items():
            for j,w in jw.items():
                o[j]=o[j]+u[i]/len(jw)
    #print(o)
    lst=sorted(o.items(),key=lambda x:x[1],reverse=True)
    #print(lst)
    result=[]
    for i in range(150):
        res=lst[i][0]
        if res not in U[root]:
            result.append(res)
	后续内容会尽快加入
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值