APP下载

基于数字内容偏好的多标签分类应用

2021-02-27斌,李

计算机与现代化 2021年2期
关键词:分类器标签分类

刘 斌,李 笑

(陕西科技大学电子信息与人工智能学院,陕西 西安 710021)

0 引 言

随着互联网多路径发展,尤其是移动通信技术及相关数字化业务的快速发展,消费者对于文娱活动的需求越来越多元化,众多电信运营商都将数字内容作为多元化和未来型的业务,“内容”不仅是众多运营商的战略选择,也成为其改变增长方式、实现业务转型的实际行动。对于电信行业而言,从传统的管道流量经营向基于互联网内容经营的转型不仅能带来额外的营业收入,而且可以培养大部分用户高流量的使用习惯,促进内容引入,实现流量经营,从而增加用户黏性,维护企业长期健康发展[1]。

随着5G时代来临,传统业务向数字业务转变是必然趋势。如何从客户内容需求出发,在海量内容中提取所需信息、满足客户需求、实现精准营销是对数字内容运营能力的全新挑战。近几年电信行业的数字内容多是以视频、音乐、阅读等形式大量呈现,而每个用户对于数字内容的偏好、需求也各不相同。目前行业内主要是基于业务口径进行不同偏好的用户洞察,主观色彩浓厚,不利于数字内容用户规模的发展扩大,急需一个新的方法去处理此类用户偏好问题。

近年来,多标签学习在文本分类[2-4]、音乐情感分类[5-6]、图像视频标注[7-8]、生物信息[9-10]等领域有广泛的应用。其不同于传统的单标签分类中每个样本仅与一类信息有关,多标签分类需要输出多个标签信息,且其中每个样本与一组标签相关联[11]。由于标签之间存在较为复杂的相互关系,多标签分类问题比单标签问题变得更难处理。为此,本文引入多标签分类技术中的多种算法进行对比,择优建立数字内容偏好预测模型,精准识别不同偏好的目标客户,提高精准营销能力。

1 多标签分类

1.1 多标签分类方法

传统的单标签分类是指数据集中每个样本仅属于一个类别,而在多标签分类问题中,一个样本可以同时属于多个类别标签。大量研究结果表明:多标签分类方法大致可以分为3大类:问题转换方法[12]、算法适应方法[13]和集成方法[14]。

1.1.1 问题转换方法

问题转换方法先将多标签数据集转换成单标签数据集,再利用传统的二分类方法进行分类。属于该类模型的有:Binary Relevance(BR)、Classifier Chain(CC)、Label Powerset(LP)等。

BR[15]方法是将多标签分类任务转化为若干个独立的二分类问题。此方法完全忽略了标签之间的相关性,将每个标签的预测看成相互独立的二分类问题进行处理,往往很难达到较高的预测精度。

CC[16]方法是针对BR未考虑标记之间相关性导致信息损失的一种改进,结合了BR方法的计算效率,同时仍然能够考虑标签相关性进行分类。该方法将所有标签按照某种次序排成链,再依次对链上的各标签构建分类器,链后面的标签可以利用链前面标签学习到的分类结果。CC方法的优点在于:1)实现方式相对比较简单,容易理解;2)考虑标签之间的依赖关系,最终模型的泛化能力相对于BR方法效果更好。

LP[17]方法是一种针对多标签分类的问题转换方法,可通过对训练数据中找到的所有唯一标签组合进行训练,直接将多标记学习问题转化为多类学习问题。该方法将每个组合映射到唯一的组合标识号,并将问题解决为单标签多类。LP方法的优点在于:1)利用一个分类器考虑了多标签的相关性;2)在训练数据包括全部标签组合时通常是最优解。

1.1.2 算法适应方法

算法自适应方法通过采用某种特定的学习算法来直接处理多标签数据。该类方法主要包括:Lazy Learning(如ML-KNN)、Decision Tree(如ML-DT)、Kernel Learning(如Rank-SVM)、Neural Network(如BP-MLL)、Information-theoretic(如CML)等。

多标签决策树(Multi-Label Decision Tree, ML-DT)[18]方法采用决策树技术处理多标签数据,利用基于多标签熵的信息增益准则递归地构建决策树。该方法借鉴了决策树根据信息增益筛选特征生成分类器的思想,在多标签场景下,信息增益表示的是该特征对所有标签的鉴别能力。该方法的优点在于:1)充分考虑了多标签分类中各标签之间的关联性;2)有效挖掘了多标签分类中的关联信息。

