1700540823
百面机器学习:算法工程师带你去面试 01 计算广告
1700540824
1700540825
1700540826
1700540827
广告是当今互联网商业变现最重要的模式之一。数字广告是大部分互联网巨头最主要的现金流。根据Google母公司Alphabet 2017年第一季度的财报,广告总营收214.11亿美元,占其总营收的86.5%。Facebook的广告收入占比更加夸张,达到惊人的98%,可以说Facebook就是一家不折不扣的广告公司。除此之外,百度、阿里巴巴、腾讯的广告部门也均是各公司的核心部门。阿里妈妈、腾讯广点通、百度凤巢的广告部门,无论是招聘门槛还是内部重视程度都很高。
1700540828
1700540829
从权威媒体机构Zenith 2017年发布的《全球30大媒体主》排名来看(见图14.1),互联网公司更是占据了半壁江山。除了Alphabet和Facebook雄霸前两位外,百度排第4名,腾讯排第14名。传统媒体中排名最高的是康卡斯特(Comcast)媒体集团,屈居第三位。排名第20位的CCTV也成为了中国排名最高的传统媒体主。
1700540830
1700540831
1700540832
1700540833
1700540834
图14.1 全球广告收入最高的30大媒体
1700540835
1700540836
数字广告的发展史还要追溯到1995年。当时,以雅虎为代表的门户网站把网页当作线上杂志进行售卖,并按照约定的形式进行投放。那时,数字广告与传统媒体的广告售卖方式非常相似,只是把内容从线下搬到了线上。从1998年开始,以谷歌为代表的搜索引擎引领了潮流。与门户网站有所不同,搜索引擎的商业变现采用的是与搜索服务相结合的付费搜索模式,即根据用户的即时兴趣(搜索关键词)定向投送广告。这种广告一般采用竞价的方式进行售卖,广告主可以根据用户的实时兴趣对广告投放效果进行优化,因而与门户网站相比,广告的投放效果具有精准度更高的特点。2005年以后,在线视频业务的流量不断攀升,代表网站有YouTube、Hulu等,由于其广告投放模式与传统电视广告类似,不断蚕食着传统电视广告的市场。
1700540837
1700540838
互联网广告模式之所以得到各大广告商的青睐,有以下几点原因。首先,用户花在互联网上的时间越来越多,广告主为了抓住年轻的一代用户,必须加大互联网广告的投入;其次,在线广告的投放门槛很低,在Google只需100美元自助开户后就可以进行广告投放;同时,广告投放容易实现个性化,并经由A/B测试进行量化的评测和优化。随着互联网广告在商业上的蓬勃发展,其背后的算法模型研究也受到越来越多的关注。2008年,在第十九届ACM-SIAM学术讨论会上,雅虎研究院资深研究员Andrei Broder提出了计算广告学(Computational Advertising)的概念。他认为,计算广告学是一门由信息科学、统计学、计算机科学以及微观经济学等学科交叉融合的新兴分支学科,其研究目标是实现语境、广告和受众三者的最佳匹配。
1700540839
1700540840
在介绍计算广告的常用算法模型之前,先对互联网广告的主要产品类型和商业模式进行介绍。这里按照互联网广告的商业模型,将其分为合约广告、竞价广告、程序化交易广告等类型。
1700540841
1700540842
合约广告一般在门户网站和视频网站中较为常见,例如,Hulu广告收入的绝大部分来自于合约广告。这是由于用户与视频广告的交互较少,缺乏点击等反馈数据,不宜直接评估后续的转化效果。合约广告的客户通常是品牌类广告主,它们的主要诉求是向公众宣传自己的品牌形象,并不显式地评估后续的转化效果。合约广告一般以CPM(Cost per mille,千次曝光成本)进行结算,即每完成一千次曝光流量平台向广告主收取固定的成本。图14.2(a)在Hulu网站上观看美剧《实习医生格蕾》(Grey’s Anatomy)时,浏览器展示的视频广告截图。
1700540843
1700540844
竞价广告最重要的形式是搜索广告。搜索广告的标的物是关键词,每个搜索广告可以对一些特定的关键词进行出价。用户输入的查询与广告竞标的关键词进行匹配,检索出所有符合条件的广告,并选择其中的一条或几条广告与搜索的网页结果一起展示,通常广告排在网页之前。搜索广告一般按点击结算,在用户点击之后按照广告主对该关键词的出价收费,没有点击则不收费,因此点击率预估算法对竞价广告的优化至关重要。图14.2(b)展示了在百度中搜索“深度学习”时返回的搜索结果页面,其中第一条即竞价系统所选择的广告,在下方有“广告”字样。
1700540845
1700540846
程序化交易广告能够让广告主更加灵活地选择自己的受众群体和曝光时机。在每一次展示机会到来之时,广告交易平台将流量的相关信息和竞价请求发送给需求方平台(Demand Side Platform,DSP),需求方平台根据流量的实际情况代表广告主进行出价,价高者得到本次的曝光机会。程序化交易广告通常以CPA(Cost Per Action,每次行动成本)的方式进行结算,因此需要综合考虑广告预估的点击率、转化率等因素。图14.2(c)为在CSDN的某个博客页面上,京东赢得一次实时竞价机会而展示的一个商品广告。
1700540847
1700540848
1700540849
1700540850
1700540851
(a)合约广告
1700540852
1700540853
1700540854
1700540855
1700540856
(b)竞价广告
1700540857
1700540858
1700540859
1700540860
1700540861
(c)程序化交易广告
1700540862
1700540863
图14.2 常见的广告类型
1700540864
1700540865
不同类型的广告在广告系统设计上有所区别,比如合约广告一般不需要考虑广告的实际效果,所以没有CTR模块;程序化交易广告需要对接广告交易平台等第三方信息,所以需要更多的数据对接模块。但总体来说,广告系统的整体架构是通用的。图14.3是一个简化的广告系统框架,主要展示了与算法相关的模块,而对其他系统模块有所省略。系统由分布式计算平台、流式计算平台和广告投放机三大部分组成。分布式计算平台负责根据海量的投放日志进行批处理计算,得到算法分析和建模的结果,例如用户画像、点击率/转化率建模等算法都是在分布式计算平台上运行的,并将得到的用户标签、模型特征和参数等数据更新至数据库中。流式计算平台负责收集和计算有实时需求的用户标签、特征、点击反馈等数据,并将它们实时地同步到数据库中去。当一个请求到来时,广告投放机根据请求对应的用户、上下文等信息以及数据库当前的状态进行广告检索、排序和选择。一次广告投放完成之后,相关的记录将被流式计算平台及时地获取并处理,同时它们也被收集到投放日志中,供分布式计算平台稍后使用。
1700540866
1700540867
广告系统的各个算法模块,不仅与Spark、HDFS、Kafka等大数据工具息息相关,更涉及大量机器学习的知识。如果要成为广告算法工程师,在打牢算法基础的同时,还需要对广告的商业模型,各模块的业务功能有较深的了解。下面就对广告系统各个模块涉及的算法和机器学习知识进行逐一介绍。
1700540868
1700540869
1700540870
1700540871
[
上一页 ]
[ :1.700540822e+09 ]
[
下一页 ]