当前位置:   article > 正文

【百面机器学习之算法工程师读书笔记】——第十四章:人工智能的热门应用-互联网广告_预估点击率时还 需要将原始分布还原

预估点击率时还 需要将原始分布还原

目录

互联网广告流行原因

商业模型

广告系统的通用整体架构

广告系统流程简介

广告系统中各模块涉及的算法与机器学习知识

用户画像

点击率预估

广告检索

广告排序/选择


互联网广告流行原因

互联网广告模式广受各大广告商青睐,原因如下:

(1)越来越多的用户愿意花更多的时间在互联网上,如果要抓住用户,加大互联网广告的投入是一种有效的途经;

(2)在线广告的投放门槛低;(Google只需100美元自助开户,便可投放广告)

(3)在线广告投放容易实习个性化,也便于优化和评测。(现在算法模型研究较多,效果也不错)

商业模型

互联网广告的商业模型有以下几类:

1)合约广告:交互较少,缺乏点击反馈数据,不宜直接评估后续的转化效果,通常是一些品牌类向公众宣传自己的品牌形象。一般出现在门户网站和视频网站中。

(2)竞价广告:最常见的形式是搜索广告。搜索广告一般按点击计费,没有点击不收费,因此点击率预估算法优化非常重要。

(3)程序化交易广告:通常是以每次行动成本(CPA)方式结算,考虑了广告预估的点击率和转化率等因素,能够让广告主更灵活选择自己的受众群体和曝光时机。

广告系统的通用整体架构

而不同类型的广告在设计上有所区别,如合约广告一般不用考虑广告实际效果,因此没有CTR模块;而程序化交易广告需对接广告交易平台等第三方信息,需更多的数据对接模块。广告系统的各个算法模块,不仅需要大量的机器学习知识,还与Spark、HDFS、Kafka等大数据工具密切相关。因此,要成为广告算法工程师,需对算法基础、广告商业模型、各模块的业务功能都非常了解。

广告系统流程简介

通用框架系统由分布式计算平台、流式计算平台和广告投放机三大部分组成。

分布式计算平台:将得到的用户标签、模型特征和参数等数据更新到数据库中。

流式计算平台:负责收集和计算有实时需求的用户标签、特征、点击反馈等数据,并将其实时同步到数据库中。

广告投放机:当有请求时,根据请求对应的用户、上下文等信息以及数据库当前的状态进行广告检索、排序和选择。

当投放完了之后,相关的记录会被流式计算平台及时获取并处理,同时也被收集到投放日志中,供分布式计算平台后面使用。一般情况下,用户画像、点击率/转化率建模灯光算法都是在分布式计算平台上运行的。

广告系统中各模块涉及的算法与机器学习知识

用户画像

在三类广告中广泛存在。搜索广告和程序化交易广告可根据用户画像对该用户对各广告的点击率和转化率进行准确的预估,从而优化整体发投放效果。因此,监督学习和非监督学习技术在此应用广泛。而常用的监督学习模型有逻辑回归、支持向量机、决策树、随机森林、梯度提升决策树、前向神经网络等。具体采用的特征因具体业务需求而定。常用的非监督学习模型是聚类技术,其中用得较多的聚类方法有K均值、高斯混合模型、主题模型等。

点击率预估

这是效果类广告中最重要算法之一,主要分为样本采样、特征抽取与组合、模型训练、模型评估等步骤。其准确性在效果优化中其关键作用。这类问题其实是二分类问题。即根据给定的请求和该请求所匹配的广告,预测广告展示后获得点击率的概率。公开的点击率预估数据集是Kaggle上的CTR竞赛中的数据。训练集是7天的Criteo广告展示数据,共4000+万条,包含了点击与非点击数据。测试集有600+万条,采用方式相同。

(1)样本抽样。一条负样本所包含的信息相比正样本而言较少,如果能对负样本进行采样,可减少训练时间,即能在同等时间中处理更多正样本,从而在训练时间不变条件下取得更好的效果。一般采样后的数据分布会改变,之后需将原始分布还原。

(2)特征抽取与组合。主要是抽取与用户、上下文、广告主、创意等相关的各维特征,并对这些特征进行组合。一般,如果使用机器学习模型来显示的进行特征交叉的话,肯能会遇到维度爆炸的问题,因此,在实际问题中,常常会采用梯度提升决策树和分解机对原始特征进行处理,但是在实际的产品线中,一般是不便推翻以前的架构的,因此,实际情况下,通常是改为利用端到端的深度学习模型来进行建模的,也就是讲过深度模型学习到的中间结果作为高层语义特征,输入到传统的浅层机器学习模型中,效果也会得以提升。

(3)模型训练。模型的训练和调优过程也蕴含了许多经验和知识。在做线上实时点击率预估时,需对L1和L2正则化的相关理论有所了解,才能更好的把握模型的稀疏性。而在对点击率建模和训练时,又要对梯度验证技术比较熟悉,才能知道程序计算出的梯度是否正确,甚至要能知道梯度下降为什么会失效,如何进行改进等操作。

(4)模型评估。主要分为离线评估、在线评估两个阶段。离线评估的任务是设计合理的实验和指标,使得离线评估的结果和将来上线之后的结果尽量吻合。一般来说,对模型的效果评估,需要采用不同的指标来综合评价,单个指标只能评估模型的某一方面。(如点击率预估的离线评估指标就有Log Loss 和AUC,前者衡量预测点击率与实际的吻合程度,后者评价模型的排序能力。)

广告检索

主要是根据查询、受众等定向条件检索出所有满足投放条件的广告。对此,可以使用文本相似度的方式来处理。即求给出一个查询的条件下生成另一个查询的概率。可以基于主题模型、Word2Vec等算法实现,或者用深度神经网络来建模。实际生活中,用得最多的是模糊匹配。而解决模糊匹配问题的经典方法是查询扩展。

广告排序/选择

不同的广告业务场景在此的决策方式不同。广告的排序/选择问题可以看作是一个带约束的优化问题。一般是采用强化学校的思想来解决。(对于已有足够曝光量的广告,需遵循点击率预估的结果进行排序、选择和出价。需要在探索和利用之间找到平衡,才能找到最佳投放效果。而对于一个新上线的广告,是没有充分的曝光量的,此时是无法对其点击率做出准确预测的。)

 

 

注:以上仅为自己学习的笔记,如有理解错误指出,希望大家可以提出,谢谢!

 

 

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/862277
推荐阅读