您好,欢迎来到刀刀网。
搜索
您的当前位置:首页基于CNN-LSTM的用户购买行为预测模型

基于CNN-LSTM的用户购买行为预测模型

来源:刀刀网
第37卷第6期   2020年6月  

计算机应用与软件

ComputerApplicationsandSoftware

Vol37No.6Jun.2020

基于CNNLSTM的用户购买行为预测模型

胡晓丽1 张会兵2 董俊超2 吴冬强3

(桂林电子科技大学教学实践部 广西桂林541004)

(桂林电子科技大学广西可信软件重点实验室 广西桂林541004)

(南宁地精科技有限公司 广西南宁530000)

摘 要  利用电商平台上的购物历史数据对用户购买行为进行预测有助于提升用户体验和营销效果。提出一种基于CNNLSTM的用户购买行为预测模型。使用“分段下采样”对样本数据进行均衡化处理以获得购买用户NNLSTM组合网络实现用户属性、商品属性及用户行为特征的自动抽取与选择,和未购买用户均衡样本;使用C并以此对用户购买行为进行预测。在阿里巴巴移动电商平台数据集的实验结果表明,基于CNNLSTM的预测模型F1值比基准模型平均提升了7%~11%,使用“分段下采样”样本均衡算法F1值提升了2%左右。关键词  电子商务 购买行为预测 样本均衡 卷积神经网络 长短时记忆网络

中图分类号 TP391    文献标志码 A    DOI:10.3969/j.issn.1000386x.2020.06.012

PREDICTIONMODELOFUSERBUYINGBEHAVIORBASEDONCNNLSTM

1223

HuXiaoli ZhangHuibing DongJunchao WuDongqiang

(DepartmentofTeachingPractice,GuilinUniversityofElectronicTechnology,Guilin541004,Guangxi,China)

(GuangxiKeyLaboratoryofTrustedSoftware,GuilinUniversityofElectronicTechnology,Guilin541004,Guangxi,China)

(NanningDijingCo.,Ltd.,Nanning530000,Guangxi,China)

Abstract  Usingshoppinghistoricaldataonecommerceplatformtopredictusersbuyingbehaviorishelpfultoimproveuserexperienceandmarketingeffect.ThispaperpresentsapredictionmodelofuserbuyingbehaviorbasedonCNNLSTM.Itused"subsampling"toequalizethesampledatatoobtainthebalancedsamplesofpurchasedusersandunpurchasedusers;theCNNLSTMwasusedtoautomaticallyextractandselectuserattributes,commodityattributesanduserbehaviorcharacteristics,andthenpredictuserbuyingbehavior.TheexperimentalresultsonAlibabamobileecommerceplatformdatasetshowthattheF1valueofpredictionmodelbasedonCNNLSTMis7%~11%higherthan,andtheF1valueofsampleequalizationalgorithmbasedon"subsampling"increasesbythebenchmarkmodelabout2%.

Keywords  Ecommerce Buyingbehaviorprediction Samplebalance Convolutionalneuralnetworks LSTM

用户购买行为预测是国内外诸多学者关注的热

0 引 言

网民在电商平台上选购商品的过程中伴随着浏览、收藏、放入购物车等各种在线操作行为。当前,在电商平台上沉淀了海量的用户购物历史数据,深入分析这些数据能够较好预测其购物习惯、偏好或购物意愿。特别地,对用户购买行为进行预测有助于提升用

1]

。户购物体验,促进电子商务可持续发展[

2-6]

