【.com原稿】阿里妈妈是一个大数据平台,想让世界轻松做营销。拥有阿里巴巴集团的核心业务数据。在这里,超过50亿的推广流量每天完成超过3亿种产品的推广展示,覆盖率高达98%的网民,实现一站式接入数字媒体(PC端+无线端+互联网电视端)。在这些亮眼的数据背后,究竟有怎样的核心算法在起作用?如何保证商家的产品得到最有效的推荐?本文将为大家详细讲解阿里妈妈CTR预估核心算法MLR的研发背景和应用实践。1.关键词知识点击率CTR(Click-Through-Rate),是指网络广告(图片广告/文字广告/关键词广告/排名广告/视频广告等)的点击率,即广告的实际点击次数除以广告的展示次数。点击率预测(CTR)是主流互联网应用(广告、推荐、搜索等)的核心算法问题。CTR预估是互联网计算广告中的关键技术环节,预估的准确性直接影响商家的广告收入。广告领域的CTR预估面临着超高维离散特征空间中模式发现的挑战,即如何在可泛化的同时拟合已有数据的规律。2.CTR预测方法传统的CTR预测方法和非线性模型都存在不足。业界传统的CTR预估方案是广义线性模型LR(logisticregression,逻辑回归)+人工特征工程。LR使用Logit变换将函数值映射到0~1区间,映射后的函数值就是CTR的预估值。LR的线性模型易于并行化,处理数亿训练样本不成问题。但该方案的缺点是线性模型的学习能力有限,需要引入大量的领域知识,人工设计特征和特征之间的交叉组合,间接补充算法的非线性学习能力,耗费了大量的人力和机器资源。不够友好。此外,业界不断提出一些效果较好的非线性模型,并在工程中进行了实践并取得了较好的效果,但这些模型或多或少存在不足。Kernel方法复杂度高,不易实现。2014年Facebook团队首先提出的Treebased方法,有效解决了LR模型的特征组合问题,但缺点仍然是历史行为的记忆,泛化能力不足。FM(factorizationmachine)模型可以自动学习高阶属性的权重,不需要手动选择特征进行交叉,但是FM模型只能拟合特定的非线性模型,比如最常用的2阶FM只能拟合线性和特征之间的二次关系。深度神经网络的非线性拟合能力足够强,但面对广告等大规模工业级稀疏数据,业界仍在探索适合数据规则且具有泛化能力的网络结构,尤其是对实现端到端的规模化,技术挑战还是很大的。那么,挑战来了,如何设计算法来从大规模数据中挖掘可泛化的非线性模式?阿里妈妈自主研发的MLR算法,是针对上述算法的不足,结合商家的实际需求。2011-2012年,阿里妈妈资深专家盖坤(昵称京师)突破主流大规模线性模型思维,提出MLR(mixedlogisticregression,混合逻辑回归)算法,为广告CTR预估算法带来全新升级场地。MLR算法基于数据自动发现可泛化模式,直接学习原始空间中特征之间的非线性关系,相比人工提高了效率和准确性。MLR可以看作是LR的自然延伸。它采用分而治之的思想,用分段线性模型来拟合高维空间的非线性分类面。其形式化表达如下:这里,超参数块的个数m可以更好地平衡模型的拟合和泛化能力。当m=1时,MLR退化为普通LR。m越大,模型的拟合能力越强,但模型参数的规模随m线性增加,所需的训练样本也相应增加。因此在实际应用中,需要根据实际情况选择m,一般m设置为12。下图中,MLR模型完美拟合了4片数据中的菱形分类面。MLR算法适用于工业规模的大规模稀疏数据场景,其优势体现在两个方面:端到端的非线性学习:从模型端自动挖掘隐藏在数据中的非线性模式,节省了大量的人工特征设计,可以端到端的进行训练,使得在不同场景下的迁移和应用变得容易。稀疏性:MLR在建模中引入和范数正则化,使得最终训练出来的模型具有更高的稀疏性,模型的学习和在线预测性能更好。MLR算法的高级特性在具体的实际应用中,阿里妈妈精准定位团队进一步开发了MLR算法的多种高级特性,主要包括:结构先验。基于先验领域知识,可以灵活设置用于空间划分和线性拟合的不同特征结构。它有助于帮助模型缩小对解决方案空间的探索并更轻松地收敛。例如,精准定向广告中的有效先验是:划分用户特征空间,将广告特征作为线性拟合。符合人们的常规认知:不同人群具有聚类特征,同一人群对广告的偏好相似,比如高消费人群喜欢点击单价高的广告。线性偏差。该特性为解决CTR预估问题中的偏差特征提供了更好的方法,例如位置、资源位置等。在实际应用中,工程师通过对位置偏差信息进行建模,获得了4%RPM提升效果。模型级联。MLR支持与LR模型进行级联联合训练,有点类似于wide&deeplearning。级联模式配置了一些强大的特征,有助于提高模型的收敛性。典型的应用方法是:构建具有统计反馈特征的第一层模型,其输出(下图中的FBTr)级联到第二层大规模稀疏ID特征系统,可以获得更好的提升效果。增量训练。MLR通过结构先验进行预训练,然后增量进行全空间参数优化训练,会进一步提升效果。同时,在增量训练模式下,模型达到收敛的步数更小,收敛更稳定。在阿里妈妈的实际应用中,增量训练带来的RPM增益达到了3%。MLR算法的大规模分布式实现面向工业级数据,如亿级特征、百亿样本等。因此,工程师设计了分布式架构来支持模型的高效并行训练。下图是架构示意图,与传统的参数服务器架构略有不同。主要区别是worker和server两个角色同时部署在每个分布式节点上,而不是分离server单独部署。这样做是为了充分利用每个节点的CPU和内存,从而保证机器的资源利用率最大化。此外,针对个性化广告场景下数据的结构化特点,他们提出并实现了一个通用的featuretrick,可以大大压缩样本存储,加速模型训练。如下图,在展示广告中,一个用户一天会看到多个广告,一天内这个用户的大量静态特征(比如年龄、性别、昨天之前的历史行为)是相同的,通过普通特征压缩,阿里妈妈只需要为这些样本存储用户的静态特征一次,其余样本通过索引关联起来;在训练过程中,这些特征只需要计算一次。在实践中,他们应用了常见的特征技巧,使用与以前相比近1/3的资源消耗获得了12倍的加速。3.业务应用实践2013年以来,MLR算法在阿里妈妈及阿里妈妈集团多个BU的主要场景(包括阿里妈妈定向广告、淘宝客、神马商业广告、淘宝主搜等)得到大规模应用。.应用与实验,尤其是在阿里妈妈的精准投放广告场景,算法模型的创新带来了业务上的重大突破,主场景的CTR和RPM双双提升了20%以上。典型应用如下:基于MLR的定向广告CTR预测算法是基于MLR算法的非线性学习能力,阿里妈妈的定向广告CTR预估采用大规模原始ID特征+MLR算法的架构。具体来说,它把一个广告展示描述为一个特征向量,它由三部分独立组成:用户特征(包括userid、profile信息、用户在淘宝平台的历史行为特征(浏览/购买的宝贝/店铺/类目)id和frequency等)广告特征(包括adid、campaignid、广告对应的sellerstoreid、categoryid等)场景特征(包括时间、地点、资源位置等)这些特征之间没有传统的交叉组合,维度2亿左右。然后,他们将数据直接反馈给MLR算法,并应用结构化先验、预训练+增量训练、线性偏差等先进技术,让模型从数据中自动总结和拟合规律。相对于传统的LR+特征工程思想,该方案更加高效优雅,模型更加精准,在实际生产中的迭代性更强。MLR-basedtargetedadvertisingLearningtoMatchalgorithm匹配算法是定向广告的一个重要环节,其核心任务是根据用户的人口统计属性、历史行为等,猜测用户可能感兴趣的广告集合。传统的匹配算法大多采用规则匹配、协同过滤等方法,方法的可扩展性不好。强大的。在阿里妈妈的定向广告系统中,工程师开发了基于MLR的学习匹配算法框架。简单来说,就是利用模型根据用户的行为历史,学习用户的个性化兴趣,从而调出一个高度相关的候选广告集。同样,基于MLR算法的非线性能力,他们可以很容易地将不同的特征源和标签系统集成到框架中,而无需过多关注和设计特征的交叉组合,极大地增强了框架的灵活性。4、总结与挑战阿里妈妈算法技术团队自主创新的MLR模型和算法,在业务的大规模推广应用中取得了良好的效果。此外,在大数据智能方面,由于省略了特征工程,具有从数据接入到应用的全自动化功能。但是以后还有很多挑战,比如:初值问题,非凸问题的局部极值问题。MLR虽然比LR好,但不知道离全局最优还有多远;Pre-train的初始值需要改进,优化模型功能等;目前的规模能力还需要能够处理更多的特征和数据,比如采用更快的收敛算法等;整体MLR算法的抽象能力也需要进一步加强。【原创稿件,合作网站转载请注明原作者和出处为.com】
