system: [SYSTEM]

user: 3. 实验过程 3.1. 实验数据及描述 本实验所采用的数据源于实际广告点击日志数据以保证实验结果的准确性与严谨性。实验数据共105，491条，其中共有原始特征24个，click字段则代表广告是否被用户点击，是实验中要预测的字段。实验中广告点击日志部分原始数据如表1所示： Table 1 Advertisement click log dat 字段名称 字段 样本id instance_id 广告是否点击 click 广告id adid 广告主id advert_id 广告主名称 advert_name 广告主行业 advert_industry_inner ………… 点击时间戳 time 联网类型 nnt 操作系统 os 设备类型 devtype 手机品牌 make 表1. 广告点击日志数据 3.2. 数据预处理 数据预处理包含正负样本均衡、数据清洗、特征处理三个部分。 正负样本均衡：在原始数据集中，负样本与正样本之比约为10:1，若直接按照原始正负样本比例进行训练会影响模型准确率评估以及模型效果。基于此本文采取保留原数据集中的所有正样本(即click字段值为1的样本)，对负样本进行欠采样，以保证正负样本比例均衡。 数据清洗：此部分包含缺失数据的填充、重复数据的删除。本文的缺失数据处理主要有两种类型：删除click字段缺失的样本，以字段属性为依据选择不同类型的值填充，如使用众数填充make特征字段的缺失值。 特征处理：本文对广告日志中各特征进行相应提取与转化以适应模型训练要求。主要的处理方法为分桶以及独热编码、标签编码。本文对时间戳类型的字段time进行转化并提取时间段hour_seg特征，即将0~7、8~12、13~17、17~24分为四个不同的时间段。针对本数据集，本文分别使用独热编码以及标签编码对类别型特征(如手机品牌、省份、城市等)进行处理并使用逻辑回归模型分别验证效果，如表2所示。 Table 2 Label coding and one-hot coding effect compariso 编码方式 机器学习模型 AUC值 准确率 独热编码 逻辑回归 0.6920 0.6931 标签编码 逻辑回归 0.6957 0.6970 表2. 标签编码与独热编码效果对比 从表2中通过对比可看出，针对本数据集两种处理方法效果相当。为节约计算资源，本文使用标签编码进行特征处理。 此外，本文将广告主行业进行切分为广告一级行业、广告二级行业两个特征以更详细地描述广告信息。最后，本文将数据集中取值只有一个值的特征删除，处理后结果如表3所示。 Table 3 Post-processing feature lis 字段名称 字段 广告是否点击 click 广告id adid 广告主id advert_id 广告主名称 advert_name 广告一级行业 advert_industry_inner_1 广告二级行业 advert_industry_inner_2 活动id campaign_id 创意id creative_id 创意类型 creative_type 是否落地页跳转 creative_is_jump 是否为js素材 creative_is_js 创意宽 creative_width 创意高 creative_height app分类 app_cate_id 媒体id app_id 媒体广告位 inner_slot_id 请求来源地 city_new 点击时间段 hour_seg 运行商类型 carrier 点击时间戳 time 联网类型 nnt 操作系统 os 设备类型 devtype 手机品牌 make 表3. 处理后特征列表 3.3. 广告点击率预估模型 3.3.1. 单模型广告点击率预估算法 1) 逻辑回归模型 逻辑回归模型通过在传统的线性模型中加入sigmoid函数从而实现非线性变换，将模型结果值压缩至从0到1的区间，并通过不断优化损失函数训练模型，其模型公式如(1)、(2)所示。其中 X 1 ， X 2 ， ⋯ ， X n 是每个样本的n个特征，X为权重 W 0 ， W 1 ， ⋯ ， W n 与 X 1 ， X 2 ， ⋯ ， X n 线性组合得到的结果 [ 12 ] ，之后将X用sigmoid函数处理得到最终的f(X)值： X = W 0 + W 1 X 1 + ⋯ + W n X n (1) f ( x ) = 1 1 + e − X (2) 当结果越接近1时代表结果为正例的可能性越大，反之，当结果越接近0时则代表结果为反例的可能性越大。逻辑回归模型是工业界最常用的预测展示广告点击率的模型，在多模型对比实验中，通常选择逻辑回归模型作为基线模型进行比较。广告点击率预估问题中，输入X代表广告日志样本，其包含日志中各字段，输出Y代表该样本被模型预测为正例的概率即广告点击率。f(X)代表模型习得的函数。当Y的值大于0.5则将此广告分类为正类即会被点击，当Y的值小于0.5则将此广告分类为负类即不会被用户点击。应用逻辑回归进行广告点击率预估可表示为如式(3)所示 [ 9 ] ： p ( C | X ) = 1 1 + e − f ( X ) (3) 其中 p ( C | X ) 为在给定展示广告日志数据情况下，用户点击广告的概率即为输出Y的值。 p ( C | X ) 的值与分界线0.5进行比较即可判断并预测此条广告的点击情况获得分类结果。 2) 决策树模型 作为一种基本且高效的二分类模型，决策树以样本的特征为根据对样本进行划分识别，它在广告点击率预测中也有良好的效果。决策树的学习过程通常是根据一定的标准递归地选择最优广告日志特征，然后依据该特征对广告日志数据集进行分割直至所有子数据集都有能够被明确的归类为点击与未点击两大类别 [ 13 ] 。 在本文的广告点击率预测二分类问题中采用的是CART决策树，CART决策树又称为分类回归树，它是一种典型的二叉树结构。在分类过程中，CART决策树选择具有最小基尼指数的属性及其属性值作为最优分裂属性以及最优分裂属性值。基尼指数越小，则代表分类后的样本纯净度越高。对于给定的样本集合，基尼指数的计算如式(4)所示： (4) 其中 C K 是D中属于第k类的样本，K是类别的个数。如果样本集合D根据特征A是否取某一个可能的值a被分割成D 1 和D 2 两部分，则根据特征A，集合D的基尼指数计算如式(5)所示： Gini ( D ， A ) = | D 1 | | D | G i n i ( D 1 ) + | D 2 | | D | G i n i ( D 2 ) (5) CART决策树通过上述方式不断选择最优划分特征从而得到一颗分类决策树，从而对样本进行分类与预测。 3.3.2. 集成学习模型广告点击率预估算法 集成学习通过建立和组合多个弱学习器完成学习任务，根据集成融合方法不同，它主要可分为两大类：自助聚集法和提升法。由于随机森林是自助聚集法的扩展且在工业界及学术界应用广泛，故本文主要应用随机森林模型进行训练。同时，本文选取提升法中的两大代表性模型自适应增强模型、梯度提升决策树模型进行训练。 1) 自助聚集法(Bagging) 随机森林模型：以决策树作为弱学习器并在并在自助聚集类集成方法的基础上通过随机选择特征子集进行划分得到随机森林模型(Random Forest)。在对多个弱学习结果进行投票后，随机森林模型才产生最终的模型结果。在广告点击率预测问题中，通过不同决策树对样本进行分类得到样本的点击与未点击情况，再将所有决策树的分类结果进行投票得出样本最终分类情况。 2) 提升法(Boosting) 自适应增强模型：自适应增强模型(Adaboost)针对给定广告日志数据训练不同的弱学习器，并通过弱学习器融合产生强学习器。在更新过程中，前一次分类不正确的样本权重将被不断提高从而使得模型逐渐修正预测结果，并继续依此训练其他的弱学习器。 梯度提升决策树模型：梯度提升决策树模型(GBDT)以决策树为弱学习器，每轮迭代从给定数据集中进行有放回抽样形成本轮训练数据，通过多次迭代产生多个弱学习器。模型最终结果由弱学习器通过投票决定。GBDT模型被认为是机器学习中最有效的方法之一，其在各种比赛以及工业应用中都取得了良好的效果。 3.4. 模型评价标准 本文主要采用精度(accuracy)以及受试者工作特征曲线下面积(AUC)作为主要的模型评价指标。 精度(accuracy)：精度是分类任务中最常用的性能度量，它指的是分类正确的样本数与总样本数的比重。 当正负样本不均衡时，精度并不是一个很好的度量指标。例如，若样本中点击与未点击用户的比例为1:10，模型将所有用户都分类为未点击，模型的精度仍能达到90%，然而这并不符合实际。本文已经在数据预处理阶段进行正负样本均衡的处理消除了正负样本不均衡对精度的影响，故本文将采用精度作为模型评价标准之一。 受试者工作特征曲线下面积(AUC)：AUC是另外一个应用广泛的二分类器评价标准。“真正例率”指在全部正样本中，分类无误的正样本所占的比重，“假正例率”指在全部负样本中，分类错误的负样本所占的比重。以“真正例率”为竖直方向，“假正例率”为水平方向构建坐标系形成的图像为受试者工作特征曲线(ROC)，对ROC曲线求取其线下面积即为AUC。 AUC值大于等于0.5且小于等于1，当AUC为0.5则代表与随机猜想效果相同。因此，AUC值通常应大于0.5。在这种情况下，AUC的值越大，则说明模型效果越好。