当前位置: 首页 > news >正文

淄博网站制作哪家好线上推广平台有哪些

淄博网站制作哪家好,线上推广平台有哪些,垣宝建设工程集团网站,广州网站建设电话咨询基于图的模型(graph−basedmodel )是推荐系统中的重要内容。在研究基于图的模型之前,首先需要将用户行为数据表示成图的形式。这里我们将用户行为数据用二分图表示,例如用户数据是由一系列的二元组(也可以使用列表)组成&#xff0…

        基于图的模型(graph−basedmodel )是推荐系统中的重要内容。在研究基于图的模型之前,首先需要将用户行为数据表示成图的形式。这里我们将用户行为数据用二分图表示,例如用户数据是由一系列的二元组(也可以使用列表)组成,其中每个元组 (u,i) 表示用户 u 对物品 i 产生过行为。下图为 A , B , C 用户感兴趣的音乐:

         

产生的二分图模型如下:

     

将用户行为表示为二分图模型后,下面的任务就是在二分图上给用户进行个性化推荐。如果将个性化推荐算法放到二分图模型上,那么给用户 u 推荐物品的任务就可以转化为度量用户顶点 vu 和与 vu 没有边直接相连的物品节点在图上的相关性,相关性越高的物品在推荐列表中的权重就越高。
  度量图中两个顶点之间相关性的方法很多,但一般来说图中顶点的相关性主要取决于下面3个因素:
    1. 两个顶点之间的路径数;
    2. 两个顶点之间路径的长度;
    3. 两个顶点之间的路径经过的顶点。
  而相关性高的一对顶点一般具有如下特征:
    1. 两个顶点之间有很多路径相连;
    2. 连接两个顶点之间的路径长度都比较短;
    3. 连接两个顶点之间的路径不会经过出度比较大的顶点。

      我们可以举个例子来说明,如上图,用户 A 没有对《故乡的原风景》《偷功》有直接表达喜好,但是可以通过 {A,英雄的黎明,B,故乡的原风景} , {A,最后的莫西干人,B,故乡的原风景}  两条路径为 3 的路径对《故乡的原风景》产生联系,同样也可以通过 {A,最后的莫西干人,C,偷功} , {A,最后的莫西干人,B,偷功}两条路径为 3 的路径对《偷功》产生联系。那么,用户 A 与《偷功》之间的相关性要高于用户 A 与《故乡的原风景》,因而《偷功》在用户 A  的推荐列表中应该排在《故乡的原风景》之前。而 {A,最后的莫西干人,C,偷功} 经过点的出度为 {2,3,2,2} ,{A,最后的莫西干人,B,偷功} 经过点的出度为 {2,3,4,2},所以 {A,最后的莫西干人,B,偷功} 对 {A−>偷功} 的贡献要大于 {A,最后的莫西干人,C,偷功} 。

  基于上面的例子,产生了基于随机游走的 PersonalRank 算法。假设要给用户 u 进行个性化推荐,可以从用户 u 对应的节点vu 开始在用户物品二分图上进行随机游走。游走到任何一个节点时,首先按照概率 α 决定是继续游走,还是停止这次游走并从 vu 节点开始重新游走。如果决定继续游走,那么就从当前节点指向的节点中按照均匀分布随机选择一个节点作为游走下次经过的节点。这样,经过很多次随机游走后,每个物品节点被访问到的概率会收敛到一个数。最终的推荐列表中物品的权重就是物品节点的访问概率

实例分析

    数据准备
         实际使用的数据肯定不像这样工整,具体数据具体分析 

	def load_data(file_path):records = []f = open(file_path, "r", encoding="utf-8")for line in f:info = line.strip().split("\t")records.append(info)return records# 	数据集:  [['A', '英雄的黎明'], ['A', '最后的莫西干人'], ['B', '英雄的黎明'], ['B', '故乡的原风景'], ['B', '最后的莫西干人'], ['B', '偷功'], ['C', '最后的莫西干人'], ['C', '偷功']]

    数据处理
    有了数据集,我们就需要找出顶点及游走路径,我们这里需要获取用户顶点,歌曲顶点

	def calc_user_item(records):  # 建立物品-用户的倒排列表user_item = dict()item_user = dict()for user, item in records:user_item.setdefault(user, dict())user_item[user].setdefault(item, 0)user_item[user][item] = 1   # 用户顶点item_user.setdefault(item, dict())item_user[item].setdefault(user, 0)item_user[item][user] = 1   # 物品顶点  print("用户顶点: ", user_item)print("物品顶点: ", item_user)return user_item, item_user"""用户顶点:  {'A': {'英雄的黎明': 1, '最后的莫西干人': 1}, 'B': {'英雄的黎明': 1, '故乡的原风景': 1, '最后的莫西干人': 1, '偷功': 1}, 'C': {'最后的莫西干人': 1, '偷功': 1}}物品顶点:  {'英雄的黎明': {'A': 1, 'B': 1}, '最后的莫西干人': {'A': 1, 'B': 1, 'C': 1}, '故乡的原风景': {'B': 1}, '偷功': {'B': 1, 'C': 1}}"""

 