ML-KNN(Multi-Label K-Nearest Neighbor)[18]是由传统的k近邻发展而来的,对于每一个测试样本,在训练集中找到其k近邻,并基于邻居样本的统计信息,如属于相同类别的邻居的个数,采用最大后验概率原则(MAP)决定测试样本的标签集合。该方法的优点在于:1)时间复杂度比支持向量机之类的算法低,仅为O(n);2)和朴素贝叶斯之类的算法相比,准确度高,对异常值不敏感;3)对于类域交叉或重叠较多的待分样本集,与其他方法相比,KNN更为适合。

1.1.3 集成方法

集成方法主要通过对问题转换法和算法转换法进行结合,从而更加综合地处理多标签分类问题,得到更好的实验结果。属于这一类的一些方法的例子是随机k-标签集(RAkEL)、分类器链集合(ECC)、预测聚类树的随机林(RFPCT)等。

由于本文标签集不相交,故可采用RakelD算法[19]通过不重复选择标签的方式构建标签子集进行训练。该方法给定标签集k的大小,将数据集L的标签集M随机等分为m个不相交标签集,并训练每个分区的Label Powerset分类器,每个分类器都面临一个单一的标签分类任务,再通过统计每个子分类器对相应标签的投票,由投票支持率对所有标签进行相关程度排序,再通过阈值筛选得到最相关的几个类别作为待预测样本的最终预测结果。

RakelD算法的优点在于:1)相比其他几种方法,可能只需要更少的分类器;2)相比LP算法,不容易对未出现的标签组合欠拟合;3)RakelD是一种高阶方法,其中标签相关度由k-labelsets的大小来控制,充分考虑了标签之间的依赖关系,弥补了LP方法可能产生偏斜数据的不足。

ETC(Extremely randomized Trees Classifier)[20]对待分类样本中的每棵决策树都会输出一个预测结果,该方法使用硬投票的方式综合考虑预测结果,最后输出该样本的所属类别。ETC算法的优点在于:1)此方法通过投票决策产生预测结果,具有更好的泛化能力;2)在节点分割上随机选择分割属性,增强了基分类器间节点分裂的随机性;3)具有自动选择特征的能力,可以实现并行化从而加速计算效率。

1.2 评价指标

本文分别从基于样本、基于标签和基于排序3个方面选择了几种常用的评价指标[21]。

1.2.1 基于样本的评价指标

基于样本评估的是数据集中实际标签集和预测标签集的平均差异,本文采用汉明距离的相似度来衡量。汉明距离值越小说明越相似,即hamming loss越小,学习系统的性能越好。

(1)

其中,p表示测试集的样本大小,q表示标签种类数,Δ表示2个集合的对称差,返回只在其中一个集合出现的那些值。

1.2.2 基于标签的评价指标

使用基于标签的方法分别预测每个标签的性能,并对所有标签的性能进行平均。本文采用Accuracy、Precision、Recall、F值(单标签学习中准确率、精准率、召回率、F值的天然拓展)来进行评估,其值越大,则学习系统的性能越好。

macro(宏平均)是先对单个标签下的数量特征计算得到常规指标,再对多个标签取平均;micro(微平均)是先对多个标签下的数量特征取平均,再根据数量特征计算得到常规指标。当每个类别的样本数量差不多时,宏平均和微平均无太大差异,故本文选取微平均进行相关计算。

(2)

(3)

(4)

(5)

其中,tpj、fpj、tnj、fnj分别为标签的真阳性、假阳性、真阴性、假阴性的个数,q是可能的类标签的总数。

1.2.3 基于排序的评价指标

基于排序的评价方法用于比较标签的预测排序和真实排序。本文采用AUC进行评估。AUC-Micro度量的是“排序正确”的数据对的占比,该值越大,则学习系统的性能越好。排序正确是指根据f(·)函数,对相关标签的打分会大于不相关标签的打分。

AUCmicro=

(6)

其中,S+={(xi,yj)|yj∈yi,1ip}表示相关的样本标签对;S-={(xi,yj)|yj∉yi,1ip}表示不相关的样本标签对。

2 基于数字内容的标签分类方法

2.1 数据集

