当前位置:首页 期刊杂志

基于Catboost算法的优惠券个性化投放

时间:2024-09-03

广东工业大学 刘嘉穗

优惠券投放是O2O消费模式的一种重要营销手段,但随机投放会给大多数用户带来无意义的搅扰,并且还会增加商家业务的营销成本。因此,本文对真实的用户历史行为信息进行挖掘,并基于Catboost算法对用户未来是否会核销优惠券进行预测,进而个性化向用户投放优惠券。Catboost是一种新型的梯度提升树算法,相较于传统算法,它具有更高的准确度,因此,可以更加准确地预测用户将来的消费模式,进而为优惠券的个性化投放提供一种更为可靠的决策依据。

1.概述

在线上平台消费的过程中,人们会留下如浏览、搜索、点击、收藏、评论等一系列行为特征指标,并最终会产生购买与否的消费行为结果。国外著名电商巨头亚马逊,通过对用户线上的这一系列行为特征和行为结果进行挖掘分析,得到用户的喜好和购买规律,预测用户的消费行为,以此为基础,构建推荐系统对用户进行个性化推荐。据调研,其推荐转化率高达60%(Linden,G.,Smith,B.,York,J.,2003.Amazon.com recommendations:Item-to-item collaborative filtering.Internet Computing,IEEE 7,76-80)。国外视频网站Netflix(Amatriain X,Basilico J.Netflix recommendations:beyond the 5 stars(part I)[J].Netflix Tech Blog,2012,6)和社交平台Facebook(唐颖.巴克莱卡:Facebook广告效果颇佳[J].国际品牌观察,2012(8):110-111)也都基于自己平台上的用户行为日志,打造个性化商品推荐和广告投放服务,在进一步增加公司利润的同时,也有效地提升了用户体验和用户粘性,实现用户、商家共赢。

