两层算法
‘壹’ stacking集成算法能有几层
不限,但是很多情况下,两层的效果是相对比较好的,多层反而不好。在不同的数据集上多做实验试一下。
‘贰’ 微博最常访问算法
基础及关联算法
这一层算法的主要作用是为微博推荐挖掘必要的基础资源、解决推荐时的通用技术问题、完成必要的数据分析为推荐业务提供指导。
这一部分中常用的算法和技术如下:
分词技术与核心词提取
是微博内容推荐的基础,用于将微博内容转化为结构化向量,包括词语切分、词语信息标注、内容核心词/实体词提取、语义依存分析等。
分类与 anti-spam
用于微博内容推荐候选的分析,包含微博内容分类和营销广告/色情类微博识别;
内容分类采用决策树分类模型实现,共 3 级分类体系,148 个类别;营销广告/色情类微博的识别,采用贝叶斯与最大熵的混合模型。
聚类技术
主要用于热点话题挖掘,以及为内容相关推荐提供关联资源。属于微博自主研发的聚类技术 WVT 算法(word vector topic),依据微博内容特点和传播规律设计。
传播模型与用户影响力分析
开展微博传播模型研究和用户网络影响力分析(包含深度影响力、广度影响力和领域内影响力)。
主要推荐算法
1. Graph-based 推荐算法
微博具有这样的特点:用户贡献内容,社会化途径传播,带来信息的爆炸式传播。之所以称作 graph-based 推荐算法,而不是业界通用的 memory-based 算法,主要原因在于:
我们的推荐算法设计是建立在社交网络之上,核心点在于从社交网络出发,融入信息传播模型,综合利用各类数据,为用户提供最佳的推荐结果;比如很多时候,我们只是信息传播的关键环节,加入必要的推荐调控,改变信息传播通路,后续的传播沿着原来的网络自然的传播。
Feed 流推荐(我们称作趋势),是我们最重要的产品,而结果必须包含用户关系。
从 graph 的宏观角度看,我们的目标是建立一个具有更高价值的用户关系网络,促进优质信息的快速传播,提升 feed 流质量;其中的重要工作是关键节点挖掘、面向关键节点的内容推荐、用户推荐。
对这部分的算法做相应的梳理,如下面的表格:
这样利用 content-based 很好的解决了冷启动的问题,又充分发挥了 user-based CF 的作用,实现1+1>2 的效果。
分层模型混合:
很多情况下,一个模型无法很好的得到想要的效果,而分层组合往往会取得比较好的效果,分层模型混合即“将上一层模型的输出作为下层模型的特征值,来综合训练模型,完成推荐任务“。比如我们在做微博首页右侧的 ctr 预估排序时,采用分层逻辑回归模型,解决了不同产品间特征天然缺失与样本量差异、曝光位置带来的效果偏差等问题。