AUC 是一个对分类器预测数值不敏感的指标,具有比较好的稳定性,也因此成为推荐系统中最常用的模型离线指标之一。但是就这个如此常见的指标,很多人对它也只是一知半解,知道该用它,也知道调用函数去计算它,但是对它的计算过程、它还有哪些用处,却知之甚少。这篇文章就再唠叨一下 AUC 的概念、计算过程以及它如何应用于特征选择上。
DICM with AMS 论文精读
论文引用: Ge, Tiezheng , et al. “Image Matters: Visually modeling user behaviors using Advanced Model Server.” (2018).
本文是阿里发表在 CIKM 2018 上的文章,主要思路是将用户历史有过行为 (文章实际使用了点击行为) 的图片来对用户视觉兴趣进行建模,在广告 CTR 预估时就能够估计用户对广告图片的喜好,从而提升 CTR 预估的准确率。由于用户在商品页面行为历史通常较为丰富,因此训练样本中会包含大量的图片特征,这些特征使用传统的 PS 架构无法有效训练,因此文章提出了 AMS (Advanced Model Server) 架构,能够平衡存储和通信开销,使得天级更新模型成为可能。这篇文章主要的贡献也是在工程实现方面。
MMoE-PosBias 论文精读
论文引用: “Recommending what video to watch next: a multitask ranking system.” Proceedings of the 13th ACM Conference on Recommender Systems. ACM, 2019.
本文是 Youtube 发表在 RecSys 2019 上的文章,主要解决的问题是提升用户的总体满意度,同时减少推荐造成的用户选择偏差对推荐系统的影响。解决这些问题主要的挑战在于:
- 视频推荐中包含多个可能互相冲突的目标,难以权衡。视频推荐的目标大体可以分为 engagement objectives (例如点击、播放等)、satistaction objective (例如点赞、收藏、不喜欢等),这两类目标可能有冲突,例如用户点赞的视频可能是他比较喜欢的严肃的视频,但是用户真正播放的视频可能是一些娱乐性比较强的。
- 推荐系统会引入一些隐式的偏差,尤其是推荐位置导致的用户选择偏差。用户往往倾向于点位置靠前的视频,而这些视频可能并不是用户真实喜欢的视频。如果推荐模型使用带偏差的用户行为日志进行训练,会进一步强化这种偏差,导致恶性循环。
- 多模态特征。多模态特征包括语音、视频 、图像、文本、ID 类特征、连续型特征等。使用多模态的特征有助于信息互补,例如我们希望对低层次内容特征进行映射来跨越语义鸿沟、用于基于内容的过滤;同时将稀疏分布的 ID 类特征用于协同过滤等。
- 可扩展性。模型需要考虑线下训练和线上服务的性能,因此在保证学习效果的情况下,尽可能使用简单易扩展的网络架构。
MMoE 论文精读
论文引用: Ma, Jiaqi , et al. “Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts.” the 24th ACM SIGKDD International Conference ACM, 2018.
本文是 Google 发表在 KDD 2018 的论文,不过感觉少了一些工程的加持,内容略显单薄。文章主要提出了一种多专家子网的结构,显式的从数据中学习多个任务之间的关系,并能够通过门限网络对每个任务进行单独的优化。与传统的 share-bottom 结构相比,这种结构在任务之间关联较弱时,仍然能够取得比较好的效果。
ESMM 论文精读
论文引用: Ma, Xiao, et al. “Entire space multi-task model: An effective approach for estimating post-click conversion rate.” The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. ACM, 2018.
本文是阿里发表在 SIGIR 2018 年的短文,主要解决了精确预估 CVR 的问题。
效率提升 10 倍的各种配置
由于工作经常会更换机器、更换环境,有时候一个机器用惯了,换了一台机器都不记得自己之前是怎么配置的了。为了防止老年痴呆阻止我配置好看的工作环境,我决定把所有喜欢的配置都记录在这里,可能有点乱。
例解共轭分布之视频质量评估
在推荐领域阅读文献的时候,我们常常会遇到共轭分布、共轭先验 (conjugate prior) 之类的概念。由于共轭这个翻译实在不太直观,因此这些概念也很难理解,我想结合两个视频推荐中的例子来尝试说明这些概念。今天先介绍视频质量评估的例子。
常用的特征选择方法之 Kendall 秩相关系数
前面我们已经讨论了 Pearson 相关系数和 Spearman 秩相关系数,它们可以检测连续变量间的相关性,并且 Spearman 秩相关系数还能够检测有序的离散变量间的相关系数。今天我们再讨论一个能够检测有序变量相关性的系数:Kendall 秩相关系数。这里有序变量既包括实数变量,也包括可以排序的类别变量,比如名次、年龄段等。
常用的特征选择方法之 Spearman 秩相关系数
上一篇里,我们简单的介绍了基于 Pearson 相关系数的特征选择方法,本篇介绍另一种使用更加广泛的相关系数:Spearman 秩相关系数,简称 Spearman 相关系数。Spearman 相关系数与 Pearson 相关系数、Kendall 相关系数并称统计学三大相关系数,足见其重要性。
有了 Pearson 相关系数,为什么还要用 Spearman 相关系数呢,主要是 Pearson 系数只能度量两个服从正态分布的变量之间线性相关性的强弱 (如果不熟悉可以回顾一下上一篇的介绍),而 Spearman 系数只度量单调关系,而不考虑具体数值的影响,因此 Spearman 相关系数的应用范围更广,不仅对数据分布不作任何假设,能够容忍异常值,也不需要数据的取值是等距的(例如比赛中,第 1 名和第 2 名的距离与第 2 名和第 3 名的距离是不等的),因此除非是考虑性能的影响,能用 Pearson 系数的地方都能用 Spearman 系数。
常用的特征选择方法之 Pearson 相关系数
众所周知,特征选择是机器学习活动至关重要的一步。最理想的情况下,我们把所有影响目标的独立因素给找出来,然后使用合适的量化手段,就能够得到完美描述目标问题的特征列表,用这些特征去建立合适容量的模型,这样的模型能够完美的匹配我们要解决的任务。
但是实际上这种想法太难实现了,我们往往只能从已有的数据出发,通过一些特征变换和组合得到一些原始特征,然后从这些原始特征中选出与目标相关的特征。
随着深度网络的崛起,越来越多的未经复杂变换的原始特征被加入到了深度网络中,大家期待有用的特征能够被自动的抽取和组合出来。但是这并不意味着特征工程就不需要了,推荐系统的大牛 Xavier 在技术博客《Rules of Machine Learning: Best Practices for ML Engineering》中提到很多关于特征工程的建议,非常值得一读,其中包含的思想就是特征是随着系统的优化进程而逐步添加的,并非一蹴而就,要始终保证特征的简单、直观、可复用、可监控和可靠性,这意味着我们需要时常对系统中存量特征做测试和筛选。
特征选择通常有过滤法(Filter)、打包法(Wrap)和嵌入法(Embed),其中,后两者都是与模型相关的,需要具体问题具体对待,而过滤法是指对特征进行预处理,提前过滤掉一些对目标无益(即对模型无益)的特征,它只考虑任务目标,而与模型无关。