1、 基金资助:国家自然科技基金项目(61332066,81373239)作者简介:金玉(1992-07-27) ,女,硕士研究生,数据科学 .通讯作者:琚生根基于 Co-training 的用户属性预测研究金 玉,王 霞,琚生根 *,孙界平,刘玉娇 (四川大学 计算机学院,四川 成都 610065)摘 要:针对当前基于第三方应用数据的用户属性预测算法较少考虑应用前台实际使用时长问题,提出了“手机应用前台均使用时长”特征,同时采用基于稀疏自编码器和神经网络的 Co-training 框架,充分利用大量未标注数据,从应用类别和前台均使用时长两个角度进行属性预测。实验进行时,首先使用未标注数据对网络进
2、行初始化,然后采用基于准确率的梯度下降算法对参数进行更新。实验结果表明,本文算法提高了用户属性预测准确率。 关键词:用户属性; Co-training; 稀疏自编码器; 梯度下降算法中图分类号:TP391 文献标志码:AResearch on Demographic Prediction Based on Co-trainingJIN Yu,WANG Xia, JUShengGen, SUNJiePing, LIUYuJiao (Sichuan University, College of Computer Science, Sichuan Chengdu 610065, China)Abst
3、ract: In view of the most existing user attribute prediction methods based on application that is less considered actual use time of application in the foreground, put forward average use time of application in the foreground, At the same time, the Co-training framework based on sparse autoencoder a
4、nd neural network is adopted, make full use of a large number of unlabeled data, predict user attribute from application category and average time used of application in the foreground. When the experiment is carried out, first the network is initialized with unlabeled data, then the gradient descen
5、t algorithm based on accuracy is used to update the parameters. Experimental results show that the proposed algorithm improves the accuracy of user attributes prediction.Key words: User attribute; Co-training ; Sparse autoencoder; Gradient Descent Algorithms随着智能手机与网络技术的发展,手机已改变了人们的生活方式。基于智能手机的可编程性,可
6、开发数据收集工具来记录手机用户的行为信息,通过分析这些信息,可以了解手机用户的时空信息和社交信息。然而获取这些信息需经用户许可,在实际应用中,因涉及隐私,所以可行度较低。与获取个人信息不同的是,安装在用户手机上的应用可以在不经用户许可的前提下获取手机应用的安装列表以及使用情况,由于所获取的信息不涉及用户隐私,所以可用来预测用户属性,为用户提供更好的服务 1-3。目前,利用手机应用数据进行用户属性预测的研究较少 4-6,设计一个不涉及用户隐私并且准确率又高的用户属性预测算法还需进行大量的研究。Suranga提出了一种基于手机应用安装列表的用户属性预测算法,该算法以列表中流行应用描述为特征 【7】
7、 ,构建多个支持向量机(SVM)对用户属性进行预测。但当用户手机应用安装列表中包含较少流行应用时,会出现数据稀疏问题,导致预测结果较差。Qin Z为进一步表达用户兴趣,构造一定时间内的应用使用频率作为模型特征 8,并采用贝叶斯方法对预测结果进行平滑和优化,提高了预测准确率。但是并不能反映用户对应用的使用时长,还是较为粗糙。针对目前算法的不足,本文一方面构造了一定时间内应用的前台均使用时长,它不仅能够反映一定时间内用户对应用的使用频率还能反映用户的使用时长,能进一步表达用户兴趣;另一方面为充分利用大量未标注数据和使用多角度特征进行模型预测,所以采用了Co-training框架。本文中Co-tra
8、ining框架包含两个均由栈式自编码器与神经网络结合的基算法。框架如图1所示。未 标 注 数 据抽 取属 性 2栈 式 自 编 码 器 1属 性 1栈 式 自 编 码 器 2初 始 化 网络 参 数属 性 2属 性 1训 练 数 据抽 取微 调 网 络 参 数 +训 练 神 经 网 络预 测 属 于 某 类 的概 率 大 于 阈 值Y预 测 属 于 某 类 的概 率 大 于 阈 值Y神 经 网 络 1神 经 网 络 2N是 否 还 有 未标 注 数 据YN结 束N是 否 还 有 未标 注 数 据Y结 束N预 测 分类 器 1预 测 分类 器 2图1 Co-training算法框架图Fig.1
9、Framework of Co-training1 属性选择本文在前人使用的应用类别属性的基础上,补充提出了应用前台均使用时长属性。应用类别如下表1所示。表1 应用类别Tab.1 Application category list应用类别体育竞速 健康健美 儿童教育 其他应用其他游戏 出版物 办公效率 商务职场图册漫画 地图出行 塔防策略 天气日历女频 实用工具 影视视频 拍摄美图新闻阅读 桌面美化 棋牌桌游 漫画理财金融 生活购物 电子书 男频益智休闲 短信通讯 移植汉化 系统优化经营养成 网游 考试学习 聊天社交角色扮演 跑酷动作 音乐节奏 音乐铃声飞行射击应用前台均使用时长是指用户在一定
10、时间内对应用的平均使用时长,计算公式如下所示。(1)nitT其中 表示一定时间内的应用前台均T使用时长, 表示一定时间内应用使用次n数, 表示第 次的应用前台使用时长。iti2 栈式自编码器+神经网络栈式自编码器(SAE)+神经网络(NN)模型作为Co-training框架中的基算法,前者用于提取数据的高层抽象特征,后者用于预测用户属性。SAE的目的是将低层次特征向高层次特征转换 9,本质上也是一类神经网络(NN),使用前需要利用训练数据对其网络参数进行优化 10,在本文中主要利用未标注数据对其网络参数初始化。本文考虑到手机数据并不是一种很复杂的数据。在网络层数选择上,SAE设为三层(包括输入
11、层),NN网络设为四层(SAE三层以及输出层)。其中SAE、NN网络结构分别如图2,3所示。图 2 SAE 结构图Fig.2 Structure diagram of SAE其中,Number( )=Number( ),1L1Number( )=Number( ),Number 为结点22数目。图 3 NN 结构图Fig.3 Structure diagram of NNNN(包括 SAE)网络结构中结点确定:在网络中共三层,中间层的结点个数根据前人的研究结论设置,输入输出层由训练集的输入输出确定。具体设置如下:输入层节点数为输入数据属性的维度;输出层节点数为输出的类标数目;第二层隐藏层节点数
12、根据 Kolmogorov 定理进行确定。Kolmogorov 定理表明隐层结点数计算如公式 1 所示。(2)21sn其中 为结点数目, 为输入层结点数 38。因此第二层的结点数目为 77。根据文献 11,隐层结点数计算公式如公式 2 所示。0.43.12.4507.351smnn(3)其中 为结点数目, 是输入层的个数, 是输出层的个数。本文根据该方法确定第三层的结点数目,那么 则为第二m层隐藏结点数。综上所述,不同用户属性预测时的网络节点数目如下表 2 所示。表2 网络结点数目Tab.2 Node number of network用户属性 第一层 第二层 第三层 第四层性别 38 77
13、17 2年龄 38 77 20 5学历 38 77 20 5职业 38 77 20 5结点激活函数:本文采用 sigmoid 函数作为结点激活函数,其输出值范围为0,1。SAE 参数初始训练:首先利用未标注数据对 SAE 网络中的参数进行训练,由此模拟未标注数据分布。在初始化过程中,采用梯度下降算法进行参数更新。NN 参数更新:NN 参数包括 SAE 参数和最后一层参数,其更新训练包括两个阶段:有标注数据训练和带软类标数据(未标注数据预测得到的带类标的数据)训练。假设 NN 参数为 , ,在采用()lijW()lib标注数据对 NN 网络最后一层参数训练以及微调 SAE 参数时,对参数的更新公
14、式如下所示。(4)()()(),llijijlijJb(5)()()()lliilibW在采用软类标数据进行参数优化时,仅选用属于某个类别概率大于一定阈值的可信样本数据输入模型进行参数优化,以降低潜在噪声数据(阈值小于设定值的数据)对网络产生负面影响。具体参数更新公式如式(6)、 (7)所示。(6)()()()1-,llijijlijWpJWb(7)() ()llii lib其中 是学习速率, 为当前样本在另一个基算法中预测类别的概率, 为网络l中的层, , 为网络层中的结点。ij3 Co-training联合预测本文算法步骤是:首先利用Co-training思想 12协同训练好分类器1 和分
15、类器21f;然后将待分类数据 同时输入分类器2fx1 和分类器2 中,分类器 1 和分类2ff器2 分别计算待分类数据属于所有类标f的概率 和 ;最后判断1|ipcx2|icx和 ,将最大概率类标|i |i作为预测类标返回。4 实验4.1 实验数据数据来源于联想公司。具体的数据分布如表3,表4所示。表3 未标注数据Tab.3 Unlabeled data不同用户数目 样本数目 涉及不同 App 个数5348 17793 31229表4 有标注数据Tab.4 Labeled data样本个数用户属性A 组 B 组 C 组 D 组 E 组性别 5236 3329年龄 1824 6335 2943
16、2254 1228职业 2645 4310 1425 2392 1358教育水平 2256 5193 2913 3286 1627本文将上述数据(未标注数据、有标注数据)按照1:1的方式划分为研究实验数据与对比实验数据。4.2 算法实验4.2.1 SAE参数初始化实验SAE利用未标注数据对SAE网络进行参数初始化,在Co-training算法中,包括了两个SAE (应用类别训练的栈式自编码器,均使用时长数据训练的栈式自编码器) ,分别采用不同属性特征(应用类别个数和均使用时长)进行训练。SAE参数初始化实验主要涉及未标注数据,因此本小节中实验的未标注数据为由未标注数据划分的研究实验数据。SAE
17、参数初始化包括四种不同用户属性中SAE网络中参数的初始化,实验过程相同,以下详解预测用户属性中性别中SAE参数初始化实验结果。1) 采用应用类别个数训练 1SAE在 中共有三层,则表示自身特征1SAE为两层。两层的表示误差结果分别如图4,5所示。图 4 第一层表征训练误差1SAEFig.4 First level training error of 1SAE从图4可以看出, 第一层训练误差1随着迭代次数的增加越来越小,最终获取的高层特征与原数据特征之间的差异越来越小,即越来越能代表原始特征。从图中可以看出,当SAE的迭代次数达到485次左右时,训练误差趋向于稳定,在0.005左右。图 5 第二
18、层表征训练误差1SAEFig.5 Second level training error of 从图5可以看出, 第二层训练误差1随着迭代次数的增加不是很稳定,当次数达到295时,有一次较大的误差下降,后面开始趋于稳定,处于0.025左右。图 6 整体表征训练误差1SAEFig.6 training error of 1SAE从图6可以看出, 整体表征训练误差随着迭代次数的增加不是很稳定,当次数达到260时,训练误差在0.185以下,较为稳定。因此在预测用户性别,在使用未标注的数据(属性为应用类别个数)对网络参数初始化时,迭代次数设置为260。用户年龄、学历以及职业预测中的采用应用类别个数属性
19、对SAE网络初始化迭代次数确定过程类似,由于这三者的SAE网络结构完全相同,因此迭代次数设置均为290。采用类别均使用时间训练 与上述2SAE类似,可以得出使用未标注的数据(属性为类别均使用时间)对网络参数初始化时,迭代次数设置为310。用户年龄、学历以及职业预测迭代次数设置均为330。4.2.2 SAE+NN用户属性预测实验本文分别采用应用类别个数特征、类别均使用时间特征,不同的SAE迭代次数、NN迭代次数对用户属性进行预测。SAE+NN用户属性预测实验主要涉及标注数据,本小节实验采用的标注数据从整个标注数据样本划分出来的研究实验数据,并将该实验数据按照2:1 的方式再次划分为训练数据集以及
20、测试数据集。SAE+NN用户属性预测实验主要是根据测试数据集上的准确率来确定最终Co-training框架中SAE 以及NN的迭代次数。2) 用户性别预测图 7 均使用时间特征性别预测对比图Fig.7 Gender prediction of average time采用均使用时间特征对性别进行预测,从上图7可以看出,准确率最高的为0.783,该点的SAE 迭代次数为250,NN的迭代次数为250,表明在采用均使用时间作为特征训练性别预测模型时,SAE与NN的网络在该迭代次数学习最为充分。因此在Co-training算法进行预测性别时采用的基算法1中SAE、 NN的迭代次数分别设定为250,2
21、50。图 8 应用类别特征性别预测对比图Fig.8 Gender prediction of Apptype采用类别个数特征对性别进行预测,从上图8可以看出,准确率最高的为0.7767,该点的SAE迭代次数为150,NN的迭代次数为150,表明在采用类别个数作为特征训练性别预测模型时,SAE与NN的网络在该迭代次数学习最为充分。因此在Co-training算法进行预测性别时采用的基算法2中SAE、 NN的迭代次数分别设定为150,150。3) 用户年龄预测图 9 均使用时间特征年龄预测对比图Fig.9 Age prediction of average time采用均使用时间特征对年龄进行预测
22、,在Co-training算法进行预测年龄时采用的基算法1中SAE、NN的迭代次数分别设定为200,500。图 10 应用类别特征年龄预测对比图Fig.10 Age prediction of Apptype采用类别个数特征对年龄进行预测,在Co-training算法进行预测年龄时采用的基算法2中SAE、NN的迭代次数分别设定为450,100。用户学历、职业预测与用户年龄预测类似,可得分别得出在Co-training算法进行预测学历时采用的基算法2中SAE、NN的迭代次数分别设定为500,400,预测职业时分别为400,500。4.2.3 基于Co-training的用户属性预测实验本文主要通
23、过实验对比本文算法与前人算法文献 8( Suranga) 、文献 9(ZhenQin)以及传统的经典机器学习算法(朴素贝叶斯、决策树)进行比较,验证本文算法的有效性。该实验中用到的数据为4.1.2节中未标注数据以及有标注数据划分出来的对比实验数据。Co-training算法中包括了两个基算法,皆为栈式自编码器(SAE)+神经网络(NN)组合算法,记为预测分类器1和2。其中预测分类器1是基于应用类别个数属性训练预测,预测分类器2是基于应用类别均使用时长属性训练预测。4) 用户性别预测预测分类器1参数设定:SAE参数初始化迭代次数为260,SAE参数、NN训练迭代次数为150,150,Co-tra
24、ining迭代次数为 500, 为0.5。预测分类器 2参数设定:CSAE参数初始化迭代次数为310,SAE参数、NN训练迭代次数为250,250。图 11 性别预测不同算法对比图Fig.11 Comparison of different algorithms for gender prediction从上图11可以明显看出,本文所提出的两类算法均优于Suranga以及ZhenQin文中的算法。5) 用户年龄预测预测分类器1参数设定:SAE参数初始化迭代次数为290,SAE参数、NN训练迭代次数为450,100,Co-training迭代次数为 500, 为0.2。预测分类器 2参数设定:C
25、SAE参数初始化迭代次数为330,SAE参数、NN训练迭代次数为200,500。图 12 年龄预测不同算法准确率对比图Fig.12 The accuracy of different algorithms of age prediction图 13 年龄预测不同算法召回率对比图Fig.13 The recall of different algorithms of age prediction图 14 年龄预测不同算法 F1 值对比图Fig.14 The F1 of different algorithms of age prediction6) 用户学历预测预测分类器1参数设定:SAE参数初
26、始化迭代次数为290,SAE、NN参数训练迭代次数为500,400,Co-training迭代次数为 500, 为0.2。预测分类器 2参数设定:CSAE参数初始化迭代次数为330,SAE、NN参数训练迭代次数为200,500。图 15 学历预测不同算法准确率对比图Fig.15 The accuracy of different algorithms of degree prediction图 16 学历预测不同算法召回率对比图Fig.16 The recall of different algorithms of degree prediction图 17 学历预测不同算法 F1 值对比图F
27、ig.17 The F1 of different algorithms of degree prediction7) 用户职业预测预测分类器1参数设定:SAE参数初始化迭代次数为290,SAE、NN参数训练迭代次数为250,350,Co-training迭代次数为 500, 为0.2。预测分类器 2参数设定:CSAE参数初始化迭代次数为330,SAE、NN参数训练迭代次数为400,500。图 18 职业预测不同算法准确率对比图Fig.18 The accuracy of different algorithms of profession prediction图 19 职业预测不同算法召回率
28、对比图Fig.19 The recall of different algorithms of profession prediction图 20 职业预测不同算法 F1 值对比图Fig.20 The F1 of different algorithms of profession prediction从上图可以明显看出,本文所提出的Co-training算法在用户性别、年龄、教育、职业预测F1值方面优于前人算法以及经典的机器学习算法,说明了本文算法的有效性。5 结束语本文在前人研究的基础之上,提出手机应用前台均使用时长特征,并从两个独立角度对用户属性进行Co-training预测。Co-tr
29、aining中的基算法由栈式自编码器和神经网络组成。本文首先利用未标注数据对网络中的参数进行学习,提前构建数据分布;然后再利用带标注数据训练网络模型,其中,采用基于样本准确率的更新方法进行网络参数更新,本文的Co-training框架中的基算法是采用深度学习算法,能够较为准确地获取高层特征,但是当对大量数据进行训练时,时间性能较差。因此下一步的工作主要集中于两部分:在特征引用方面,主要考虑将应用的文本描述加入研究,进一步丰富特征;在时间性能方面,主要考虑如何减少算法的训练时间,提高时间性能。参考文献:1 Lee B M. Personalized service model for shari
30、ng medical devices in iot health-platformJ. Advanced Science and Technology Letters, 2015, 99: 180-182.2 Song S, Park S. METHOD AND APPARATUS FOR PROVIDING PERSONALIZED SERVICE: U.S. Patent 20,160,057,247P. 2016-2-25.3 ZHANG Y, WANG H. The Personalized Service Strategies of Library Based on Informat
31、ion Interaction BehaviorJ. Journal of Library and Information Sciences in Agriculture, 2015, 11: 041.4 LiKamWa R, Liu Y, Lane N D, et al. MoodScope: building a mood sensor from smartphone usage patternsC/Proceeding of the 11th annual international conference on Mobile systems, applications, and serv
32、ices. ACM, 2013: 389-402.5 Brdar S, Culibrk D, Crnojevic V. Demographic attributes prediction on the real-world mobile dataC/Proc. Mobile Data Challenge by Nokia Workshop, in Conjunction with Int. Conf. on Pervasive Computing, Newcastle, UK. 2012.6 Nadeem S, Weigle M C. Demographic prediction of mob
33、ile user from phone usageJ. Age, 2012, 1: 16-21. 7 Seneviratne S, Seneviratne A, Mohapatra P, et al. Predicting user traits from a snapshot of apps installed on a smartphoneJ. ACM SIGMOBILE Mobile Computing and Communications Review, 2014, 18(2): 1-8.8 Qin Z, Wang Y, Xia Y, et al. Demographic inform
34、ation prediction based on smartphone application usageC/Smart Computing (SMARTCOMP), 2014 International Conference on. IEEE, 2014: 183-190.9 Ng A, Ngiam J, Foo C Y, et al. Deep learningJ. 2014.10 Hosmer Jr D W, Lemeshow S, Sturdivant R X. Applied logistic regressionM. John Wiley & Sons, 2013.11 Bell
35、o M G. Enhanced training algorithms, and integrated training/architecture selection for multilayer perceptron networksJ. IEEE Transactions on Neural networks, 1992, 3(6): 864-875.12 Zhang Z, Deng J, Schuller B. Co-training succeeds in computational paralinguisticsC/2013 IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2013: 8505-8509.