清澈如初|个性化推荐算法(推荐系统)概要(12)


清澈如初|个性化推荐算法(推荐系统)概要上图中x1 , x2 , ... 代表的是训练样本1 , 2 , ... 的特征 , y1 , y2 , s1 , ... 等是训练集的label(目标函数值) 。 pointwise学习单个样本 , 如果最终预测目标是一个实数值 , 就是回归问题 , 如果目标是概率预测 , 就是一个分类问题 , 例如CTR预估 。 pairwise和listwise分别学习一对有序对和一个有序序列的样本特征 , 考虑得更加精细 。 在推荐系统中常用pointwise方法来做排序 , 它更直观 , 易于理解 , 也更简单 。
常用的排序学习算法有logistic回归、GBDT、Wide & Deep等 , 这里对这些算法的实现原理做一个简单描述 。
1. logistic回归模型
logistic回归是比较简单的线性模型 , 通过学习用户点击行为来构建CTR预估 。 利用logistic回归构建推荐算法模型 , 具体模型如下面公式 。
其中 ,是用户喜欢某个标的物的概率;
是权重 , 是需要学习的模型参数;
是特征i的值 , 特征如上面所述 , 有5大类可用特征 。
我们可以通过上述公式计算待推荐标的物的p值 。 最终我们可以按照p值的大小降序排列来对召回的标的物列表做排序 。
在工业界 , 为了更好地将该模型应用到真实业务场景中 , 很多公司对logistic回归模型做了推广 。 比如用到在线实时推荐场景中做排序 , 有Google在2013年推广的FTRL(见参考文献14) , 以及阿里推广的分片线性模型(见参考文献13) 。
2. GBDT模型
GBDT(Gradient Boosting Decision Tree)是一种基于迭代思路构造的决策树算法(可以参考文献15) , 该算法在实际问题中将生成多棵决策树 , 并将所有树的结果进行汇总来得到最终答案 , 该算法将决策树与集成思想进行了有效的结合 , 通过将弱学习器提升为强学习器的集成方法来提高预测精度 。 GBDT是一类泛化能力较强的学习算法 。
2014年Facebook发表了一篇介绍将GBDT+LR(Logistic Regression)模型用于其广告CTR预估的论文(参考文献16) , 开启了利用GBDT模型应用于搜索、推荐、广告业务的先河 。 GBDT作为一种常用的树模型 , 可天然地对原始特征进行特征划分、特征组合和特征选择 , 并得到高阶特征属性和非线性映射 。 从而可将GBDT模型抽象为一个特征处理器 , 通过GBDT分析原始特征获取到更利于LR分析的新特征 , 这也正是GBDT+LR模型的核心思想——利用GBDT构造的新特征来训练LR模型 。
3. Wide & deep模型
Wide&deep模型最早被Google提出来 , 并用于Android手机应用商店上APP的推荐排序 。 目前该算法在国内很多互联网企业得到大规模的采用 , 有比较好的效果 。 该模型将传统模型和深度学习模型相结合 。 wide部分(传统模型 , 如logistic回归)起记忆(memorization)的作用 , 即从历史数据中发现item(推荐内容)或者特征之间的相关性 , deep部分(深度学习模型)起泛化(generalization)的作用 , 即相关性的传递 , 发现在历史数据中很少或者没有出现的新的特征组合 , 寻找用户的新偏好 。 通过将这两个模型结合起来可以更好地在用户的历史兴趣和探索新的兴趣点之间做到平衡 。 感兴趣的读者可以阅读参考文献12 。
评估指标: 包括:在线评估指标和离线评估指标
清澈如初|个性化推荐算法(推荐系统)概要四、推荐算法落地需要关注的几个问题前面几节对推荐系统算法和产品做了初步描述 , 相信大家对常用算法实现思路、怎么用于真实产品中有了比较直观的认识 。 在本节作者对算法落地中几个重要问题加以说明 , 以便你可以更好地将推荐算法落地到真实业务场景中 。


推荐阅读