论文部分内容阅读
一直以来,广告都是互联网公司一个非常重要的收入来源,像国外的谷歌、雅虎,国内的百度、微博等,这些走在互联网领域的领头羊,都是以广告为主要收入。尤其是在机器学习、人工智能的驱动下,越来越多的公司投入到如何提高广告变现能力的研究当中。与传统的广告相比,移动广告用户所处的环境更加复杂,所以需要更准确的投放技术。因此,研究如何从时刻都在变化的流量中,实时地从平台的广告库中选取合适的广告,精准投放给用户是一个巨大的挑战。本文正是基于这样一个复杂环境,考虑如何设计并实现一个能对候选广告库中的每个候选广告都尽可能计算出准确点击率的系统。广告点击率(Click-Through-Rate,CTR)系统需要合理使用用户的基本信息和浏览记录,预估出广告被用户点击的可能性大小。从而结合广告点击率和竞价因子对广告排序,选取最靠前的N个广告投送给用户,这就是系统所要完成的主要工作。以广告点击率的预估值为依据,对候选广告排序,从用户的角度,用户看到自己感兴趣广告的可能性更高了;从广告主的角度,广告能达到更好的传播效果;从平台的的角度,平台用户留存率提高,平台效益自然会更好。为了达到这三者的利益最大化,作者基于分布式逻辑回归模型,设计和实现了文中的广告点击率预估系统。具体的:首先,对广告点击率预估系统的相关技术和评价指标进行了介绍;接着,阐述了系统的功能和非功能性需求分析;然后,通过需求分析得出的结果,划分系统模块和功能,确定所有模块的功能点;紧接着,根据之前阶段得到的结果,对各个功能模块进行详细的设计,编写出高质量的代码;最后,对系统进行功能性测试和非功能性测试。在测试中通过对SGD、Ftrl、Adam和Adagrad四个梯度下降算法对比实验,选出了最适合分布式逻辑回归模型的学习算法,并对训练模块的逻辑回归算法的计算方式加以改进,使本文实现的广告点击率系统的训练速度得以明显提升。