用户的分类方法、装置和非易失性计算机可读存储介质
文献发布时间:2023-06-19 13:46:35
技术领域
本公开涉及计算机技术领域,特别涉及一种用户的分类方法、用户的分类装置和非易失性计算机可读存储介质。
背景技术
近年来,人工智能和大数据等相关技术蓬勃发展并广泛应用。利用各平台(如电商平台、金融机构、社交平台)等提供的用户数据,可以对用户进行大数据分析。基于分析结果可以对用户进行分类,从而对不同用户进行有针对性的处理。
但是,由于海量数据分散在不同企业、组织,出于用户隐私和数据安全原因形成了“数据孤岛”现象。也就是说,各方数据不能直接共享或者交换,使得人工智能等技术的发展陷入瓶颈期。
在相关技术中,基于多个参与方提供的数据,在第三方进行联邦机器学习,从而在保护用户隐私和数据安全的前提下解决“数据孤岛”问题。
发明内容
本公开的发明人发现上述相关技术中存在如下问题:各参与方提供的数据质量良莠不齐,降低了用户分类联邦机器学习模型的性能,从而导致用户分类的准确性低。
鉴于此,本公开提出了一种用户的分类技术方案,能够对各参与方提供的数据进行评估和筛选,提高联邦机器学习模型的性能,从而提高用户分类的准确性。
根据本公开的一些实施例,提供了一种用户的分类方法,包括:从多个数据提供方获取用户的相关数据;以从各相关数据中提取的用户特征为节点,建立决策树模型作为第一用户分类模型;根据所述第一用户分类模型中各节点指向其他节点的次数,确定各节点的重要性度量用于从所述各节点中筛选重要节点;利用各重要节点建立第二用户分类模型,对所述用户进行分类。
在一些实施例中,所述根据所述第一用户分类模型中各节点指向其他节点的次数,确定各节点的重要性度量包括:根据任一节点在样本空间内的信息增益、所述任一节点指向的其他节点的信息增益、指向其他节点的次数,确定所述重要性度量,所述重要性度量与指向其他节点的次数正相关。
在一些实施例中,所述根据任一节点在样本空间内的信息增益、所述任一节点指向的其他节点的信息增益、指向其他节点的次数,确定所述重要性度量包括:计算各其他节点的信息增益的加权和,任一其他节点的权重与所述任一节点指向该其他节点的次数正相关;根据所述各其他节点的信息增益的加权和与所述任一节点的信息增益的加权和,确定所述重要性度量。
在一些实施例中,所述任一其他节点的权重为N/(N+M),N为所述任一节点指向该其他节点的次数,M为该其他节点指向所述任一节点的次数。
在一些实施例中,所述根据任一节点在样本空间内的信息增益、所述任一节点指向的其他节点的信息增益、指向其他节点的次数,确定所述重要性度量包括:以所述各节点之间的指向关系为有向连接,以所述各节点指向其他节点的次数为有向连接的权重,建立包含所述各节点的指向关系图,所述指向关系图中标注有所述各节点的信息增益;根据所述指向关系图,确定所述重要性度量。
在一些实施例中,所述第一用户分类模型为包含多个决策树模型的集成学习模型;所述根据所述第一用户分类模型中各节点指向其他节点的次数,确定各节点的重要性度量包括:在各决策树模型中,分别确定所述各节点的子重要性度量;根据各子重要性度量的加权和,确定所述各节点的重要性度量。
在一些实施例中,所述各节点的重要性度量用于评估相应的数据提供方的贡献度量。
在一些实施例中,所述用户的分类结果用于确定对所述用户的处理策略。
在一些实施例中,在建立实施决策树模型之前分类方法还包括:对获取的各相关数据进行预处理,滤除其中的恶意数据和低效数据。所述恶意数据包含的所有用户特征为空值或者相同值,所述低效数据根据IV判定。
在一些实施例中,所述第一用户分类模型为基于Secure boost算法建立的包含多个梯度提升树模型的分类模型。
在一些实施例中,所述决策树模型中每一个分裂节点对应的用户特征均是在当前样本空间中信息增益最大的用户特征。
在一些实施例中,所述根据所述第一用户分类模型中各节点指向其他节点的次数,确定各节点的重要性度量用于从所述各节点中筛选重要节点包括:根据任一决策树模型中所有节点的重要性度量最大值和重要性度量最小值,对该决策树模型中各节点的重要性度量进行标准化处理;根据标准化处理后的重要性度量从所述各节点中筛选重要节点。
根据本公开的另一些实施例,提供一种用户的分类装置,包括:获取单元,用于从多个数据提供方获取用户的相关数据;建立单元,用于以从各相关数据中提取的用户特征为节点,建立决策树模型作为第一用户分类模型;确定单元,用于根据所述第一用户分类模型中各节点指向其他节点的次数,确定各节点的重要性度量用于从所述各节点中筛选重要节点;分类单元,用于利用根据各重要节点建立的第二用户分类模型,对所述用户进行分类。
在一些实施例中,确定单元根据任一节点在样本空间内的信息增益、所述任一节点指向的其他节点的信息增益、指向其他节点的次数,确定所述重要性度量,所述重要性度量与指向其他节点的次数正相关。
在一些实施例中,确定单元计算各其他节点的信息增益的加权和,任一其他节点的权重与所述任一节点指向该其他节点的次数正相关;根据所述加权和与所述任一节点的信息增益的加权和,确定所述重要性度量。
在一些实施例中,所述任一其他节点的权重为N/(N+M),N为所述任一节点指向该其他节点的次数,M为该其他节点指向所述任一节点的次数。
在一些实施例中,建立单元以所述各节点之间的指向关系为有向连接,以所述各节点指向其他节点的次数为有向连接的权重,建立包含所述各节点的指向关系图,所述指向关系图中标注有所述各节点的信息增益;确定单元根据所述指向关系图,确定所述重要性度量。
在一些实施例中,所述第一用户分类模型为包含多个决策树模型的集成学习模型;确定单元在各决策树模型中,分别确定所述各节点的子重要性度量,根据各子重要性度量的加权和,确定所述各节点的重要性度量。
在一些实施例中,所述各节点的重要性度量用于评估相应的数据提供方的贡献度量。
在一些实施例中,所述用户的分类结果用于确定对所述用户的处理策略。
在一些实施例中,所述获取单元在建立实施决策树模型之前分类方法对获取的各相关数据进行预处理,滤除其中的恶意数据和低效数据。所述恶意数据包含的所有用户特征为空值或者相同值,所述低效数据根据IV判定。
在一些实施例中,所述第一用户分类模型为基于Secure boost算法建立的包含多个梯度提升树模型的分类模型。
在一些实施例中,所述决策树模型中每一个分裂节点对应的用户特征均是在当前样本空间中信息增益最大的用户特征。
在一些实施例中,所述确定单元根据任一决策树模型中所有节点的重要性度量最大值和重要性度量最小值,对该决策树模型中各节点的重要性度量进行标准化处理;根据标准化处理后的重要性度量从所述各节点中筛选重要节点。
根据本公开的又一些实施例,提供一种用户的分类装置,包括:存储器;和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行上述任一个实施例中的用户的分类方法。
根据本公开的再一些实施例,提供一种非易失性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例中的用户的分类方法。
在上述实施例中,根据基于全量数据建立的分类模型中各节点指向其他节点的次数筛选出重要节点,并基于重要节点建立优化的分类模型用于用户分类。这样,能够对各参与方提供的数据进行评估和筛选,提高机器学习模型的性能,从而提高用户分类的准确性。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,
其中:
图1示出本公开的用户的分类方法的一些实施例的流程图;
图2a示出本公开的用户的分类方法的一些实施例的示意图;
图2b示出本公开的用户的分类方法的另一些实施例的示意图;
图3示出本公开的用户的分类方法的又一些实施例的示意图;
图4示出本公开的用户的分类装置的又一些实施例的示意图;
图5示出本公开的用户的分类装置的另一些实施例的框图;
图6示出本公开的用户的分类装置的又一些实施例的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
如前所述,为了提高联邦机器学习模型的性能,需要全面、准确地衡量各特征对联邦机器学习模型的重要程度,从而筛选出能够提高联邦机器学习模型性能的重要特征。例如,可以通过如下的实施例实现本公开的技术方案。
图1示出本公开的用户的分类方法的一些实施例的流程图。
如图1所示,该方法包括:步骤110,获取多个提供方的相关数据;步骤120,建立第一用户分类模型;步骤130,筛选重要节点;和步骤140,建立第二用户分类模型用于分类。
在步骤110中,从多个数据提供方获取用户的相关数据。例如,相关数据包括主键(Key)、标签(Label)、特征(Feature)三部分。
在一些实施例中,主键可以是用户的唯一识别,如身份证号等。
在一些实施例中,标签可以是有监督学习中要预测的目标(如用户分类),是机器学习模型的输出。例如,在二分类场景中(如是否高信用度用户等),标签可以为“是”和“否”;在多分类场景中(如不同信用等级的用户、不同行为习惯的用户等),可以是各分类的描述。
在一些实施例中,特征为用于预测这些标签的机器学习模型的输入。例如,特征可以是用户的基本信息(人年龄、性别、教育水平等)。
在一些实施例中,在联邦学习建模之前可以基于特征工程对各参与方(数据提供方)的数据进行预处理,避免某些参与方提供的低效数据、无效特征数据降低建模的时间和效果。
例如,需要过滤的相关数据包括恶意数据、低效数据等。恶意数据所有样本包含的特征全为空值或者相同值;低效数据包含的特征为基于IV(Information Value,信息值)等指标判定的,对建模目标影响较低的特征。
在一些实施例中,预处理的方式包括线下处理、线上处理。例如,线下处理是各参与方在将数据上传到联邦环境之前,对数据进行过滤;线上处理是各参与方在将数据上传到联邦环境之后,开始联邦建模之前,对数据进行的过滤。可以记录各参与方所提供数据中恶意数据的样本数和特征数,用于评估各参与方的贡献度量。
在步骤120中,以从各相关数据中提取的用户特征为节点,建立决策树模型作为第一用户分类模型。
在一些实施例中,在各参与方上传数据之后,可以基于多方数据以联邦学习的方式建立协同模型(如第一用户分类模型)。例如,第一用户分类模型保存在第三方或者业务方,模型中的特征可以采取匿名的方式以保护用户隐私。这样,任何一个参与方都难以掌握完整的、具体的模型信息。
在一些实施例中,第一用户分类模型为包含多个决策树模型的集成学习模型。例如,第一用户分类模型为基于Secure boost(安全增长)算法建立的分类模型,包含多个梯度提升树模型。任一个树模型中的特征均以编码的形式表示,每一个分裂节点对应的特征均是在当前样本空间中信息增益最大的特征。第一用户分类模型也可以是随机森林模型。
在一些实施例中,可以建立图2中的决策树模型。
图2a示出本公开的用户的分类方法的一些实施例的示意图。
如图2a所示,leaf代表叶子节点,即用户的分类结果;圆圈节点为参与方1提供的相关数据中的用户特征;五边形节点为参与方2提供的相关数据中的用户特征。
在一些实施例,节点中的编码用于标记用户特征的来源和编号。P(Party)代表用户特征的提供方,F(Feature)代表用户特征在相关数据中的编号。例如,P1F3代表参与方1的第3个用户特征。
在建立了全量数据的决策树模型后,可以利用图1中的其他步骤筛选重要节点。
在步骤130中,根据第一用户分类模型中各节点指向其他节点的次数,确定各节点的重要性度量用于从各节点中筛选重要节点。
在一些实施例中,根据任一节点在样本空间内的信息增益、该节点指向的其他节点的信息增益、指向其他节点的次数,确定重要性度量。重要性度量与指向其他节点的次数正相关。
在一些实施例中,以各节点之间的指向关系为有向连接,以各节点指向其他节点的次数为有向连接的权重,建立包含各节点的指向关系图。指向关系图中标注有各节点的信息增益。根据指向关系图,确定重要性度量。
图2b示出本公开的用户的分类方法的另一些实施例的示意图。
如图2b所示,根据第一用户分类模型中的每个树模型建立一个以用户特征作为节点、以用户特征与用户特征之间的指向为有向连接的有向图作为指向关系图。
在一些实施例中,指向关系图中各节点内的值是该特征在本树模型中的信息增益(标准化后)。例如,对于本棵树中出现多次的节点,可以取每次的信息增益的平均值作为最终信息增益。
在一些实施例中,每个有向连接的权重为图2A中同一父节点指向子节点的次数。
在一些实施例中,计算各其他节点的信息增益的加权和。任一其他节点的权重与任一节点指向该其他节点的次数正相关。根据加权和与任一节点的信息增益的加权和,确定重要性度量。例如,任一其他节点的权重为N/(N+M)。N为任一节点指向该其他节点的次数,M为该其他节点指向任一节点的次数。例如,可以基于图3中的指向关系图确定重要性度量。
图3示出本公开的用户的分类方法的又一些实施例的示意图。
如图3所示,指向关系图中的各节点对应的用户特征编号为A、B、C、D。在进行标准化后,各节点在该树模型中的平均信息增益分别为0.3、0.2、0.1和0.4。
在一些实施例中,可以重复执行如下步骤,直到满足迭代条件:计算各其他节点的信息增益的加权和;根据加权和与任一节点的信息增益的加权和,确定重要性度量。例如,迭代条件可以为:根据实际需要设置的迭代次数;相邻两次迭代中所有节点的重要性度量的变化小于阈值等中的至少一项。
例如,根据任一子节点的权重N/(N+M),计算各节点的重要程度。在第K+1次迭代过程中,
∝可以为PageRank的阻尼系数(如0.85)。可以将上述公式写为矩阵形式:
T=[0,1,2/3,1
0,0,0,0
1,0,0,0
0,3/4,1/3,0]
在一些实施例中,第一用户分类模型为包含多个决策树模型的集成学习模型。在这种情况下,在各决策树模型中分别确定各节点的子重要性度量;根据各子重要性度量的加权和,确定各节点的重要性度量。
在一些实施例中,对各决策树模型中各节点的重要性度量X进行min-max标准化处理得到标准化后的重要性度量X
X
在一些实施例中,按照特征的编号将每个特征在所有指向关系图中的重要性程度的加权和,作为这个特征在整个第一用户分类模型的重要性度量。
例如,第一用户分类模型包含S个树模型,则参与方i的第j个特征在第s个树模型中的标准化后重要性度量为X
在上述实施例中,利用节点重要性评估机制,实现了准确、高效和公平的对参与联邦建模的各个特征的进行评估。
在一些实施例中,各节点的重要性度量用于评估相应的数据提供方的贡献度量。
基于上一步计算所得的各特征的贡献值我们便可以计算各参与方的贡献度量,即某参与方提供的所有特征的重要性度量的加权和,即为该参与方在此次建模过程中的贡献度量。例如,参与方i的所有特征在整个模型中的重要性度量X
在一些实施例中,考虑到数据提供方可能提供恶意数据,从而影响建模时间和效果,可以将在线上预处理过程中检测到的各方线下预处理后的数据中的恶意数据的数量作为计算贡献度量的参考因素。
例如,参与方i的恶意数据的数量为Y
在筛选出了重要节点后,可以通过图1中的步骤140对用户进行分类。
在步骤140中,利用各重要节点建立第二用户分类模型,对用户进行分类。
在一些实施例中,用户的分类结果用于确定述用户的处理策略。例如,可以根据金融平台、社交平台等提供的用户数据,将用户划分到不同信用等级的用户类别中,从而对用户的贷款、信用额度等进行相应的处理;可以根据多个电商平台和社交平台等提供的用户数据,将用户划分到不同消费类别中,从而对用户的购物习惯进行相应的分析。这样,可以提高用户数据的分析准确性。
在上述实施例中,综合考虑各个特征在建模过程中使用的次数、使用的顺序、特征间的组合关系和特征的信息增益等多维度因素,全面准确的衡量了各个特征对最终模型的贡献。
既不需要业务方与数据提供方进行额外通信和传输额外内容,也不需要重复多次建模,即可评估特征对建模效果的影响。即,评估特征的通信代价与原始建模的通信代价基本一致即可实现特征评估,降低了通信代价。
使用特征匿名编号的形式对特征进行评估,不需要额外的对各参与方的数据进行分析,很好的保护了各参与方的数据隐私。
图4示出本公开的用户的分类装置的又一些实施例的示意图。
如图4所示,用户的分类装置4包括获取单元41、建立单元42、确定单元43和分类单元44。
获取单元41从多个数据提供方获取用户的相关数据。
建立单元42以从各相关数据中提取的用户特征为节点,建立决策树模型作为第一用户分类模型。
确定单元43根据第一用户分类模型中各节点指向其他节点的次数,确定各节点的重要性度量用于从所述各节点中筛选重要节点。
在一些实施例中,确定单元43根据任一节点在样本空间内的信息增益、任一节点指向的其他节点的信息增益、指向其他节点的次数,确定重要性度量。重要性度量与指向其他节点的次数正相关。
在一些实施例中,确定单元43计算各其他节点的信息增益的加权和。任一其他节点的权重与任一节点指向该其他节点的次数正相关。确定单元43根据加权和与任一节点的信息增益的加权和,确定重要性度量。
在一些实施例中,任一其他节点的权重为N/(N+M)。N为任一节点指向该其他节点的次数,M为该其他节点指向任一节点的次数。
在一些实施例中,建立单元42以各节点之间的指向关系为有向连接,以各节点指向其他节点的次数为有向连接的权重,建立包含各节点的指向关系图。指向关系图中标注有所述各节点的信息增益。确定单元43根据指向关系图,确定重要性度量。
在一些实施例中,第一用户分类模型为包含多个决策树模型的集成学习模型。确定单元43在各决策树模型中,分别确定各节点的子重要性度量,根据各子重要性度量的加权和,确定各节点的重要性度量。
在一些实施例中,各节点的重要性度量用于评估相应的数据提供方的贡献度量。
分类单元44利用根据各重要节点建立的第二用户分类模型,对所述用户进行分类。
在一些实施例中,用户的分类结果用于确定对用户的处理策略。
在一些实施例中,获取单元41在建立实施决策树模型之前分类方法对获取的各相关数据进行预处理,滤除其中的恶意数据和低效数据。恶意数据包含的所有用户特征为空值或者相同值,低效数据根据IV判定。
在一些实施例中,第一用户分类模型为基于Secure boost算法建立的包含多个梯度提升树模型的分类模型。
在一些实施例中,决策树模型中每一个分裂节点对应的用户特征均是在当前样本空间中信息增益最大的用户特征。
在一些实施例中,确定单元43根据任一决策树模型中所有节点的重要性度量最大值和重要性度量最小值,对该决策树模型中各节点的重要性度量进行标准化处理;根据标准化处理后的重要性度量从所述各节点中筛选重要节点。
图5示出本公开的用户的分类装置的另一些实施例的框图。
如图5所示,该实施例的用户的分类装置5包括:存储器51以及耦接至该存储器51的处理器52,处理器52被配置为基于存储在存储器51中的指令,执行本公开中任意一个实施例中的用户的分类方法。
其中,存储器51例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图6示出本公开的用户的分类装置的又一些实施例的框图。
如图6所示,该实施例的用户的分类装置6包括:存储器610以及耦接至该存储器610的处理器620,处理器620被配置为基于存储在存储器610中的指令,执行前述任意一个实施例中的用户的分类方法。
存储器610例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
用户的分类装置6还可以包括输入输出接口630、网络接口640、存储接口650等。这些接口630、640、650以及存储器610和处理器620之间例如可以通过总线860连接。其中,输入输出接口630为显示器、鼠标、键盘、触摸屏、麦克、音箱等输入输出设备提供连接接口。网络接口640为各种联网设备提供连接接口。存储接口650为SD卡、U盘等外置存储设备提供连接接口。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
至此,已经详细描述了根据本公开的用户的分类方法、用户的分类装置和非易失性计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。
- 用户的分类方法、装置和非易失性计算机可读存储介质
- 电网用户分类方法、装置和计算机可读存储介质