许多学者也结合机器学习方法对推荐系统进行研究,以进一步提升推荐效果。朱奕健等人以随机森林为模型,基于电信业务数据,构建电信运营商外呼推荐系统,有效提高了外呼用户的接受率(朱奕健,张正卿,黄一清,自瑞瑞,严建峰.基于随机森林模型的电信运营商外呼推荐系统[J].计算机科学,2016(S2))。He X等(HE X,PAN J,JIN O,et al.Practical Lessons from Predicting Clicks on Ads at Facebook[C]//Eighth International Workshop on Data Mining for Online Advertising.ACM,2014:1-9)将梯度提升树(GBDT)和逻辑回归(LR)相结合,通过GBDT对特征进行非线性映射,并用LR进行训练,以此提升广告的点击率预估,为广告的个性化投放提供决策依据。O2O消费模式自然与数以亿计的消费者相关,商户平台记录着海量的用户行为日志。本文通过分析用户的历史交互日志,从用户、商户、优惠券等多方面构造特征,并引入新型的梯度提升树算法Catboost进行训练,预测用户将来是否会核销优惠券。实验表明,相较于传统算法,Catboost具有更高的预测准确度,为优惠券的个性化投放提供了可靠的决策依据。

2.数据处理

2.1 数据描述

本文采用阿里巴巴天池大数据平台的开放数据集,包含了用户、商户和优惠券三者在2016年1月1日至2016年6月30日的真实交互行为(https://tianchi.aliyun.com/datalab/dataSet.html?spm=5176.1000 73.0.0.36ed6fc1dn1mQN&dataId=59),每条消费记录包含了用户、商户、优惠券、优惠率、用户与商户的距离、优惠券领取日期以及消费日期共7个字段。用户的行为结果分为“使用优惠券进行消费(正样本)”、“没有领取优惠券进行消费(普通消费)”以及“领取了优惠券但没有进行消费(负样本)”。通过挖掘历史行为记录,对用户在未来15天内是否会核销优惠券进行预测。

2.2 特征构造

原始数据包含的信息较少,不足以表征用户的消费行为习惯,同时原始数据也包含了大量的缺失值以及各种非数值型数据,不能直接用于模型的训练。为此,我们对原始数据进行统计归纳,构造特征如表1所示。

表1 各类特征描述

表1分别包含用户、商户、优惠券、用户-商户四个维度的特征。用户特征包括用户的总消费次数、优惠券的领取和使用次数以及优惠券领取和使用的时间间隔统计等,反映的是用户在此期间的消费行为表现。同样,商店和消费券特征也仅反映商店和消费券自身的受欢迎程度。用户-商店属于交叉特征,反映的是用户对商店的喜欢程度或是消费的可能性。

3.算法描述

化我们的损失函数并得到最终的强学习器,算法流程如图1所示,训练集为,损失函数,以及迭代次数M。

由上述算法流程我们可以很清楚地发现GBDT就是在函数空间中的梯度下降。我们首先求得损失函数关于F(x)的负梯度,随后训练基学习器去拟合负梯度并得到最优步长,最后将各步得到的基学习器相加,也即是不断地减去梯度,进而得到最终的强学习器FM(x)。

3.1 GBDT

梯度提升决策树(GBDT)(Jerome H Friedman.2001.Greedy function approximation:a gradient boosting machine.Annals of statistics(2001)1189-1232)是由Friedman提出的基于boosting框架的集成学习方法,它认为boosting在一些适当的损失函数中是一种优化算法。它的核心思想类似于梯度下降,通过在函数空间中迭代地选取基学习器(通常是决策树)来指向损失函数的负梯度方向,进而优

图1 GBDT算法流程

3.2 Catboost

Catboost(A.V.Dorogush,A.Gulin,G.Gusev,N.Kazeev,L.Ostroumova Prokhorenkova,and A.Vorobev.Fighting biases with dynamic boosting.arXiv preprint arXiv:1706.09516,2017)是Gradient Boosting的一种新型实现。正如上一节的算法流程所示,在传统的GBDT的每一步迭代中,它都是基于相同的数据集求得损失函数对于当前模型的梯度,并基于该梯度来训练得到基学习器,但这会导致逐点梯度估计偏差,从而使得最终学习到的模型过拟合。Catboost通过采用Ordered Boosting的方式对经典算法中梯度估计方式进行改变,进而获得对梯度的无偏估计,以减轻梯度估计偏差的影响,提高模型的泛化能力,Ordered Boosting的算法流程如图2所示。

图2 Ordered Boosting流程

由上述流程可知,为了得到无偏梯度估计,Catboost对每一个样本xi都会训练一个单独的模型Mi,模型Mi由使用不包含样本xi的训练集训练得到。我们使用Mi来得到关于样本的梯度估计,并使用该梯度来训练基学习器并得到最终的模型。

3.3 评判指标

对于顾客是否会在指定时间内核销优惠券,我们将其转换为一二分类问题进行处理,并且我们重点关注模型的泛化性能力,所以我们采用ROC曲线下面积AUC来作为评判模型的指标。我们基于模型的预测结果对样本进行排序,计算得到“真正例率”(True Positive Rate,TPR)和“假正例率”(False Positive Rate,FPR)并分别作为纵轴和横轴从而得到ROC曲线,最终得到曲线下面积AUC。具体公式如下:

其中TP为正确预测的正样本数,FP错误预测的负样本数,TN为正确预测的负样本数,FN为错误预测的正样本数。

4.实验结果

我们从时间维度上对原始数据进行滑窗划分,以连续4个月作为一个窗口,一个月作为间隔,将前三个月作为特征数据,后一个月作为标签数据,以此将原始数据分为3个数据集。我们使用前两个数据集训练模型,用第三个数据集来测试模型,得到模型的AUC并和传统的GBDT和另一种著名实现Xgboost(T.Chen and C.Guestrin.Xgboost:A scalable tree boosting system.In Proceedings of the 22Nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,pages 785-794.ACM,2016)进行对比,ROC曲线和AUC结果如图3和表2所示。

表2 AUC结果对比

图3 ROC曲线

如结果所示,Catboost算法的AUC值都高于其它两种算法,相较于其它两种算法,Catboost具有更高的准确度和更强的泛化能力。

5.结语

本文采用新型梯度提升决策树Catboost算法,并基于真实的客户历史行为信息构造用户消费模型,预测用户是否会在指定时间内核销优惠券。实验结果表明,Catboost具有更高的准确度和更好的的泛化能力,从而能更加准确地预测用户将来的消费模式,进而为优惠券的个性化投放提供一种更为可靠的决策依据。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!