朱鹏军
摘要:用户画像是数据挖掘领域非常重要的研究领域,该文通过对工业用户行为数据的分析与研究,提出了一种用户特征分析方法,通过结合集成学习中的随机森林方法,达到非常好的预测结果!与逻辑斯回归、支持向量机、梯度提升决策树等方法的进行对比,本方法无论是在预测效果上,还是在训练时间上,都具有压倒性的优势。
关键词:机器学习;用户画像;性别预测
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)02-0158-03
随着大数据时代到来,产生了越来越多的数据,这些看上去杂乱无章的数据,工程师可以通过利用机器学习算法挖掘出这些数据存在的内在规律。将这项技术应用工业场景中去,可以对用户进行精准的推荐和营销,进而可以产生极大的经济效益!
用户画像通常可以帮助企业进行精细化运作[1],而传统的方法常常通用标签来对用户进行标记,随着使用用户越来越多,用户的行为也越来越多样化,传统的方法在准确率差的弊端越来越明显。例如,通过对某个流行游戏的性别比例、年龄分布等进行可视化,可以为企业分析决策提供理论依据,转化为实际价值和效益。
本文研究的任务属于人工智能人物画像中的性别预测,即通过统计机器学习方法给未带性别标签的数据打上性别标签。本文的创新与贡献有两个:第一、使用工业数据进行建模挖掘,这些数据是通过爬取而来,将该数据集进行脱敏处理,供学术界进行研究使用。第二、根据数据的特点,提出一种新的行为特征表征思路,即将用户行为特征离散化处理,映射到高维空间,最后结合集成学习中的随机森林方法进行建模,取得了非常好的效果!由于面对的是真实的工业数据,更加贴近实际,故可以将该方法应用到类似的工业场景中去。
1 概述
本研究任务在机器学习领域中,该任务属于分类任务。常见的分类算法[2]有感知机、逻辑斯回归(LR)、支持向量机(SVM)、决策树(DT)等等。此外,还有一类综合了几种弱分类器的集成方法[3],它可以将多个基学习器进行线性组合,进而构建出一个强大的学习器。最常见的集成学习方法有Bagging和Boosting方法,Bagging的代表方法有随机森林(RF),Boosting的常见方法有Adaboost、梯度提升决策树(GBDT)等。
用户行为特征具有以下特点:第一、数据分布不均匀。有些数据极度不均衡,导致无法直接应用到模型中去。第二、数据质量差,数据常常有定性和定量特征。。在面对这种特点的工业数据时,我们思路常常是将基于用户来进行数据挖掘分析,但本文实践表明,这种方法取得的效果并不好!本文的研究思路是将用户数据特征离散化处理,即在处理数据时不再基于每一个用户所有特征来进行用户挖掘,而是基于每一条用户的行为特征来进行处理。这样做的好处可以将数据从线性不可分转化为线性可分。
在机器学习过程中,特征分为定性特征和定量特征。定性特征和定量特征都是能在某种程度上反应用户的行为特性及规律,它们的区别在于是否是数值型。定性特征常常是一个字符串,所有定性特征可看作为一个标记符来处理。对定性特征处理最常用的方法是独热编码,又称哑编码。定量特征的处理往往没有这么复杂,最常见的处理就是进行标准化,或进行缩减處理。
定性特征和定量特征都是用户的行为特征,但不是所有用户特征对于预测性别都有帮助:有的特征在模型时所起的作用很小,有时还起到负面的作用,例如用户各种行为的ID号。这时就需要从这些特征中找出重要的特征,这用到特就会用到特征降维,如组成成分分析,特征重要性排序等方法。
2 模型训练
2.1 建模思路
在对用户特征处理之后,如何对这些数据进行建模,是整个研究的核心组件之一,而建模就是找出这些数据内在规律。本文在选用模型时,使用了机器学习中常见的算法,做了两组对比实验:第一、基于用户所有的行为特征进行建模。第二、基于用户的每一条行为特征进行建模。
基于用户所有的行为特征来建模,需要将数据集进行合并整理。从逻辑上来讲,基于用户所有的行为特征相当于将一个时间窗内的所有用户行为特征整合在一起,通过这种方式,能够更加直观的对人物表征,并且这个建模方法更符合人们的正常逻辑思维。
2.2 建模方法
由于本研究的问题属于分类问题,所以下面就使用一些常见的分类方法进行实现研究。
2.2.1 逻辑斯回归
逻辑斯回归[3]是个常见的分类方法,良好的性能以及训练效率,使得它成为一个非常受欢迎的分类方法。假设带有标签训练数据集[T={(x1,y1),(x2,y2),...,(xn,yn)}]:
[f(x)=g(wTx)] (1)
[g(z)=1/(1+exp(-z))] (2)
在式1中,w和x分别是参数和特征向量,x是已知的。在式2中,g(z)是sigmoid函数。逻辑斯回归是的损失函数L([θ])是对数损失函数,通过使用随机梯度下降法作为最优化方法求出参数,如式3
[L(θ)=i=1nyi(θTxi)-inlog(1+exp(θTxi))] (3)
2.2.2 支持向量机
支持向量机[4]是也工业界常用的分类算法,它是定义在特征空间上的间隔最大化的分类器。假设带有标签训练数据集[T={(x1,y1),(x2,y2),...,(xn,yn)}]。SVM的优化目标就是分离超平面的间隔最大化,其目标函数即为式(4):
[minw,b 12||w||2] (4)
[s.t yi(w.xi+b)-1≥0, i=1,2...N] (5)
在式(4)中,w和x分别是参数和特征向量,x是已知的。在求解上式的参数时,可以通过应用拉格朗日对偶性进行平滑处理,进而得到原始问题的最优解。endprint
2.2.3 梯度提升决策树
梯度提升决策树[5]是集成学习中boosting族的算法,在分类和回归中应用极广,其原理是计算损失函数的负梯度在当前模型的值,将它作为残差的估计。梯度提升方法在迭代优化过程中采用了梯度计算而非加权计算,通过在每一步的残差减少的梯度方向上训练新的基学习器,最后通过集成得到强学习器。GBDT的预测函数如式(6):
[F(x;P)=F(x;{βm,βm}M1)=m=1Mβmh(x;αm)] (6)
在上式中,[F(x;P)]表示以P为参数的x的函数,即我们的预测函数。GBDT模型是由每轮迭代的弱分类器线性组合而来,[β]表示每个模型的权重,[α]表示模型里面的参数。该模型的损失函数,即为式(8):
[P*=argmin(Φ(P))] (7)
[Φ(P)=Ex,yL(y,F(x;P))] (8)
上式[Φ(P)]表示P的似然函数,即[F(x;P)]的损失函数。另外求解参数的优化方法为梯度下降法。GBDT算法几乎适用于所有的回归问题,比较适用于二分类问题。
2.2.4 随机森林
随机森林[6]是由多棵决策树组成的集成分类器[{h(x,Θk),k=1....}],每一个棵树都是一个基分类器[h(x,Θk)],各个分类器之间是相互独立的,将每个基分类器的分类结果进行投票获取最终的分类结果。
构建随机森林的过程也是逐步构建决策的过程,从原始数据集中,进行Bootstrap方法进行有放回的抽取k个新的样本,由此构建出一个决策树。将上述步骤不断的迭代,然后构建出m棵树,进而由这些树构建出随机森林[7],如图1所示。
随机森林算法中的随机采样样本以及随机抽取样本特征,在某种程度上保证了模型的泛化能力。式(9)说明了使用多数投票决策的方式来 确定最终的分类。
[H(x)=argmaxYi=1kI(hi(x)=Y)] (9)
其中, [H(x)]表示组合分类模型,[hi(x)]是单个决策树分类模型,Y表示输出变量(或称目标变量)。随机森林除了做分类器外,还可以辅助给特征重要性排序和特征选择[8]。
3 实验结果与分析
3.1 数据集描述
训练数据集有30万条用户行为数据,每条数据是一个用户行为记录,测试集有5万条用户行为数据。每个用户大约各有7条行为记录。
在表1中,表头中,D_i表示用户设备的device_id,A_p表示用户使用的App_name,d_b_n表示device_brand_name,p_n表示用户所在的省份province_name,n_n表示用户使用的网络。当基于每一个用户的行为记录进行建模时,需要进行合并处理,依据每个用户的devide_id进行合并。
3.2 实验结果分析
基于用户行为特征对用户的性别进行预测是一个二分类问题,而对与二分类问题常用的评价指标是精准率(P)、召回率(R)[3]。分类器在测试数据集上的预测或正确或不正确,四种情况出现的总数分别记作:
TP:将正类预测为正类数;
FN:将正类预测为负类数;
FP:将负类预测为正类数;
TN:将负类预测为负类数;
P和R代表精准率和查全率,它们的定义如公式(10-11)所示:
P = TP/(TP+FP) (10)
R = TP/(TP+FN) (11)
另外,F1代表精准率和召回率的调和平均数,如公式(12)所示:
F1 = 1/P + 1/R1 (12)
另外,我们使用正确率(acc)来表示分类器正确分类的样本数和总樣本数之比。
使用以上指标,分别对每一个模型进行评估,下面分别对两种不同的特征工程进行评估:(1)首先,用以上评估指标对用户所有行为记录进行建模评估,各项指标如表3所示:
从表3可以看出,几种算法的表现都不是很令人满意,其中LR和RF的精准率最高,均比精准率最低的SVM高了0.2个百分点左右。召回率最高的是SVM和GBDT模型,说明预测集中所有男性都被预测了出来。另外,F1和准确率两个指标的表现类似,但是总体来说,以上常见模型的表现并不能令人感到满意。
(2) 其次,使用以上评估指标对用户每一条行为记录进行建模评估,各项指标如表2所示:
从表2中,相对于表3,可以看出,各评估指标都有课明显的提升。其中,随机森林算法模型提升效果最为显著,准确率提升了29.1%,精准率提升了26.16%,召回率和F1值也提升了20%左右。
从以上实验可以看出,使用集成学习中的RF方法对用户每一条行为记录进行建模,相比其他模型来讲,可以对用户的性别进行有效的预测。该方法可以将若干弱分类器进行集成,通过减小每次迭代的方差提升效果。此外,基于用户的每一条行为记录进行建模,可以增大某个特征类别比重。在训练时间上,随机森林的训练时间最短,效率最高。
4 未来工作
工业中的数据比较复杂,虽然在该任务取得了非常不错的效,但是本文在对特征的处理上仍然存在着一定的缺点:当数据中的某一列特征的类别非常多时,编码后特征维度就会非常大,整个特征矩阵就会非常稀疏,在模型训练时耗内存和耗时非常严重。下一步研究思路是将这些高基数的特征类别进行压缩,该思路可以有效可降低特征维度。同时,降低训练机器的内存消耗,训练时间。
参考文献:
[1] 黄文彬,徐山川,吴家辉,等.移动用户画像构建研究[J].现代情报, 2016,36(10):54-61.
[2] 周志华,王珏.机器学习及其应用[M].清华大学出版社,2009.
[3] 李航.统计学习方法[M].清华大学出版社,2012.
[4] C.Cortes and V.Vapnik. Support vector networks.Machine Learning, 20:1-25, 1995.
[5] Friedman J H. Greedy function approximation: A gradient boosting machine.[J]. Annals of Statistics, 2001, 29(5):1189-1232.
[6] BreimanL.RandomForest[J].Machine Learning,2001, 45:5-32.
[7] 方匡南,吴见彬,朱建平,等.随机森林方法研究综述[J].统计与信息论坛, 2011, 26(3):32-38.
[8] 姚登举,杨静,詹晓娟.基于随机森林的特征选择算法[J].吉林大学学报(工), 2014, 44(1):137-141.endprint