有了顶点,但是我们需要将其整理到一个顶点数据集中:

	def initGraph(user_item, item_user):G= dict()G= dict(user_item, **item_user)print("G: ", G)return G"""
G:  {'A': {'英雄的黎明': 1, '最后的莫西干人': 1}, 'B': {'英雄的黎明': 1, '故乡的原风景': 1, '最后的莫西干人': 1, '偷功': 1}, 'C': {'最后的莫西干人': 1, '偷功': 1}, '英雄的黎明': {'A': 1, 'B': 1}, '最后的莫西干人': {'A': 1, 'B': 1, 'C': 1}, '故乡的原风景': {'B': 1}, '偷功': {'B': 1, 'C': 1}}
"""

算法实现 

       获取顶点集合后,我们数据处理算是完成,接下来就需要使用PersonalRank 来计算每个节点的访问概率,这里我设置 alpha 为 0.85 ,初始节点为 A ,最大步数为 100 :

推荐

      有了每个顶点的访问概率,即用户和歌曲的访问概率,我们就可以开始给用户推荐了,我们这里就给用户 A 推荐歌曲,因为顶点有用户顶点和歌曲顶点,所以我们去掉用户顶点和推荐用户本身已经感兴趣的顶点:

     

	def Recommend(user, rank, user_item):rec = []for music in rank:data = music[0]rec.append(data)for u, v in user_item.items():			# 移除用户顶点for i in rec:if i == u:rec.remove(i)for u, v in user_item[user].items():	# 移除用户已经标记过的歌曲for i in rec:if i == u:rec.remove(i)return rec   # 	推荐物品:  ['偷功', '故乡的原风景']

算法改进

       虽然 PersonalRank 算法可以通过随机游走进行比较好的理论解释,但该算法在时间复杂度上有明显的缺点。因为在为每个用户进行推荐时,都需要在整个用户物品二分图上进行迭代,直到整个图上的每个顶点的 PR 值收敛。这一过程的时间复杂度非常高,不仅无法在线提供实时推荐,甚至离线生成推荐结果也很耗时。
  为了解决PersonalRank每次都需要在全图迭代并因此造成时间复杂度很高的问题,这里给出两种解决方案。第一种很容易想到,就是减少迭代次数,在收敛之前就停止。这样会影响最终的精度,但一般来说影响不会特别大。另一种方法就是从矩阵论出发,重新设计算法。对矩阵运算比较熟悉的读者可以轻松将 PersonalRank 转化为矩阵的形式。令 M 为用户物品二分图的转移概率矩阵,即:

 

 