本文以M电信公司用户的脱敏数据作为数据源,从用户基本信息、业务订购、流量使用情况、语音使用情况、APP使用情况、消费能力及标签数据多维度提取大流量客户属性数据,共计125个相关指标。部分指标如表1所示;并获取近3个月视频、音乐、阅读活跃用户清单,人工进行活跃维度的标注。由于一个人可能既属于视频活跃标签也属于音乐活跃标签,故以7个活跃维度作为标签,包括“视频活跃用户”“音乐活跃用户”“阅读活跃用户”“视频音乐活跃用户”“视频阅读活跃用户”“音乐阅读活跃用户”“视频音乐阅读活跃用户”,以此作为实验数据集。

由于运营商产生的数据大部分是非平衡分布的,且正负样本都足够多且比例不是特别悬殊,故考虑采样或者加权的方法。本文采用多次下采样产生多个不同的训练集,进而训练多个不同的分类器,通过比较多个分类器的结果得到最终的结果。以2019年8月大流量客户中视频、阅读、音乐活跃客户为正样本,其余非活跃的沉默客户为负样本,分别按照正负样本1∶1、1∶3、1∶5随机抽样,得到3份样本数据集。

数据集的多标签度是通过标签基数(LC)和标签密度(LD)来衡量的。标签基数指平均数据集中输入示例的标签数;标签密度用输入示例的平均标签数(标签基数除以标签数)表示标签数。标签密度值越低,标签在数据集中出现的次数就越少。对于本文数据集,标签基数为1.11表示每个示例的平均关联标签数超过1个。标签密度为0.37表示数据集中每个标签的平均出现百分比为37%。

表1 样本数据部分相关指标

2.2 数据预处理

2.2.1 异常值分析

异常值大概包括缺失值、离群值、重复值、数据不一致。通常情况下,对缺失值进行填充处理只是将未知值补以人们的主观估计值,不一定完全符合客观事实。为了保持原始信息不发生变化,本文对缺失数据不作处理。

图1 分箱法检测异常值

本文采用箱型图来检测异常值。如图1所示。设图中的下四分位数数据的25%分位点所对应的值为Q1;中位数即为数据的50%分位点所对应的值为Q2;上四分位数则为数据的75%分位点所对应的值为Q3;Q3-Q1表示四分位差。箱线图识别异常值判断标准是:当变量的数据值大于箱线图的上边界或者小于箱线图的下边界时,即为异常点。

常见的异常值处理办法是删除法、替代法(连续变量用均值替代、离散变量用众数以及中位数替代)、插补法(回归插补、多重插补)。对dou(计费流量)、mou(计费语音时长)、arpu(每用户平均收入)等数值型属性数据,利用分箱剔除异常值,对年龄等连续变量用均值替代,月费等离散变量用众数替代,保证预测模型不被异常数据影响。

2.2.2 构建衍生变量及离散化

本文数据集提取的是大流量客户的基本信息、消费信息、业务订购信息、流量使用信息等字段,建模过程是使用前3个月相关指标信息为输入,为了避免信息冗余,对mou、dou、arpu、流量饱和度等字段,按3个月求均值,并新增每个字段的3个月标准差信息,描述不同月的指标数据变化情况。

离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小,仅适用于只关注元素之间的大小关系而不关注元素本身的值的情况。本文基于业务经验对数据集中各连续变量进行数据离散化,对年龄的离散化如表2所示。

表2 年龄离散化

由于不同层级产品月费的客户在流量需求、资费敏感度、优惠订购等方面偏好异质,同层级间偏好一般一致,也需作离散化处理,如表3所示。

表3 月费离散化

2.2.3 特征工程

为了提高复杂关系的拟合能力,在特征工程中经常会把一阶离散特征进行两两组合,这样就构成了高阶的组合特征,比如:针对以往大流量客户画像的刻画经验,对不同维度特征进行组合,如年龄、性别、内容偏好和产品月费组合生成新维度特征。组合前维度特征单一、复杂度低、可解释性弱,组合后维度特征多样、复杂度高、可解释性强。

表4 特征组合前后对比

2.2.4 稀疏编码

LIBSVM使用的训练数据和检验数据文件格式如下:

[label] [index1]:[value1] [index2]:[value2] …

label的目标值是指要分类的种类;index是有顺序的索引,即特征编号,必须按照升序排列;value是特征值,用来训练的数据,通常由一堆实数组成。

本文将特征数据转换为LIBSVM格式后进行模型训练,LIBSVM格式的数据以稀疏矩阵的形式存储和计算,因此模型训练时需要处理的数据量大大减少,进而减少了资源占用,进一步提高了计算效率。

2.2.5 模型训练