点[。文献[3]使用决策树与神经网络方法挖掘用

户购物历史行为数据,预测用户是否会购买他们已经

4]添加到购物车里的商品。曾宪宇等[针对海量在线消

费行为数据准确预测兴趣偏好和购物行为,提出融合了潜在因子和行为序列的效用函数选择模型,与逻辑回归(LogisticRegression,LR)和梯度提升决策树(GradientBoostingDecisionTree,GBDT)相比,该模型有更

5]好的精确度和有效性。Liu等[利用大量的用户浏

2019-08-10。国家自然科学基金项目(61662013)。胡晓丽,讲师,主研领域:社交网络,电子商务。张会兵,副教收稿日期:

授。董俊超,硕士生。吴冬强,工程师。

 

 60   

计算机应用与软件

2020年

览、点击、购买等行为数据,通过支持向量机(SupportVectorMachine,SVM)对未来网络消费者的购买情况进行预测,得到了满意的结果。祝歆等融合逻辑回归和支持向量机构建了网络购物行为预测模型,取得了比单一模型更好的预测效果。

随着电商平台中行为数据的日益增加,应用传统机器学习算法的特征构造和选择需要花费时间与人力急剧增加,并且不同的电子商务平台中数据的格式和内容有所不同,使得算法的移植性受限。同时,对用户[6]

1.2 在线交互行为样本均衡与特征构建

(1)在线交互行为样本均衡。用户与商品的在线交互过程中,只有极少部分浏览行为会转化为购买行为,出现购买样本与未购买样本极度不均衡的问

10]

。目前,解决样本不均衡问题的主流方法是上采题[

11]

样和下采样[。然而,上采样方法很难适应电子商务

中用户商品交互数据结构复杂、数据量大的特点;下采样方法因为数据倾斜和信息丢失也不适合解决此类购买行为的性假设也与用户购买的实际情况不符,导致其不能准确预测不同时间段的用户购买行为。

为此,提出一种C

NNLSTM神经网络组合模型来预测用户购买行为。首先使用卷积神经网络层CNN从用户历史行为数据中自动抽取高影响力的特征,然

后通过长短期记忆神经网络L

STM建立时间序列预测模型[7-9]

,最后通过全连接层(FullyConnectedLayer,FC)输出模型预测结果。以此实现特征自动抽取和基于行为序列的用户购买行为预测。

1 CNNLSTM购买行为预测模型

1.1 预测模型框架

图1为融合用户属性、商品属性和用户行为特征

的预测用户购买行为的C

NNLSTM模型总体架构[8,15]。数据处理和特征构建完成用户历史行为数据清洗,剔除刷单用户、重大促销等不具有一般规律的数据,并采用分段下采样方法进行样本均衡处理;CNN层接收影响用户购买行为的各种特征,如浏览数、购买数、浏览购买转化率等,进行特征选择和特征优化;LSTM依据CNN提取的用户购买行为序列中的重要特征进行用户购买行为预测;全连接层把LSTM单元输出的高维用户购买行为信息压缩为相应的特征向量,实现对用户购买行为的分类表达。

图1 CNNLSTM用户购买行为预测模型

问题。为此,设计了如算法1所示的分段下采样方

法[11-12]:根据用户购买行为预测样本数据具有时间衰

减的特性,将购买用户和未购买用户历史数据样本以天为单位进行分段。针对用户样本中的每个用户找出其三个最近邻用户,若该用户是未购买用户且其三个最近邻用户中有两个以上是购买用户,则删除它;反之,当该样本是购买用户并且其三个最近邻中有两个以上是未购买用户,则去除最近邻中的未购买用户,其余情况均保留原始用户样本。

算法1 分段下采样样本均衡算法。

输入:用户原始历史数据(D),数据记录天数(T);输出:新用户平衡历史数据(D′);算法流程:1:D′=D/T

//对原始数据按照数据记录天数进行分段

2:forD(u)∈D

′do//遍历原始数据中的每个用户

3:D′(u)=RandomChoose(D(u))

//随机选择任意用户数据

4:ifD′(u)为购买用户then

://判断D′(u)最近邻中是否有两个以上未购买用户   ifnobuy=sum(KNN(D′(u)))≥2then6://删除最近邻中的未购买用户    delete(KNN(D′(u))nobuy)7:  else8:save(D′(u))

//保留新用户数据

9:else10:

ifbuy=sum(KNN(D′(u)))≥2then11://删除新用户

 delete(D′(u))

12: else

13:

  save(D′(u))

//保留新用户数据

(2)在线交互行为特征构建。分析京东商城等的交互数据发现:用户行为数据分散在用户属性、商品信

息、用户对商品的行为等处[13-14]。原始数据中可用的

特征数量极少,直接用于CNNLSTM模型无法有效预测用户购买行为。为此,运用统计分析构建出如表1所示的用户购买行为预测特征。然后,将该特征输入到CNNLSTM模型中,CNN自动进行用户历史购买行

为的特征提取,可以有效简化传统机器学习中特征提

 

第6期   

7]

