推荐系统中的策略与算法互补

推荐系统中的策略与算法互补
算法可以做全局排序,但是一刷的推荐位的数量是固定的,有限的,那么如何保证一刷的之中内容的多样性呢?先从排序结果中依次挑出一些能代表一个或者几个维度(从大到小的几个维度)的元素,然后按照打散规则(比如不同作者相互隔开)的规则打散。算法能解决排序问题,作为互补,多样性和打散策略可以在顺序的基础上做一些体验上的丰富性和展现上的美观

更好的解决方法是:算法也算好每个位置应该放什么样式的文章以及一刷中每类文章的比例;

原文地址:https://www.cnblogs.com/big1987/p/11287639.html

时间: 2024-08-30 03:49:50

推荐系统中的策略与算法互补的相关文章

推荐系统中召回策略

推荐系统一般分为两个阶段,即召回阶段和排序阶段.召回阶段主要是从全量的商品库中得到用户可能感兴趣的一小部分候选集,排序阶段则是将召回阶段得到的候选集进行精准排序,推荐给用户. 推荐系统中几种常用的召回策略.主要有协同过滤.向量化召回和阿里最近在Aicon中提到的深度树匹配模型. 1.协同过滤 协同过滤主要可以分为基于用户的协同过滤. 基于物品的协同过滤.基于模型的协同过滤(如矩阵分解) 1.1 基于用户的协同过滤(userCF) 基本思想:当召回用户A的候选集时,可以先找到和他有相似兴趣的其他用

推荐系统中常用算法 以及优点缺点对比

推荐系统中常用算法 以及优点缺点对比 在 推荐系统简介中,我们给出了推荐系统的一般框架.很明显,推荐方法是整个推荐系统中最核心.最关键的部分,很大程度上决定了推荐系统性能的优劣.目前,主要的推荐方法包括:基于内容推荐.协同过滤推荐.基于关联规则推荐.基于效用推荐.基于知识推荐和组合推荐. 一.基于内容推荐 基于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机 器

查找有向图中所有圈的算法加速策略

简介 有向图G(V,E),圈是一个起始节点与终止节点相同的路径,即 a->….->a.找到所有的圈可能要遍历所有的路径,这就涉及到算法性能的考虑.本文基于深度优先搜索,讨论查找所有圈的算法加速策略. 无向图的查圈算法 深度优先搜索算法是从已知节点出发,图的一种遍历算法.只要一个节点被同源两个路径访问,这两个路径则形成一个圈.因为每个节点只处理一次,所以时间与空间复杂度都是O(N).其算法如下: DFS(a) for undirected graph stack.push(a) while no

转:【总结】推荐系统中常用算法 以及优点缺点对比

转:http://www.sohu.com/a/108145158_464065 在推荐系统简介中,我们给出了推荐系统的一般框架.很明显,推荐方法是整个推荐系统中最核心.最关键的部分,很大程度上决定了推荐系统性能的优劣.目前,主要的推荐方法包括:基于内容推荐.协同过滤推荐.基于关联规则推荐.基于效用推荐.基于知识推荐和组合推荐. 一.基于内容推荐 基 于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要

网站中主要的推荐算法

所谓推荐算法就是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西. 在推荐系统简介中,我们给出了推荐系统的一般框架.很明显,推荐方法是整个推荐系统中最核心.最关键的部分,很大程度上决定了推荐系统性能的优劣.目前,主要的推荐方法包括:基于内容推荐.协同过滤推荐.基于关联规则推荐.基于效用推荐.基于知识推荐和组合推荐. 一.基于内容推荐 基于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依

矩阵分解在推荐系统中的应用

矩阵分解是最近几年比较火的算法,经过kddcup和netflix比赛的多人多次检验,矩阵分解可以带来更好的结果,而且可以充分地考虑各种因素的影响,有非常好的扩展性,因为要考虑多种因素的综合作用,往往需要构造cost function来将矩阵分解问题转化为优化问题,根据要考虑的因素为优化问题添加constraints,然后通过迭代的方法进行矩阵分解,原来评分矩阵中的missing vlaue可以通过分解后得到的矩阵求的. 本文将简单介绍下最近学习到的矩阵分解方法. (1)PureSvd 怎么评价这

从“假如有以下几种价格10,20,50,请你代码实现将他们排序输出”看着设计模式中的策略模式

今天重温了一下策略模式,将自己的一些感悟与大家分享...本人只是技术渣渣,所理解的东西的难免会有很大的局限性甚至是错误,还请各位带着批判的眼光去看待....不喜请勿吐槽 定义:策略模式属于设计模式中的对象行为型模式,它将用到的算法单独抽象成一个单独的类.通常,我们在多个类完成同一件事情,仅仅完成的方式不同时,我们可以考虑使用这种设计模式. 举例:相信,很多人在看到"假如有以下几种价格10,20,50,请你代码实现将他们排序输出"这种题目的时候,很快就写出了以下代码,写之前还不忘了问一下

JAVA中的策略模式strategy

原文出自:http://ttitfly.iteye.com/blog/136467 1. 以一个算术运算为例,传统做法为: java 代码 package org.common; public class Calculate { public String getResult(float a,float b,char c){ float add = a+b; float sub = a-b; float mult = a*b; float division = a/b; switch(c){ c

SVD在推荐系统中的应用与实现(c++)

主要参考论文<A Guide to Singular Value Decomp osition for Collab orative Filtering> 其实一开始是比较疑惑的,因为一开始没有查看论文,只是网上搜了一下svd的概念和用法,搜到的很多都是如下的公式:其中假设C是m*n的话,那么可以得到三个分解后的矩阵,分别为m*r,r*r,r*n,这样的话就可以大大降低存储代价,但是这里特别需要注意的是:这个概念一开始是用于信息检索方面的,它的C矩阵式完整的,故他们可以直接把这个矩阵应用svd