通过建模数据准备、数据预处理及特征工程,得到67个入模指标,以训练集的入模指标为输入,活跃客户类型为输出,利用多种多标签分类算法构建预测模型。为了得到较好的预测效果,选择CC算法、LP算法、ML-DT算法、ML-KNN算法、RakelD算法及ETC这6种算法作为对比,其中,对于CC算法及LP算法采用的是基础分类器算法,为朴素贝叶斯分类算法;ML-KNN算法中的k设为8,smoothing取值为1;RakelD算法中基分类器为随机森林,标签子集大小设为3,模型个数设为标签数量的2倍,阈值设为0.5;ETC的基分类器为决策树,特征选择标准criterion使用基尼系数。

分别采用基于样本的评价标准:汉明损失(Hamming Loss),基于标签的评价标准:准确率(Micro-Accuracy)、精确率(Micro-Precision)、召回率(Micro-Recall)、F值(Micro-F1),基于排序的评价指标:AUC-Micro这6个评价指标进行效果比较。

3 实验结果分析

本实验将通过下采样生成的正负样本比例为1∶1、1∶3、1∶5的3份数据集,以7∶3的比例划分为训练集和测试集,采用6种多标签分类算法对训练数据集进行模型训练,并使用交叉检验的方法对模型进行优化,最后通过测试数据集来验证模型的有效性。

表6 正负样本比例为1∶3时6种算法的效果对比

表7 正负样本比例为1∶5时6种算法的效果对比

1)多标签分类算法有效性对比。表5~表7分别给出了不同比例下6种算法的对比实验结果。从表5的实验结果发现,在正负样本为1∶1的数据集中,无论是在汉明损失、F1_Score和AUC上,RakelD算法的性能都明显优于其他5种算法,AUC为0.87,F1_Score为0.82,汉明损失仅为0.06;从表6的实验结果来看,对于正负样本为1∶3的数据集,RakelD和ETC这2种算法在各项评估指标上的表现相差无几。从表7的实验结果发现:对于正负比例为1∶5的数据集,ML-KNN、RakelD和ETC这3种算法在各项评估指标上的表现差距甚微。但在建模时间上,ML-KNN算法耗时最长。3种不同比例的样本中使用ML-DT算法,精准率、F1_Score、召回率均差别不大。

对于多标签分类,更重要的指标是ROC-AUC曲线,这也是Kaggle比赛的评分指标,故在本实验的结果打分中,AUC占54%,汉明损失占12%,F1_Score占10%,准确率、召回率、精确率各占8%。综合评比得分最高为0.895,是在正负1∶3的数据集中,采用RakelD集成算法进行多标签分类,算法ML-KNN得分次之。

2)下采样有效性对比。通过对比不同正负样本比例下算法的有效性,来验证通过下采样改变负样本数量后能否提高预测模型。多标签分类算法有效性对比实验表明,RakelD算法与ML-KNN算法的效果较好,故使用ML-KNN作为RakelD算法的基本分类器,即RakelD_MLKNN方法,对正负样本比例不同的数据集分别进行预测。每组模型中的参数均设置为调参后的最优值。

图2为不同正负样本比例下RakelD_MLKNN算法效果对比,可以看出,通过下采样方法逐渐增加负样本的数目,6个指标都有提升,其中F1值的提升最为明显,在正负样本比例达到1∶3时,各指标值达到最好,预测效果最佳,之后继续增加负样本的数量,预测效果会开始降低,原因是通过下采样方法人工产生的负样本过多,使模型在测试集上的预测效果变差。

图2 不同正负样本比例下RakelD_MLKNN算法效果对比

4 结束语

本文通过在3份不同比例的真实数据集上进行的6种算法的对比实验发现,当实例的正负比例较小时,RakelD及ML-KNN的综合性能整体优于CC等4种分类器。综合对比多种指标,发现在正负样本1∶3的数据集中,采用RakelD_MLKNN算法进行多标签分类效果最好。

在未来的工作中,将结合大数据相关技术,采用组合模型的方法,将多种效果较优的算法相结合,实现算法并行化[22-23],提升算法效率,进一步提高多标签分类预测的准确性和稳定性。

猜你喜欢

分类器标签分类
分类算一算
分类讨论求坐标
无惧标签 Alfa Romeo Giulia 200HP
数据分析中的分类讨论
不害怕撕掉标签的人,都活出了真正的漂亮
教你一招:数的分类
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
标签化伤害了谁
科学家的标签