取和特征选择过程[。

胡晓丽,等:基于CNNLSTM的用户购买行为预测模型 61

LSTM接收CNN提取的重要特征向量序列,通过遗忘门、输入门和输出门改变细胞状态,更新以前隐藏表1 用户购买行为预测特征

特征

特征类型

编号特征名称特征描述

x1用户编号

唯一表示用户身份

x2

用户浏览数用户浏览商品总数用户

特征

x3用户加购数用户购物车添加商品总数x4用户购买数用户购买商品总数x5

用户收藏数用户收藏商品总数商品

x6商品编号唯一表示商品特征

x7商品类别商品所属类别

x购买浏览

用户购买的商品总数与浏览的8

转化率商品总数之比

用户商品x购买加购用户购买的商品总数与添加购9

特征

转化率物车的商品总数之比

x购买收藏用户购买的商品总数与收藏的10

转化率

商品总数之比

1.3 CNNLSTM组合的购买行为预测

CNN由接收用户历史行为特征的输入层、对接LSTM输入层的输出层以及多个隐藏层组成。其中,隐藏层包括卷积层和池化层,如图2所示。

图2 CNNLSTM模型中CNN层

输入层接收表1中的用户历史行为特征向量x0

i=

{x1,x2,…,x10},并使用卷积层进行卷积运算,以全面准确地获得影响用户购买行为的局部特征。卷积层的输出如下:

yIij=σ(∑wII-1I

m,jxi+m-1,j+bj

)(1)

m=1式中:yIII

ij由上一层的输出向量xij计算得到;bj

表示第j个特征映射的偏置;w为卷积核的权重;m是过滤器的索引值;σ是R

eLU激活函数。用户行为特性经过卷积操作后,传入池化层中进一步减少参数数量,压缩数据维度,减少过拟合。用式(

2)的最大池化方法筛选出对用户购买行为影响最大的特征信息,实现用户购买行为预测。

pI

=mI-1

ij

r∈aRx(y

i×T+r,j

(2)

式中:T为池化区域的步长;R是池化尺寸。

状态的内存单元来保持用户历史购买行为信息持续存

在,更准确地预测了用户购物行为[

16-17]

。LSTM单元结构如图3所示。

图3 LSTM单元结构图

门控单元中的各个门和记忆细胞的表达式如下:外部输入门单元表达式:

g(t)i=σ(bggi+∑Ui,jx(t)g(t-1)

j+∑Wi,jhj

)(3)

遗忘门单元表达式:

f(t)i=σ(bff(t)f(t-1)i+∑Ui,jxj+∑Wi,jhj

)(4)

细胞内部状态更新表达式:

s(t)(t)(t-1)i=fisi+σ(bfi+∑U

i,jx(t)j+h(t-1)

)j

∑Wi,jjj

(5)

输出门单元表达式:

h(t)i=tanh(s(t)i)σ(boo(t)o(t-1)i+∑Ui,jxj+∑Wi

,jhj)j

(6)

式中:h(t-1)fog

j表示隐藏层状态;bi、bi、bi分别表示各个门的偏置;

U、Uf、Ug、Uo

分别表示各个门的输入权重;W、Wf、Wg、Wo分别表示各个门的循环权重。这些参数均为LSTM模型依据CNN层输出向量自主学习,无须人工干预。

CNLSTM模型的最后一层为全连接,该层将LSTM单元输出的高维用户历史购买行为信息压缩为一个特

征向量hI

={h1,h2,…,hn

},进行用户商品对的分类,预测用户是否会购买某种商品,其函数表达式如下:

dlI-1I-1i=∑wji(σ(hI-1

i)+bi)

(7)

式中:σ为非线性激活函数;wI-1

ji表示第I-1层的第i节点与第I层的第j节点的权重;bI-1

i为偏置。

基于CNNLSTM模型的用户购买行为预测算法如

算法2所示。

算法2 基于CNNLSTM模型的用户购买行为预

 

 62   测算法。

输入:用户属性数据(U)、商品属性数据(M)和用户对商B);品的行为数据(

输出:用户商品对(UM),是否购买(buy)(1:表示购买,0:表示未购买);

计算机应用与软件

续表2

字段

字段说明

2020年

提取说明用户购买与浏览的商

品总数之比

用户购买与加购的商buy_browse_ratio购买浏览转化率算法流程:

1:readdate={U,M,B}

//读取输入数据,构建用户行为特征

2:createx0

i={x1,x2,…,x10

}//构建用户行为特征

3://根据样本均衡算法进行用户购买行为数据样本均衡

U

=choose(U)

4://设置卷积核数量为32,卷积尺寸3,根据式(1)进行卷积操作,得到特征向量矩阵

Cu=ReLU(Convolution(32,3,3))

5://设置池化层尺寸为2,根据式(2)进行池化操作,特征

//降维得到新特征向量Cu

Cu=

MaxPooling(3,3)(Cu)6://根据式(3)到式(6)进行LSTM层训练,得到特征向

//量矩阵Lu

Lu=LSTM(output=128,activation=′tanh′)(Cu)7:buy=softmax(Lu)

//根据式(7)进行用户购买行为分类

2 实 验

2.1 数据集

本文选用天池大赛中阿里巴巴移动电商平台数据集进行测试,包括11月18日到12月18日的2084859条用户历史购买行为数据:包含用户标识、商品标识等6个字段,19972个用户,1054种类的422858件商品,对1

2月19日用户对商品的购买行为进行预测[14]。其中,行为信息有浏览、收藏、加购物车、购买

四种方式。对清洗后的数据字段进行组合优化,删除用户行为时间、商品位置与用户位置字段,增加购买浏览转化率、购买收藏转化率、购买加购转换率三个与用户购买行为密切相关的3个字段,优化后的数据字段如表2所示。

表2 测试数据字段

字段字段说明提取说明user_id用户编号抽样&字段脱敏item_id商品编号抽样&字段脱敏包括浏览、收藏、加购behavior_type用户对商品的

行为类型物车、购买,对应取值

分别是1、2、3、4item_category

商品分类标识

字段脱敏

buy_addcart_ratio购买加购转化率品总数之比

buy_favor_ratio购买收藏转化率

用户购买与收藏的商品总数之比

2.2 评估指标

这里采用精确率P、召回率R和F1值三个指标来评估预测模型性能。根据样例真实类别与CNNLSTM预测类别组合划分为真正例(TP)、假正例(FP)、真负例(

TN)、假负例(FN)四种类型,混淆矩阵如表3所示。预测结果在主对角线上取值越大,副对角线上取值越小的模型越好。将混淆矩阵数字化后即为精确率P、召回率R和F1值,计算公式分别为:

P=TP

TP+FP(8)R=TPTP+FN(9)F1=2×P×RP+R

(10)

表3 用户购买行为混淆矩阵

真实情况

预测结果

正例(购买)负例(未购买)正例(购买)TP(预测购买,FN(预测未购买,实际购买)实际购买)负例(未购买)

FP(预测购买,TN(预测未购买,实际未购买)

实际未购买)

2.3 实验结果与分析

(1)CNNLSTM模型验证。为了验证CNNLSTM模型的性能,我们将CNNLSTM模型与5种基线模型进行比较。参数设置如表4和表5所示。

表4 机器学习算法参数设置

模型类别

主要参数取值错误项的惩罚系数

1.0支持向量机

核函数高斯核函数阈值0.001最大迭代次数-1最大的弱学习器的个数

60最大特征数

10随机森林决策树最大深度13内部节点再划分最小样本数

120叶子节点最少样本数

20

 

第6期   

胡晓丽,等:基于CNNLSTM的用户购买行为预测模型

续表4

模型类别

主要参数学习率最小孩子权重

树深度取值0.316 63

从表6中的实验结果可以看出,基于CNNLSTM模型的F1值在训练集和测试集中均高于其余基准模型,其原因主要为该模型集成了CNN在网络特性提STM记忆机制处理时序模型方取、特征选择方面和L面的优势。XGBoost模型的F1值优于CNN模型,低于XGBoost

最大增量步长0树的个数100随机种子

1000

表5 神经网络参数设置

模型类别

主要参数取值学习率0.001卷积核个数

32CNN

卷积核大小5×5池化核大小2×2优化函数Adam激活函数ReLU学习率

0.001LSTM

隐藏层神经元数量128LSTM隐藏层数量

2优化函数Adam学习率0.001卷积核个数32卷积核大小

3×3CNNLSTM

池化核大小2×2CNN输出向量维度256LSTM隐藏层神经元数量

128LSTM隐藏层数量

2优化函数

Adam为了保证实验数据的准确和客观,将每个模型在同一训练和测试数据集上分别运行10次,求得精确率、召回率和F1值的平均值作为模型最终结果,所得结果如表6所示。

表6 六种用户购买行为预测模型精确率、召回率和F1值对比模型类别

训练数据集

测试数据集

精确率召回率F

1值准确率召回率F1值支持向量机0.6750.7330.7030.6020.6820.640随机森林0.7310.7870.7580.6990.6560.677XGBoost0.8180.8340.8260.7800.7690.774CNN0.7850.7460.7650.7640.7430.753LSTM

0.8280.8540.8410.8020.8420.822

CNNLSTM0.8750.8430.8560.8560.8390.847

LSTM模型的F1值,主要原因为XGBoost是一种集成很多弱分类器的强分类器,在很多数据挖掘相关比赛中的表现多次优于神经网络。此外,LSTM模型的表现优于C

NN和XGBoost模型的主要原因与本次的实验数据选择密切相关,本次采用的数据集是用户购买行为一个月的历史数据,属于标准的时序数据,LSTM模型较其余基准模型更适合时序数据的分析和预测。

从表6中可见,

6种模型在训练数据集上的F1值均优于其在测试数据集上的F1值。主要原因是模型仅仅在测试数据集寻找购买行为的样本,其中有部分在1

2月19日购买的用户为新进用户,在训练集中的11月18日到12月18日(除11月11日外)一个月时间之内没有该用户购买历史记录,模型预测将其预测为未购买用户,导致模型预测结果的召回率降低,F1值也随之下降。

为了更直观地验证C

NNLSTM模型的稳定性,将六种模型的1

0次训练数据集的F1值画出折线图分析波动幅度,如图4所示。

图4 六种模型F1值变化曲线

可以看出,CNNLSTM模型与支持向量、随机森林和C

NN模型在预测效果上有明显优势。LSTM和XGBoost模型偶尔一次的F1值会优于CNNLSTM模型,然而LSTM和XGBoost模型的F1值跟随实验次数波动较大对于整体效果而言,CNNLSTM模型处于高F1值的区间小幅度波动,模型稳定性较好。

(2)“分段下采样”样本均衡算法验证。图5为6种模型样本均衡前后的F1值对比结果,可以看出,经过分段下采样样本均衡算法的六种模型的F1值均有不同程度的提升。其中支持向量机、随机森林、XG

 

 64   

计算机应用与软件

1-6. 

[6]祝歆,刘潇蔓,陈树广,等.基于机器学习融合算法的网络

J].统计与信息论坛,2017,32(12):购买行为预测研究[94-100.

[7]卢泓宇,张敏,刘奕群,等.卷积神经网络特征重要性分析

及增强特征选择模型[J].软件学报,2017,28(11):2879-2890.

[8]KimTY,ChoSB.Predictingresidentialenergyconsump

tionusingCNNLSTMneuralnetworks[J].Energy,2019,2020年

Boost、CNN、LSTM这5种模型的F1值提升比较明显。实验结果表明,使用分段下采样的样本均衡算法对样本不均衡的用户行为历史数据进行均衡处理,对提升用户购买行为的预测准确率有一定作用。

图5 六种模型样本均衡前后F1值对比

3 结 语

本文基于CNNLSTM模型对用户购买行为进行预测,与现有的购买行为预测模型相比,简化了特征选择过程,提高了模型准确性和稳定性。分段下采样样本均衡算法有效解决了电商平台中购买样本与未购买样本极度不均衡的问题,提升了CNNLSTM模型预测的准确率。然而,目前的模型尚未考虑用户性别、年龄、商品评论以及“双十一”“六一八”重大促销活动等信息对用户购买行为的影响。在后续研究中,我们将构建一种能够包含更多上述信息的用户购买行为预测模型,使其预测更精准、实用。

参考文献

[1]中国互联网络信息中心.第43次中国互联网络发展状况

统计报告[R].北京:中国互联网络信息中心,2019.[2]何绯娟,郭朝彤,吴蓓,等.社区问答网站中问题的刻面组

织方法———以知乎网站为例[J].情报杂志,2018,37(3):182-186.

[3]Slahtarog)luG,Dnerta爧liH.AnalysisandpredictionofE

customersbehaviorbyminingclickstreamdata[C]//2015IEEEInternationalConferenceonBigData(BigData).IEEE,2015:1466-1472.

[4]曾宪宇,刘淇,赵洪科,等.用户在线购买预测:一种基于

用户操作序列和选择模型的方法[J].计算机研究与发展,2016,53(8):1673-1683.

[5]LiuX,LiJ.Usingsupportvectormachineforonlinepur

chasepredication[C]//2016InternationalConferenceonLogistics,InformaticsandServiceSciences(LISS).IEEE,2016:

182:72-81.

[9]JaderbergM,DalibardV,OsinderoS,etal.Population

basedtrainingofneuralnetworks[EB].arXivpreprintarXiv:1711.09846,2017.

[10]周成骥.基于机器学习的商品购买行为预测模型设计

[D].广州:广州大学,2018.

[11]FernándezA,GarciaS,HerreraF,etal.SMOTEforlearn

ingfromimbalanceddata:progressandchallenges,markingthe15yearanniversary[J].Journalofartificialintelligenceresearch

,2018,61:863-905.[12]HaixiangG,YijingL,ShangJ,etal.Learningfromclass

imbalanceddata:Reviewofmethodsandapplications[J].ExpertSystemswithApplications,2017,73:220-239.[13]JData[OL].2019-07-26.https://www.datafountain.cn/

competitions/247.

[14]阿里天池[OL].https://tianchi.aliyun.com/competition/

entrance/231522/information.

[15]厍向阳,王邵鹏.基于卷积LSTM网络的广告点击率预测

模型研究[J].计算机工程与应用,2019,55(2):179-186. 

[16]张宜浩,朱小飞,徐传运,等.基于用户评论的深度情感分

析和多视图协同融合的混合推荐方法[J].计算机学报,2019,42(6):1318-1332.

[17]YuY,SiX,HuC,etal.Areviewofrecurrentneuralnet

works:LSTMcellsandnetworkarchitectures[J].Neuralcomputation,2019,31(7):1235-1270.

(上接第33页)

[11]徐彬,李华,张荣,等,探索式软件测试融于传统测试模型

的研究[

J].电子与封装,2017,17(6):16-18.[12]杨晓慧.软件测试价值提升之路[M].北京:机械工业出

版社,2017.

[13]MyersGJ,SanslerC.Theartofsoftwaretesting[M].3rd

ed.

北京:机械工业出版社,2013.[14]余久久.软件探索性测试发展及其关键技术展望[J].宜

宾学院学报,2017,17(12):57-60.

[15]史亮,高翔.探索式测试实践之路[M].北京:电子工业出

版社,2012.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务