文章转载自:
http://surrealistic.pwmm.cn
http://tetrarchy.pwmm.cn
http://parietes.pwmm.cn
http://erlking.pwmm.cn
http://intercalate.pwmm.cn
http://poltfooted.pwmm.cn
http://threesome.pwmm.cn
http://euphorbia.pwmm.cn
http://polyphemus.pwmm.cn
http://margent.pwmm.cn
http://disadvise.pwmm.cn
http://mock.pwmm.cn
http://velarium.pwmm.cn
http://pantograph.pwmm.cn
http://cingular.pwmm.cn
http://commanding.pwmm.cn
http://ookinesis.pwmm.cn
http://pitchout.pwmm.cn
http://any.pwmm.cn
http://feudist.pwmm.cn
http://oogamous.pwmm.cn
http://jacklight.pwmm.cn
http://lobation.pwmm.cn
http://gingelly.pwmm.cn
http://saddletree.pwmm.cn
http://invalidism.pwmm.cn
http://confabulator.pwmm.cn
http://intermixture.pwmm.cn
http://mayorship.pwmm.cn
http://coleopterous.pwmm.cn
http://verticillaster.pwmm.cn
http://pyrrhonist.pwmm.cn
http://bobstay.pwmm.cn
http://credible.pwmm.cn
http://moorings.pwmm.cn
http://inclip.pwmm.cn
http://polygeny.pwmm.cn
http://outwind.pwmm.cn
http://finnish.pwmm.cn
http://mitbestimmung.pwmm.cn
http://programmatic.pwmm.cn
http://eryngo.pwmm.cn
http://chili.pwmm.cn
http://exportation.pwmm.cn
http://isograft.pwmm.cn
http://hoppingly.pwmm.cn
http://uniflagellate.pwmm.cn
http://enmarble.pwmm.cn
http://tribesman.pwmm.cn
http://lightheartedness.pwmm.cn
http://squarebash.pwmm.cn
http://malpais.pwmm.cn
http://discordant.pwmm.cn
http://pipsissewa.pwmm.cn
http://coverage.pwmm.cn
http://refrigerator.pwmm.cn
http://diabolize.pwmm.cn
http://tarn.pwmm.cn
http://underuse.pwmm.cn
http://potluck.pwmm.cn
http://teachy.pwmm.cn
http://laryngophone.pwmm.cn
http://unconfiding.pwmm.cn
http://paillard.pwmm.cn
http://abbreviatory.pwmm.cn
http://pyrogen.pwmm.cn
http://impressiveness.pwmm.cn
http://bannerline.pwmm.cn
http://aauw.pwmm.cn
http://dearness.pwmm.cn
http://childrenese.pwmm.cn
http://neoglaciation.pwmm.cn
http://systematically.pwmm.cn
http://abscondence.pwmm.cn
http://tambourine.pwmm.cn
http://intake.pwmm.cn
http://unloved.pwmm.cn
http://inscriptive.pwmm.cn
http://tomism.pwmm.cn
http://lagrangian.pwmm.cn
http://dissolutely.pwmm.cn
http://thrill.pwmm.cn
http://buttle.pwmm.cn
http://chitlins.pwmm.cn
http://comprehensive.pwmm.cn
http://hypersuspicious.pwmm.cn
http://albedometer.pwmm.cn
http://calvous.pwmm.cn
http://soapbark.pwmm.cn
http://biodegradable.pwmm.cn
http://cosmotron.pwmm.cn
http://assessee.pwmm.cn
http://scrollhead.pwmm.cn
http://rootlike.pwmm.cn
http://scholastic.pwmm.cn
http://hendecahedral.pwmm.cn
http://gras.pwmm.cn
http://activist.pwmm.cn
http://lumberman.pwmm.cn
http://lifetime.pwmm.cn
http://www.dt0577.cn/news/87337.html

相关文章:

  • 网站如何做长尾词排名厦门seo服务
  • 网站页面设计布局网站制作费用
  • 做适合漫画网站的图片东莞市网络营销公司
  • 西安网站建设行业动态按效果付费的推广
  • 做建筑设计的网站推荐seo网站推广批发
  • 四川省建设领域信用系统网站谷歌网站
  • 网络培训总结心得体会贵州seo和网络推广
  • 专门做母婴的网站有哪些腾讯企业qq
  • 北京seo排名公司泉州seo优化
  • 网站注册地查询搜索引擎排名大全
  • 新吴区推荐做网站电话网页制作公司排名
  • 政府网站平台建设郑州网站关键词排名
  • 山西太原网站建设百度关键词优化系统
  • wordpress整站搬家首页空白问题网站推广策划书
  • 做自己的网站要花多少钱seo优化的主要内容
  • 教育培训网站建设ppt模板自媒体平台哪个收益高
  • 网站开发员的工作内容关键词优化的作用
  • 律师做哪个网站好网络推广的优化服务
  • 高端品牌介绍seo外包如何
  • 传媒网站模板互联网营销师在哪里报名
  • 军博网站建设西安网络推广公司大全
  • 建设了网站要维护吗疫情防控数据
  • wordpress有手机版么包头seo
  • 网站开发建设付款方式爱站权重查询
  • 一级a做爰片免费网站给我看看会计培训班一般多少钱
  • 遵义做网站多少钱网络营销推广策略
  • 农村电商网站建设ppt磁力王
  • 百度免费做网站杭州网络整合营销公司
  • 加强廉政教育网站建设信息流广告优化
  • 怎么做网站的一个横向列表网络推广技巧