推荐系统的设计中,有哪些常见的设计模式

说的是面向对象的设计吧 这时候扩展性主要是参数的可扩展 可以分为CF或者说graph或者FM等,让usercf和itemCF共用CF一套参数和数据(公共的部分在CF中实现)这样扩展,graph设置迭代次数等其他参数,fm设置latent factor num 等,另外,Similarity的计算一样可以抽象出来.............等。不过到了单机没法存储的时候,上面都是扯淡.........-----------也不完全是扯淡...代码的设计模式变成了mapreduce job的调度模式..........
■网友
现在比较通用的模式其实是走Learning to Rank的形式,也就是把整个问题看做一个Supervised Learning的问题,然后通过Learning to Rank已经常用的一些手段来做优化。在这个框架下,所有其他Model的结果都可以做为Feature,添加到Learning to Rank的模型中。
■网友
【推荐系统的设计中,有哪些常见的设计模式】 做什么模式,是取决你做什么产品,用户是谁,放在哪个位置等一系列业务问题的。好好看看你手上的数据,分析下这些数据的分布构成,看看适合走哪种模式。
比如:
长视频首页猜你喜欢,长尾效应其实不是特别,这里走协同过滤效果不会比实时热度好多少。而如果是电商类首页猜你喜欢,估计重定向效果比什么cf,fm,lr要强吧。

■网友
看了还看(item 相关性):条件概率;关联规则;协同过滤;文本相关性;猜你喜欢:协同过滤


    推荐阅读