CN114065641A - 多分类梯度提升树的构建方法、装置及电子设备 - Google Patents
多分类梯度提升树的构建方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114065641A CN114065641A CN202111402878.4A CN202111402878A CN114065641A CN 114065641 A CN114065641 A CN 114065641A CN 202111402878 A CN202111402878 A CN 202111402878A CN 114065641 A CN114065641 A CN 114065641A
- Authority
- CN
- China
- Prior art keywords
- samples
- sample
- key
- participant
- target non
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/08—Probabilistic or stochastic CAD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种多分类梯度提升树的构建方法、装置,包括:协作方设备获取各参与方设备的训练样本集合中各训练样本对应的梯度;其中,各参与方设备的训练样本集合构成样本总集;依据梯度大小,对样本总集中的训练样本进行排序,得到样本序列;确定样本序列的样本分位点,并基于样本分位点确定样本总集中的多个关键样本;确定多个关键样本中归属于各参与方设备的关键样本,并确定各参与方设备对应的目标非关键样本的数量;发送关键样本及目标非关键样本的数量至相应的参与方设备,以使各参与方设备基于关键样本及目标非关键样本的数量,协同协作方设备构建多分类梯度提升树。如此,通过横向梯度排序采样进行模型构建,从而减少多分类任务中的开销。
Description
技术领域
本申请涉及人工智能技术,尤其涉及一种多分类梯度提升树的构建方法、装置、电子设备、存储介质及计算机程序产品。
背景技术
在人工智能的联邦学习领域,是通过数据提供方和数据使用方共同训练一个模型,然后各数据使用方基于各自的模型来进行相应的预测,在目前各行各业逐渐加强数据隐私保护的大趋势下,联邦学习,一种可以在保护数据隐私的情况下协同多方数据建立机器学习的技术,成为了各企业/行业间合作的关键之一。如今,联邦梯树模型:多分类梯度提升树,随机森林,分类多分类梯度提升树,已经广泛地在纵向联邦场景下,成为了金融、风控领域的常用且强力的算法之一,在该领域,分类任务使用最为频繁。然而,在构建横向联邦多分类梯度提升树时,对于数据量大,标签数量多的横向联邦场景,难以在合适的时间内,或者无法以低廉的机器成本来完成横向联邦多分类梯度提升树的构建,横向联邦多分类梯度提升树的构建过程中庞大的计算/通信开销,给横向联邦多分类梯度提升树的构建带来了许多困难。
发明内容
本申请实施例提供一种多分类梯度提升树的构建方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够通过横向梯度排序采样进行模型构建,从而减少多分类任务中的开销。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种多分类梯度提升树的构建方法,
基于联邦学习系统,所述联邦学习系统包括协作方设备及至少两个参与方设备,所述方法包括:
协作方设备获取各参与方设备的训练样本集合中各训练样本对应的梯度;其中,各所述参与方设备的训练样本集合构成样本总集;
依据梯度大小,对所述样本总集中的训练样本进行排序,得到样本序列;
确定所述样本序列的样本分位点,并基于所述样本分位点确定所述样本总集中的多个关键样本;
确定所述多个关键样本中归属于各所述参与方设备的关键样本,并确定各所述参与方设备对应的目标非关键样本的数量;
发送所述关键样本及目标非关键样本的数量至相应的所述参与方设备,以使各所述参与方设备基于所述关键样本及目标非关键样本的数量,协同所述协作方设备构建所述多分类梯度提升树。
本申请实施例提供一种多分类梯度提升树的构建装置,包括:
获取模块,用于协作方设备获取各参与方设备的训练样本集合中各训练样本对应的梯度;其中,各所述参与方设备的训练样本集合构成样本总集;
排序模块,用于依据梯度大小,对所述样本总集中的训练样本进行排序,得到样本序列;
第一确定模块,用于确定所述样本序列的样本分位点,并基于所述样本分位点确定所述样本总集中的多个关键样本;
第二确定模块,用于确定所述多个关键样本中归属于各所述参与方设备的关键样本,并确定各所述参与方设备对应的目标非关键样本的数量;
构建模块,用于发送所述关键样本及目标非关键样本的数量至相应的所述参与方设备,以使各所述参与方设备基于所述关键样本及目标非关键样本的数量,协同所述协作方设备构建所述多分类梯度提升树。
上述方案中,所述第一确定模块,还用于获取预先设定的关键样本比例以及所述样本总集的样本总量;将所述关键样本比例与所述样本总量进行相乘处理,确定所述样本总集中关键样本的数量;基于所述关键样本的数量,确定所述样本序列的样本分位点;基于所述样本分位点,从所述样本序列中选取所述数量的训练样本,作为所述多个关键样本。
上述方案中,所述第二确定模块,还用于获取所述各参与方设备的训练样本集合中各训练样本所对应的第一标识、以及所述样本总集中各关键样本对应的第二标识;将所述第一标识与所述第二标识进行匹配,并基于匹配结果确定所述多个关键样本中归属于各所述参与方设备的关键样本。
上述方案中,所述第二确定模块,还用于获取预先设定的目标非关键样本比例以及所述样本总集的样本总量;将所述样本总量与所述关键样本的数量进行相减处理,确定非关键样本的数量;将所述目标非关键样本比例与所述非关键样本的数量进行乘积处理,确定所述目标非关键样本的总数量;基于所述目标非关键样本的总数量,确定各所述参与方设备对应的目标非关键样本的数量。
上述方案中,所述第二确定模块,还用于从所述样本序列中筛除所述多个关键样本,得到非关键样本序列;获取所述目标非关键样本与各所述参与方设备的归属关系;基于所述目标非关键样本的总数量、所述归属关系以及所述非关键样本序列,确定各所述参与方设备对应的目标非关键样本的数量。
上述方案中,所述第二确定模块,还用于获取各个所述参与方设备对应的目标非关键样本的数量最小值;依据所述数量最小值、各所述参与方设备的训练样本总量,以及各所述参与方设备的关键样本的数量,确定各所述参与方设备对应的目标非关键样本的数量。
上述方案中,所述第二确定模块,还用于获取各所述参与方设备的重要程度,并基于所述重要程度确定各所述参与方设备对应的目标非关键样本的比例;基于各所述参与方设备对应的目标非关键样本的比例,以及所述目标非关键样本的总数量,确定各所述参与方设备对应的目标非关键样本的数量。
上述方案中,所述构建模块,还用于接收各所述参与方设备发送的特征分裂增益直方图,所述特征分裂增益直方图为,各所述参与方设备基于所述关键样本及目标非关键样本的数量确定目标训练样本集合,并基于所述目标训练样本集合对所述多分类梯度提升树的分裂点进行遍历得到;基于所述特征分裂增益直方图,确定所述多分类梯度提升树的分裂点的增益值,选取增益值最大的分裂点作为全局分裂点;基于所述全局分裂点,构建所述多分类梯度提升树。
上述方案中,所述获取模块,还用于协作方设备获取各参与方设备发送的用于表征各训练样本所对应梯度的多维向量,其中,所述多维向量的维度数与所述多分类梯度提升树的标签类别的数量相对应,所述多维向量为所述各参与方设备基于所述训练样本集合中各训练样本携带的标签以及对应的预测值所确定。
上述方案中,所述排序模块,还用于将所述多维向量中各维度对应的梯度进行相加,得到所述训练样本集合中各训练样本所对应梯度之和;依据所述梯度之和的大小,对所述样本总集中的训练样本进行排序,得到样本序列。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的多分类梯度提升树的构建方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的多分类梯度提升树的构建方法。
本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的多分类梯度提升树的构建方法。
本申请实施例具有以下有益效果:
在进行多分类梯度提升树的构建时,协作方设备依据各参与方设备所提供的训练样本的梯度的大小,对各训练样本的梯度进行排序,以得到样本序列,从而基于样本序列的样本分位点,对样本序列进行划分以确定各参与方设备中的关键样本以及目标非关键样本的数量并发送至相应的各参与方设备,从而使各参与方设备基于关键样本以及目标非关键样本的数量协同协作方设备构建多分类梯度提升树。如此,通过横向梯度排序采样进行模型构建,从而有效解决横向多分类建模的效率、开销问题。
附图说明
图1是本申请实施例提供的基于联邦学习系统的多分类梯度提升树构建方法的实施场景示意图;
图2是本申请实施例提供的电子设备的结构示意图;
图3是本申请实施例提供的多分类梯度提升树的构建方法的流程示意图;
图4是本申请实施例提供的多分类梯度提升树的构建方法的样本排序过程的一个可选的流程示意图;
图5是本申请实施例提供的确定各参与方设备对应的目标非关键样本的数量的一个可选的流程示意图;
图6是本申请实施例提供的分裂点的一个可选的分裂点分裂示意图;
图7是本申请实施例提供的多分类梯度提升树的构建方法的一个可选的流程示意图;
图8是本申请实施例提供的多分类梯度提升树的构建装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)决策树(Decision Tree)是一种机器学习的方法,它具体是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。
2)联邦机器学习(Federated machine learning/Federated Learning),又名联邦学习,联合学习,联盟学习。联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。联邦学习作为分布式的机器学习范式,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,能从技术上打破数据孤岛,实现协作智能。
联邦学习(Federated Learning,a.k.a.Federated Machine Learning)可以分为三类:横向联邦学习(Horizontal Federated Learning),纵向联邦学习(VerticalFederated Learning),联邦迁移学习(Federated Transfer Learning)。
其中,横向联邦学习也称为特征对齐的联邦学习(Feature-Aligned FederatedLearning),即横向联邦学习的参与者的数据特征是对齐的,适用于参与者的数据特征重叠较多,而样本标识(ID,Identity document)重叠较少的情况。纵向联邦学习也称为样本对齐的联邦学习(Sample-Aligned Federated Learning),即纵向联邦学习的参与者的训练样本是对齐的,适用于参与者训练样本ID重叠较多,而数据特征重叠较少的情况。
3)DH密钥交换,通信双方通过公共信道交互能够公开的信息以生成一个用于在公共信道上安全通信的共享数字密码,而这一共享数字密码即可被用作对称密码的密钥。
4)同态加密(HE,Homomorphic Encryption)是一种对称加密算法,由IBM的CraigGentry在2009年提出。同态加密的目的是找到一种加密算法,这种加密算法能够在密文上执行加法、乘法运算,使得对加密后的密文进行某种操作所得到的结果,恰好等于对加密前的明文进行预期操作后再加密得到的密文。同态加密有效保证了数据处理方可以直接对数据的密文进行相应的处理,而无法获知其所处理的数据明文信息。同态加密的这一特性使用户的数据和隐私可以得到相应的安全保障,因此,同态加密被应用于许多现实场景来保证数据的安全。
如果一个加密函数同时满足加法同态和乘法同态,称为全同态加密。使用这个加密函数可以完成各种加密后的运算(加减乘除、多项式求值、指数、对数、三角函数等)。
发明人发现目前广泛使用的横向树模型中,横向联邦学习是联邦学习的场景之一,多用于父/子机构间,同企业不同部门间的模型建模中,横向联邦学习下,不同机构拥有不同的用户样本,但所有样本的特征一致。而在横向梯度提升树建模时,用到的最多的是分类算法。在现有方案下,二分类算法已经可以满足大多数情况的生产需要,但是,在联邦场景下,多分类建模却有着非常大的开销。
现有的横向联邦梯度提升树采取与xgboost/lightgbm一致的多分类建模策略,既训练会单独为每一个类的一阶、二阶导数训练一颗二分类树,然而,当数据中类的数目变多,如10类,20类,那么每一代就会训练10,20棵树,那计算/通信的开销就会变为原来的10,20倍;在每一代,如果是串行的训练每一棵树,那么将会有很大的时间开销;如果是并行的训练,那么内存/通信的要求可能就会变为原来的10/20倍,为各个参与方的机器性能带来很高要求,如果是一份非常大的数据,将是机器沉重的负担。当数据量大,标签数量多时,旧方案将难以在合适的时间内,或者难以低廉的机器成本,完成提升树建模,这为模型的调优,迭代带来许多困难。
基于此,本申请实施例提供一种多分类梯度提升树的构建方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够通过横向梯度排序采样进行模型构建,在很小效果损失的情况下,仅仅用原来很少的一部分数据完成训练,同时不需要对每个标签类别专门构建一棵多分类梯度提升树,而是使用一棵能够多输出的多分类梯度提升树来执行多分类任务,从而减少多分类任务中的开销。
基于上述对本申请实施例中涉及的名词和术语的解释,下面说明本申请实施例提供的基于联邦学习系统的多分类梯度提升树构建方法的实施场景,参见图1,图1是本申请实施例提供的基于联邦学习系统的多分类梯度提升树构建方法的实施场景示意图,为实现支撑一个示例性应用,协作方设备400通过网络300连接参与方设备200-1、200-2、……、200-n,其中参与方设备200-1、200-2、……、200-n可以是持有有训练样本的特征以及相应标签的机构,例如可以是医院、银行、商场或超市,协作方设备400可以是具有公信力的机构,参与方设备200-1、200-2、……、200-n和协作方设备400互相协助进行联邦学习以使参与方设备200-1、200-2、……、200-n得到多分类梯度提升树,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
参与方设备(包括参与方设备200-1、200-2、……、200-n),用于发送训练样本集合中各训练样本对应的梯度至协作方设备,其中,各参与方设备的训练样本集合构成样本总集;
协作方(包括协作方设备400),用于获取各参与方设备的训练样本集合中各训练样本对应的梯度;依据梯度大小,对样本总集中的训练样本进行排序,得到样本序列;确定样本序列的样本分位点,并基于样本分位点确定样本总集中的多个关键样本;确定多个关键样本中归属于各参与方设备的关键样本,并确定各参与方设备对应的目标非关键样本的数量;发送关键样本及目标非关键样本的数量至相应的参与方设备;
参与方设备(包括参与方设备200-1、200-2、……、200-n),还用于基于关键样本及目标非关键样本的数量,协同协作方设备构建多分类梯度提升树。
在实际应用中,协作方设备400和参与方设备200-1、200-2、……、200-n可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。协作方设备400和参与方设备200-1、200-2、……、200-n同样可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。协作方设备400和参与方设备200-1、200-2、……、200-n可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
下面对本申请实施例提供的实施多分类梯度提升树的构建方法的电子设备的硬件结构做详细说明,电子设备包括但不限于服务器或终端。参见图2,图2是本申请实施例提供的电子设备的结构示意图,图2所示的电子设备200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。电子设备200中的各个组件通过总线系统240耦合在一起。可以理解的是,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
输入处理模块253,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的多分类梯度提升树的构建装置可以采用软件方式实现,图2示出了存储在存储器250中多分类梯度提升树的构建装置254,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块2541、排序模块2542、第一确定模块2543、第二确定模块2544和构建模块2545,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的多分类梯度提升树的构建装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的多分类梯度提升树的构建装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的多分类梯度提升树的构建方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
基于上述对本申请实施例的多分类梯度提升树的构建方法的实施场景及电子设备的说明,下面说明本申请实施例提供的多分类梯度提升树的构建方法。参见图3,图3是本申请实施例提供的多分类梯度提升树的构建方法的流程示意图,本申请实施例提供的多分类梯度提升树的构建方法包括:
步骤101,协作方设备获取各参与方设备的训练样本集合中各训练样本对应的梯度;其中,各参与方设备的训练样本集合构成样本总集。
在实际实施时,训练样本为各参与方设备各自持有的本地用户,各参与方设备分别存储有本地用户的特征以及相应标签,而各训练样本对应的梯度为基于各参与方设备依据对本地训练样本的特征进行预测得到的预测值,与相应标签的差异而得到的。
示例性地,当多分类梯度提升树应用于风控管理或风控预测时,该训练样本的标签可以为标识用户信用程度的多分类标签,还可以为标识用户忠诚度程度的多分类标签,亦或是用于评估用户优质程度的多分类标签。这里,各参与方设备为对用户进行信用评估的平台,例如可以为金融贷款平台(如银行),第二参与方可以为持有用户的特征数据的平台,例如多种类型的消费平台(例如,商场、超市、网购平台、游戏平台、手机应用商店等)、或者互联网公司等。其中,用户的特征数据可以包括但不限于用户的基础信息、业务数据、行为数据及设备信息等。基础信息包括但不限于用户的姓名、性别、年龄、学历、职业、手机号、身份证号、地址、收入数据(例如,年薪、月薪)等。业务数据包括多个业务场景下的数据,例如业务场景为贷款业务,业务数据则包括贷款数据及还款数据等,贷款数据包括贷款金额、贷款时间及贷款机构(例如,xx银行)等,还款数据包括还款金额、还款时间、还款机构及逾期还款数据(例如,逾期次数及逾期天数)等;例如业务场景为消费场景,业务数据则包括消费用途(例如,教育消费、购物消费、医疗消费、生活消费等)、消费金额、消费时间、消费机构(例如,商场、超市、便利店、网购店铺等)、消费方式(例如,信用卡消费或储蓄卡消费等)及消费时用户所处的地址等。行为数据例如可以是用户常用的支付机构(例如,微信支付、银行卡支付等)、用户常用的支付方式(例如,二维码支付方式、刷卡支付方式)及操作频率(例如,一段时间内实施支付操作的频率)等。设备信息包括用户常用设备的型号、实施用户行为时设备所处的地址等。
在一些实施例中,协作方设备获取各参与方设备的训练样本集合中各训练样本对应的梯度具体为,获取各参与方设备发送的用于表征各训练样本所对应梯度的多维向量,其中,多维向量的维度数与多分类梯度提升树的标签类别的数量相对应,多维向量为各参与方设备基于训练样本集合中各训练样本携带的标签以及对应的预测值所确定。
需要说明的是,本申请实施例中各参与方设备在利用训练样本进行模型训练之前,还对训练样本的数据进行特征分箱,例如将年龄这一特征分箱为小于30岁,30-50岁,大于50岁等。通过特征分箱训练得到的模型的可解释性更强。
在实际实施时,获取特征分箱数据对应的标签以及样本的预测值之后;各参与方设备基于训练样本集合中各训练样本携带的标签以及对应的预测值构建样本对应梯度的两个多维向量。这里,构建样本对应梯度的两个多维向量的过程为将预测值与相应的标签进行对比,得到比较结果;基于比较结果,确定训练样本的第一多维向量以及第二多维向量;其中,第一多维向量包括训练样本的每一标签类别的一阶梯度,第二多维向量包括训练样本的每一标签类别的二阶梯度。
在一些实施例中,对于第1代树的预测值直接赋为0,而后在构建每一代多分类梯度提升树的时候,对于每条样本,使用前t-1代树的预测值和标签计算梯度,则会得到两个d维度向量,第一个d维向量g对应每一个标签类别的一阶梯度,第二个d维向量h对应每一个标签类别的二阶梯度。示例性地,一共有t代树需要构建,这里t为大于等于1的正整数。其中,每一棵多分类梯度提升树的高度相同,各参与方设备统计标签的数目,并根据本地的标签和前t-1代树的预测值计算对应每一标签的一阶梯度g与二阶梯度h;基于计算得到的一阶梯度和二阶梯度确定第一个d维向量g[g1,g2,……,gd]和第二个d维向量h[h1,h2,……,hd]。
在实际实施时,确定两个多维向量后,即可确定当前节点的预测值,在一些实施例中,我们用i下标表示某个叶子节点中的所有样本,那么该节点的预测值为w*,其中,每一维度的预测值是依据两个d维度向量根据下列公式(1)计算得到的,在得到d个维度的预测值后,对d个维度的预测值进行比较,选取最大的预测值作为当前预测值。
作为一个示例,这里以三分类多分类梯度提升树为例,即这里的d为3,则第一个3维向量g为[g1,g2,g3],第二个3维向量h为[h1,h2,h3],每一维度的预测值分别为:
步骤102,依据梯度大小,对样本总集中的训练样本进行排序,得到样本序列。
在一些实施例中,当协作方设备获取各参与方设备发送的用于表征各训练样本所对应梯度的多维向量后,依据获取的多维向量,对样本总集中的训练样本进行排序,得到样本序列的排序过程参见图4,图4是本申请实施例提供的多分类梯度提升树的构建方法的样本排序过程的一个可选的流程示意图,基于图3,步骤102还可以通过如下方式实现:
步骤1021,将多维向量中各维度对应的梯度进行相加,得到训练样本集合中各训练样本所对应梯度之和。
在实际实施时,协作方设备在获取样本总集中的训练样本的梯度对应的两个多维向量即一阶梯度g[g1,g2,……,gd]和二阶梯度h[h1,h2,……,hd]后,基于一阶梯度g[g1,g2,……,gd],将多维向量中各维度对应的梯度进行相加得到训练样本集合中各训练样本所对应梯度之和即g_sum,具体地,g_sum等于g1、g2、……以及gd之和。
接上述示例,这里以三分类多分类梯度提升树为例,则第一个3维向量g为[g1,g2,g3],第二个3维向量h为[h1,h2,h3],这里的g_sum等于g1、g2以及g3之和。
需要说明的是,当样本总集中的训练样本对应的梯度用多维向量表示时,将多维向量中各维度对应的梯度进行相加,得到训练样本集合中各训练样本所对应梯度之和的过程还可以由各参与方设备所实现,具体为,在各参与方设备基于训练样本集合中各训练样本携带的标签以及对应的预测值构建样本对应梯度的两个多维向量一阶梯度g[g1,g2,……,gd]和二阶梯度h[h1,h2,……,hd]后,直接对一阶梯度g[g1,g2,……,gd]中各维度对应的梯度进行相加,得到训练样本集合中各训练样本所对应梯度之和即g_sum,然后将得到的g_sum发送至协作方设备,以供协作方设备基于梯度之和即g_sum的大小,对样本总集中的训练样本进行排序,得到样本序列。
步骤1022,依据梯度之和的大小,对样本总集中的训练样本进行排序,得到样本序列。
在实际实施时,协作方设备在确定训练样本集合中各训练样本所对应梯度之和后,依据梯度之和的大小,基于从小到大的顺序,对样本总集中的训练样本进行排序,得到样本序列。
需要说明的是,梯度之和越小,则基于与梯度之和对应的样本得到的预测值与相应标签的差异最小,则对于模型的训练效果越好。
步骤103,确定样本序列的样本分位点,并基于样本分位点确定样本总集中的多个关键样本。
在实际实施时,首先获取预先设定的关键样本比例以及样本总集的样本总量;将关键样本比例与样本总量进行相乘处理,确定样本总集中关键样本的数量;基于关键样本的数量,确定样本序列的样本分位点。这里,关键样本比例为预先设定的可更改的比例值,样本总集的样本数量为各参与方设备所提供的训练样本的总和,样本分位点用于按照预先设定的关键样本比例,将样本序列进行划分,以选取出基于关键样本比例与样本总量计算得到的关键样本。
作为示例,预先设定的关键样本比例为20%,样本总集的样本总量一共有1000万条,协作方设备对一千万条样本根据梯度g进行排序,然后取出梯度排名前20%的200万条样本。
步骤104,确定多个关键样本中归属于各参与方设备的关键样本,并确定各参与方设备对应的目标非关键样本的数量。
在实际实施时,确定多个关键样本中归属于各参与方设备的关键样本的过程具体为,获取各参与方设备的训练样本集合中各训练样本所对应的第一标识、以及样本总集中各关键样本对应的第二标识;将第一标识与第二标识进行匹配,并基于匹配结果确定多个关键样本中归属于各参与方设备的关键样本。
需要说明的是,各参与方设备为了便于确定自身提供的训练样本中哪些属于关键样本,因此会在各自的训练样本集合中对各训练样本进行标识,即各参与方设备的训练样本集合中各训练样本对应的第一标识,协作方设备在确定样本总集中的多个关键样本后,基于样本总集中各关键样本对应的第二标识,将第一标识与第二标识进行匹配,从而基于匹配结果确定多个关键样本中归属于各参与方设备的关键样本。
在实际实施时,确定各参与方设备对应的目标非关键样本的数量的过程参见图5,图5是本申请实施例提供的确定各参与方设备对应的目标非关键样本的数量的一个可选的流程示意图,基于图3,确定各参与方设备对应的目标非关键样本的数量的过程可以通过如下方式实现:
步骤1041,获取预先设定的目标非关键样本比例以及样本总集的样本总量。
在实际实施时,在获取预先设定的关键样本比例以及所述样本总集的样本总量的同时,协作方设备还会获取预先设定的目标非关键样本比例。
接上述示例,预先设定的关键样本比例为20%,样本总集的样本总量一共有1000万条,则预先设定的目标非关键样本比例可以为10%。
步骤1042,将样本总量与关键样本的数量进行相减处理,确定非关键样本的数量。
在实际实施时,在确定了样本总量和关键样本的数量后,通过将样本总量减去关键样本的数量,从而得到非关键样本的数量。
接上述示例,样本总集的样本总量一共有1000万条,关键样本的数量为200万条,则非关键样本的数量为800万条。
步骤1043,将目标非关键样本比例与非关键样本的数量进行乘积处理,确定目标非关键样本的总数量。
在实际实施时,将预先设定的目标非关键样本比例与得到的非关键样本数量相乘,得到目标非关键样本的总数量。
接上述示例,预先设定的目标非关键样本比例为10%,非关键样本数量为800万条,则目标非关键样本的总数量为800*10%即80万条。
步骤1044,基于目标非关键样本的总数量,确定各参与方设备对应的目标非关键样本的数量。
在实际实施时,在确定了目标非关键样本的总数量后,协作方设备会将目标非关键样本分配给各参与方设备,即需要确定各参与方设备对应的目标非关键样本的数量。
接下来,对确定各参与方设备对应的目标非关键样本的数量的过程进行说明。
在一些实施例中,确定各参与方设备对应的目标非关键样本的数量的过程具体为,首先从样本序列中筛除多个关键样本,得到非关键样本序列,然后获取目标非关键样本与各参与方设备的归属关系,接着基于目标非关键样本的总数量、归属关系以及非关键样本序列,确定各参与方设备对应的目标非关键样本的数量。
在实际实施时,在确定非关键样本序列后,基于目标非关键样本的数量,从非关键样本序列中第一位依次选取对应数量的目标非关键样本,然后获取各参与方设备的训练样本集合中各训练样本所对应的第一标识、以及各目标非关键样本对应的第三标识,将第一标识与第三标识进行匹配,并基于匹配结果确定目标非关键样本中归属于各参与方设备的目标非关键样本。
需要说明的是,各参与方设备为了便于确定自身提供的训练样本中哪些属于目标非关键样本,因此会在各自的训练样本集合中对各训练样本进行标识,即各参与方设备的训练样本集合中各训练样本对应的第一标识,协作方设备在确定样本总集中的多个目标非关键样本后,基于样本总集中各目标非关键样本对应的第三标识,将第一标识与第三标识进行匹配,从而基于匹配结果确定多个目标非关键样本中归属于各参与方设备的目标非关键样本。
在一些实施例中,确定各参与方设备对应的目标非关键样本的数量的过程还可以为,首先获取各个参与方设备对应的目标非关键样本的数量最小值,然后依据数量最小值、各参与方设备的训练样本总量,以及各参与方设备的关键样本的数量,确定各参与方设备对应的目标非关键样本的数量。
在实际实施时,首先确定各参与方设备的优先级,这里的优先级指的是参与方设备对于模型训练所产生的影响程度,优先级高的参与方设备对于模型训练所产生的影响大,优先级低的参与方设备对于模型训练所产生的影响小,在确定各参与方设备的优先级之后,获取各个参与方设备对应的目标非关键样本的数量最小值,然后基于各参与方设备的训练样本总量,以及各参与方设备的关键样本的数量,确定各参与方设备对应的目标非关键样本,具体地,基于各参与方优先级高低,首先将优先级最高的参与方设备的对应的训练样本总量与各参与方设备的关键样本的数量进行相减,确定该参与方设备对应的最大目标非关键样本的数量,然后从目标非关键样本中随机选取对应最大非关键样本的数量的目标非关键样本,这里,在实际实施时,该优先级最高的参与方设备还可以在对应最小值和最大非关键样本的数量这个数量区间中随机确定对应的目标非关键样本的数量,从而基于对应的目标非关键样本的数量进行目标非关键样本的选取。这样,在优先级最高的参与方设备选取完对应的目标非关键样本的数量后,确定剩余目标非关键样本的数量,以供优先级较低的参与方设备进行与上述过程相同的选取目标非关键样本的过程。
需要说明的是,当样本总集的样本总量很大时,还可以设定各参与方设备对应的目标非关键样本的数量最大值,从而基于该最大值,从目标非关键样本中随机选取对应最大值的目标非关键样本;又或者在对应最小值和最大值这个数量区间中随机确定对应的目标非关键样本的数量,从而基于对应的目标非关键样本的数量进行目标非关键样本的选取。
在一些实施例中,确定各参与方设备对应的目标非关键样本的数量的过程还可以具体为,首先获取各参与方设备的重要程度,并基于重要程度确定各参与方设备对应的目标非关键样本的比例,然后基于各参与方设备对应的目标非关键样本的比例,以及目标非关键样本的总数量,确定各参与方设备对应的目标非关键样本的数量。
在实际实施时,各参与方设备的重要程度为各参与方设备所持有的关键样本的数量的多少,持有关键样本数量多的参与方设备重要程度高,持有关键样本数量少的参与方设备重要程度低,通过确定各参与方设备所持有的关键样本的数量在多个关键样本中所占的比例,确定各参与方设备对应的目标非关键样本在目标非关键样本中的比例,将各参与方设备对应的目标非关键样本的比例与目标非关键样本的总数量进行相乘处理,从而确定各参与方设备对应的目标非关键样本的数量。
需要说明的是,协作方设备在对目标非关键样本的数量进行随机分配时,需要保证各参与方设备接收的目标非关键样本的数量加上自身关键样本的数量不超过本地的训练样本集合的数量,同时,在确定了目标非关键样本的总数量后,协作方设备会将目标非关键样本的总数量随机分配给各参与方设备,而这里将目标非关键样本的数量随机分配给各参与方设备的方式,本申请实施例不做限定。
步骤105,发送关键样本及目标非关键样本的数量至相应的参与方设备,以使各参与方设备基于关键样本及目标非关键样本的数量,协同协作方设备构建多分类梯度提升树。
在实际实施时,在确定关键样本及目标非关键样本的数量后,发送关键样本及目标非关键样本的数量至相应的参与方设备,同时,参与方设备还会获取各关键样本对应的第二标识,从而基于第二标识确定所提供的训练样本中的关键样本。在确定所提供的训练样本中的关键样本后,从训练样本集合中筛除关键样本,得到剩余的训练样本集合,再基于目标非关键样本的数量,从剩余的训练样本集集合中随机选取对应数量的训练样本,最后基于选取的训练样本以及确定的关键样本,组成目标训练样本集合。需要说明的是,这里目标训练样本集合中的训练样本为携带标签的样本。
在实际实施时,将目标训练样本集合中的训练样本输入至多分类梯度提升树,得到相应训练样本的预测值,基于预测值及相应的标签,确定用于表征训练样本所对应梯度的两个多维向量,这里,得到两个多维向量的过程参照步骤101。
在实际实施时,各参与方设备在得到用于表征训练样本所对应梯度的两个多维向量后,基于训练样本的标签与多维梯度向量,对多分类梯度提升树的分裂点进行遍历,确定对应各参与方设备的特征分裂增益直方图。需要说明的是,每个直方图中的每个桶中包含两个多维向量g_bin[g1之和,g2之和,……,gd之和],h_bin[h1之和,h2之和,……,hd之和],这里,g_bin和h_bin中各维度数据为所有训练样本对应的多维梯度向量中相应维度的梯度之和,即g1之和为所有训练样本的g1相加的结果,g2之和为所有训练样本的g2相加的结果,gd之和为所有训练样本的gd相加的结果,h1之和为所有训练样本的h1相加的结果,h2之和为所有训练样本的h2相加的结果,hd之和为所有训练样本的hd相加的结果。需要说明的是,这里因为各参与方设备之间的特征一致,所以计算出的特征分裂增益直方图维度也一致。
在实际实施时,各参与方设备在得到特征分裂增益直方图后,对特征分裂增益直方图进行隐私保护,得到加密特征分裂增益直方图,并将加密特征分裂增益直方图发送至协作方设备。
在一些实施例中,在得到特征分裂增益直方图之后,各参与方设备对特征分裂增益直方图进行同态加密,发送同态加密后的特征分裂增益直方图至协作方设备。在另一些实施例中,各参与方设备使用DH密钥交换技术,即使用相同的随机种子生成与特征分裂增益直方图相同维度的随机数,并通过编号赋予随机数正负性,特征分裂增益直方图加上生成的随机数,以掩盖原数据,如此,对特征分裂增益直方图进行加密,得到加密特征分裂增益直方图,并将加密特征分裂增益直方图发送至协作方设备。
在实际实施时,协作方设备在接收到各参与方设备发送的加密的特征分裂增益直方图后,针对不同的加密方式,对加密的特征分裂增益直方图进行相应的处理,具体地,当协作方设备在接收到各参与方设备发送的进行同态加密后的特征分裂增益直方图时,直接对加密特征分裂增益直方图进行解密,然后对解密得到的各特征分裂增益直方图进行相加,得到聚合后的特征分裂增益直方图;当协作方设备在接收到各参与方设备发送的经过DH密钥交换技术后的特征分裂增益直方图时,将各特征分裂增益直方图相加抵消随机数,得到聚合的特征分裂增益直方图。
在实际实施时,协作方设备在得到聚合后的特征分裂增益直方图后,基于聚合后的特征分裂增益直方图确定多分类梯度提升树的分裂点的增益值,选取增益值最大的分裂点作为全局分裂点,这里,确定多分类梯度提升树的分裂点的增益值,选取增益值最大的分裂点作为全局分裂点的过程可以是基于预设增益公式,来确定增益值最大的分裂点。
这里的预设增益公式为:
这里,公式(2)中的与为对当前分裂点进行遍历,根据依照某个特征值,分裂该节点,将其一分为二,得到左儿子和右儿子,继而基于公式(3)来计算左儿子和右儿子的增益,公式(3)中的gj和hj为步骤101中选取的最大的预测值对应的维度的一阶梯度和二阶梯度,具体地,将g_bin和h_bin中各维度对应的数据带入步骤101中的公式(1),通过比较的大小,选取的最大的预测值对应的维度的一阶梯度和二阶梯度。
在一些实施例中,在确定全局分裂点后,协作方设备将全局分裂点同步至各参与方设备,具体地,各参与方设备基于全局分裂点,构建多分类梯度提升树的过程,可以是各参与方设备通过获取协作方设备发送的全局分裂点的特征值和特征编码;确定对应特征编码的训练样本的特征,并结合特征及特征值确定特征分裂方式;基于特征分裂方式,构建多分类梯度提升树。
示例性地,参见图6,图6是本申请实施例提供的分裂点的一个可选的分裂点分裂示意图,这里,落在分裂点上的样本数据包括样本2、5、7、8和10的对应的样本数据,全局分裂点对应的特征编码为3,特征值=0.4,这里,在确定全局分裂点后,协作方设备将编号形式的全局分裂点发送至各参与方设备,各参与方设备则基于该编号,获取全局分裂点对应的特征编码和特征值,以结合特征编码对应的特征及特征值确定特征分裂方式,从而基于特征分裂方式,构建多分类梯度提升树。如图6所示,对分裂点分裂之后得到的左子节点则对应有样本2、样本5和样本10,右子节点则对应有样本7和样本8。
在实际实施时,若分裂点所在的多分类梯度提升树未达到停止分裂条件,则继续进行分裂,直至达到停止分裂条件,则完成对该代多分类梯度提升树的构建。这里,使用上一代树的输出更新当前预测值,各参与方设备则继续计算损失函数,确定损失函数是否收敛,若未收敛,则继续构建新的多分类梯度提升树,直至损失函数收敛,或者确定多分类梯度提升树的数量是否达到预设数量,若未达到,则继续构建新的多分类梯度提升树,直至达到预设数量,当损失函数收敛或者多分类梯度提升树达到预设数量后,完成多分类梯度提升树的构建。
需要说明的是,停止分裂条件可以是多分类梯度提升树的深度达到预设深度、多分类梯度提升树的增益值达到预设增益值或者样本数不满足继续分裂。
如此,基于训练样本的预测值及相应的标签,将训练样本多个类别的梯度信息用多维向量形式进行表示,从而对表征梯度信息的多维向量进行处理,并基于处理结果确定相应的分裂点数据,从而确定多分类梯度提升树的全局分裂点,进而构建多分类梯度提升树。如此,通过一棵能够多输出的多分类梯度提升树执行多分类任务,有效减少了多分类任务中的开销,提高了训练效率。
应用本申请上述实施例,在进行多分类梯度提升树的构建时,协作方设备依据各参与方设备所提供的训练样本的梯度的大小,对各训练样本的梯度进行排序,以得到样本序列,从而基于样本序列的样本分位点,对样本序列进行划分以确定各参与方设备中的关键样本以及目标非关键样本的数量并发送至相应的各参与方设备,从而使各参与方设备基于关键样本以及目标非关键样本的数量协同协作方设备构建多分类梯度提升树。如此,通过横向梯度排序采样进行模型构建,从而有效解决横向多分类建模的效率、开销问题。
接下来以多分类梯度提升树的应用场景为例,对本申请实施例提供的多分类梯度提升树的构建方法进行介绍,图7是本申请实施例提供的多分类梯度提升树的构建方法的一个可选的流程示意图,参见图7,本申请实施例提供的多分类梯度提升树的构建方法由协作方设备(Server)、至少两个参与方设备(Client)协同实施。协作方设备、参与方设备均可以是服务器,也可以是终端。参见图7,本申请实施例提供的多分类梯度提升树的构建方法包括:
步骤201,各参与方设备分别完成本地的初始化,对本地的特征进行分箱并开始联合构建一代多分类梯度提升树。
这里,一共有t代树需要构建,这里t为大于等于1的正整数。其中,每一棵多分类梯度提升树的高度相同。
在实际实施时,对训练样本的数据进行特征分箱的过程可以例如是将年龄这一特征分箱为小于30岁,30-50岁,大于50岁等,这样通过特征分箱训练得到的模型的可解释性更强。
步骤202,根据本地的标签和前t-1代树的预测值得到两个多维向量g,h。
在实际实施时,各参与方设备根据本地的标签和样本,用前t-1代树的残差计算每个样本的第一多维向量g[g1,g2,……,gd]以及第二多维向量h[h1,h2,……,hd],这里第一多维向量包括训练样本的每一标签类别的一阶梯度,第二多维向量包括训练样本的每一标签类别的二阶梯度。
在实际实施时,确定两个多维向量后,即可确定当前节点的预测值,作为一个示例,这里以三分类多分类梯度提升树为例,则第一个3维向量g为[g1,g2,g3],第二个3维向量h为[h1,h2,h3],每一维度的预测值分别为:
步骤203,将多维向量g中各维度对应的梯度进行相加,得到训练样本集合中各训练样本所对应梯度之和。
在实际实施时,各参与方设备在获取样本总集中的训练样本的梯度对应的两个多维向量即一阶梯度g[g1,g2,……,gd]和二阶梯度h[h1,h2,……,hd]后,基于一阶梯度g[g1,g2,……,gd],将一阶梯度g中各维度对应的梯度进行相加得到训练样本集合中各训练样本所对应梯度之和即g_sum,具体地,g_sum等于g1、g2、……以及gd之和。
步骤204,将得到的训练样本集合中各训练样本所对应梯度之和发送至协作方设备。
步骤205,协作方设备依据梯度之和的大小,对样本总集中的训练样本进行排序,得到样本序列。
在实际实施时,在确定训练样本集合中各训练样本所对应梯度之和后,依据梯度之和的大小,基于从小到大的顺序,对样本总集中的训练样本进行排序,得到样本序列。
步骤206,确定样本序列的样本分位点,并基于样本分位点确定样本总集中的多个关键样本。
在实际实施时,首先获取预先设定的关键样本比例以及样本总集的样本总量;将关键样本比例与样本总量进行相乘处理,确定样本总集中关键样本的数量;基于关键样本的数量,确定样本序列的样本分位点。这里,样本总集的样本数量为各参与方设备所提供的训练样本的总和,样本分位点用于按照预先设定的关键样本比例,将样本序列进行划分,以选取出基于关键样本比例与样本总量计算得到的关键样本。
作为示例,预先设定的关键样本比例为20%,样本总集的样本总量一共有1000万条,协作方设备对一千万条样本根据梯度g进行排序,然后取出梯度排名前20%的200万条样本。
步骤207,确定多个关键样本中归属于各参与方设备的关键样本,并确定各参与方设备对应的目标非关键样本的数量。
在实际实施时,在确定样本总集中的多个关键样本后,获取各参与方设备的训练样本集合中各训练样本所对应的第一标识、以及样本总集中各关键样本对应的第二标识;将第一标识与第二标识进行匹配,并基于匹配结果确定多个关键样本中归属于各参与方设备的关键样本。
在实际实施时,在确定多个关键样本中归属于各参与方设备的关键样本后,再确定各参与方设备对应的目标非关键样本的数量,具体为,获取预先设定的目标非关键样本比例以及样本总集的样本总量,然后将样本总量与关键样本的数量进行相减处理,确定非关键样本的数量,接着将目标非关键样本比例与非关键样本的数量进行乘积处理,确定目标非关键样本的总数量,最后基于目标非关键样本的总数量,确定各参与方设备对应的目标非关键样本的数量。这里,需要说明的是,在确定了目标非关键样本的总数量后,协作方设备会将目标非关键样本的总数量随机分配给各参与方设备,这里,将目标非关键样本的总数量随机分配给各参与方设备的方式,本申请实施例不做限定。
接上述示例,预先设定的关键样本比例为20%,样本总集的样本总量一共有1000万条,则预先设定的目标非关键样本比例可以为10%,而样本总集的样本总量一共有1000万条,关键样本的数量为200万条,则非关键样本的数量为800万条,这样目标非关键样本的总数量为800*10%即80万条,在确定目标非关键样本的总数量后,协作方设备将目标非关键样本的总数量随机分配给各参与方设备。
需要说明的是,协作方设备在对目标非关键样本的总数量进行随机分配时,需要保证各参与方设备接收的目标非关键样本的数量加上自身关键样本的数量不超过本地的训练样本集合的数量。
步骤208,协作方设备将确定的各参与方设备的关键样本以及各参与方设备对应的目标非关键样本的数量发送至相应的参与方设备。
在实际实施时,协作方在确定关键样本及目标非关键样本的数量后,发送关键样本及目标非关键样本的数量至相应的参与方设备,同时,协作方设备还会发送各关键样本对应的第二标识,以使各参与方设备基于第二标识确定所提供的训练样本中的关键样本。
步骤209,各参与方设备基于关键样本及目标非关键样本的数量构建新的训练数据集。
在实际实施时,各协作方设备在基于协作方发送的第二标识和关键样本后,确定所提供的训练样本中的关键样本,然后从训练样本集合中筛除关键样本,得到剩余的训练样本集合,再基于目标非关键样本的数量,从剩余的训练样本集合中随机选取对应数量的训练样本,最后基于选取的训练样本以及确定的关键样本,构建新的训练数据集。
步骤210,各参与方设备基于新的训练数据集初始化根节点,所有样本落在根节点,加入节点列表并向协作方设备同步节点列表。
步骤211,基于新的训练数据集确定出各个节点中的特征分裂增益直方图。
在实际实施时,将目标训练样本集合中的训练样本输入至多分类梯度提升树,得到相应训练样本的预测值,基于预测值及相应的标签,确定用于表征训练样本所对应梯度的两个多维向量,这里,得到两个多维向量的过程参照步骤202。
在实际实施时,各参与方设备在得到用于表征训练样本所对应梯度的两个多维向量后,基于训练样本的标签与多维梯度向量,对多分类梯度提升树的分裂点进行遍历,确定对应各参与方设备的特征分裂增益直方图。需要说明的是,每个直方图中的每个桶中包含两个多维向量g_bin[g1之和,g2之和,……,gd之和],h_bin[h1之和,h2之和,……,hd之和],这里,g_bin和h_bin中各维度数据为所有训练样本对应的多维梯度向量中相应维度的梯度之和,即g1之和为所有训练样本的g1相加的结果,g2之和为所有训练样本的g2相加的结果,gd之和为所有训练样本的gd相加的结果,h1之和为所有训练样本的h1相加的结果,h2之和为所有训练样本的h2相加的结果,hd之和为所有训练样本的hd相加的结果。需要说明的是,这里因为各参与方设备之间的特征一致,所以计算出的特征分裂增益直方图维度也一致。
步骤212,发送经过加密的特征分裂增益直方图并至协作方设备。
在实际实施时,在得到特征分裂增益直方图之后,各参与方设备使用DH密钥交换技术,即使用相同的随机种子生成与特征分裂增益直方图相同维度的随机数,并通过编号赋予随机数正负性,特征分裂增益直方图加上生成的随机数,以掩盖原数据,如此,对特征分裂增益直方图进行加密,得到加密特征分裂增益直方图,并将加密特征分裂增益直方图发送至协作方设备。
步骤213,协作方设备对接收的各加密的特征分裂增益直方图进行解密,并对解密后的各特征分裂增益直方图进行聚合,得到聚合后的特征分裂增益直方图。
在实际实施时,协作方设备在接收到各参与方设备发送的经过DH密钥交换技术加密后的特征分裂增益直方图后,将各特征分裂增益直方图相加抵消随机数,得到聚合的特征分裂增益直方图。
步骤214,从节点列表取出节点,不放回,在当前分裂节点基于聚合后的特征分裂增益直方图计算全局分裂点。
在实际实施时,协作方设备在得到聚合后的特征分裂增益直方图后,基于聚合后的特征分裂增益直方图对当前分裂点进行遍历,根据依照某个特征值,分裂该节点,将其一分为二,得到左儿子和右儿子,则依照该特征值分裂的增益计算公式为:
这里,公式(5)中的gj和hj为步骤202中选取的最大的预测值对应的维度的一阶梯度和二阶梯度。
接上述示例,这里以三分类多分类梯度提升树为例,将g_bin[g1之和,g2之和,g3之和]和h_bin[h1之和,h2之和,h3之和]中各维度对应的数据带入步骤101中的公式(1),通过比较的大小,选取的最大的预测值对应的维度的一阶梯度和二阶梯度。
在实际实施时,协作方设备通过比较依照不同特征值进行分裂而计算得到的增益,确定全局分裂点。
步骤215,发送当前节点列表中各个节点的全局分裂点至各参与方设备。
在实际实施时,在确定全局分裂点后,协作方设备将全局分裂点同步至各参与方设备,具体地,各参与方设备基于全局分裂点,构建多分类梯度提升树的过程,可以是各参与方设备通过获取协作方设备发送的全局分裂点的特征值和特征编码;确定对应特征编码的训练样本的特征,并结合特征及特征值确定特征分裂方式;基于特征分裂方式,构建多分类梯度提升树。
步骤216,判断是否符合停止分裂条件,若符合则返回到步骤210,若不符合则执行步骤217。
需要说明的是,这里的分裂条件为未达到树最大高度或者增益值,样本数满足继续分裂。
在实际实施时,若符合分裂条件,基于特征值和特征编码分裂当前节点,分裂当前节点,并从节点列表移除该节点,将新的一层节点加入节点列表,回到步骤214重复直至构建完当前树,若不符合则停止建立多分类梯度提升树,执行步骤217。
步骤217,使用上一代树的输出更新当前预测值。
步骤218,检测是否满足停止条件,若不满足,协作方设备和各参与方设备继续联合构建多分类梯度提升树,返回步骤202,若满足,则执行步骤219。
这里,停止条件包括该多分类梯度提升树的损失函数是否收敛,或者是否到达最大树数量。
步骤219,完成多分类梯度提升树的构建。
应用本申请上述实施例,在进行多分类梯度提升树的构建时,协作方设备依据各参与方设备所提供的训练样本的梯度的大小,对各训练样本的梯度进行排序,以得到样本序列,从而基于样本序列的样本分位点,对样本序列进行划分以确定各参与方设备中的关键样本以及目标非关键样本的数量并发送至相应的各参与方设备,从而使各参与方设备基于关键样本以及目标非关键样本的数量协同协作方设备构建多分类梯度提升树。如此,通过横向梯度排序采样进行模型构建,从而有效解决横向多分类建模的效率、开销问题。
下面继续说明本申请实施例提供的多分类梯度提升树的构建装置254,参见图8,图8是本申请实施例提供的多分类梯度提升树的构建装置254的结构示意图,本申请实施例提供的多分类梯度提升树的构建装置254包括:
获取模块2541,用于协作方设备获取各参与方设备的训练样本集合中各训练样本对应的梯度;其中,各所述参与方设备的训练样本集合构成样本总集;
排序模块2542,用于依据梯度大小,对所述样本总集中的训练样本进行排序,得到样本序列;
第一确定模块2543,用于确定所述样本序列的样本分位点,并基于所述样本分位点确定所述样本总集中的多个关键样本;
第二确定模块2544,用于确定所述多个关键样本中归属于各所述参与方设备的关键样本,并确定各所述参与方设备对应的目标非关键样本的数量;
构建模块2545,用于发送所述关键样本及目标非关键样本的数量至相应的所述参与方设备,以使各所述参与方设备基于所述关键样本及目标非关键样本的数量,协同所述协作方设备构建所述多分类梯度提升树。
在一些实施例中,所述第一确定模块2543,还用于获取预先设定的关键样本比例以及所述样本总集的样本总量;将所述关键样本比例与所述样本总量进行相乘处理,确定所述样本总集中关键样本的数量;基于所述关键样本的数量,确定所述样本序列的样本分位点;基于所述样本分位点,从所述样本序列中选取所述数量的训练样本,作为所述多个关键样本。
在一些实施例中,所述第二确定模块2544,还用于获取所述各参与方设备的训练样本集合中各训练样本所对应的第一标识、以及所述样本总集中各关键样本对应的第二标识;将所述第一标识与所述第二标识进行匹配,并基于匹配结果确定所述多个关键样本中归属于各所述参与方设备的关键样本。
在一些实施例中,所述第二确定模块2544,还用于获取预先设定的目标非关键样本比例以及所述样本总集的样本总量;将所述样本总量与所述关键样本的数量进行相减处理,确定非关键样本的数量;将所述目标非关键样本比例与所述非关键样本的数量进行乘积处理,确定所述目标非关键样本的总数量;基于所述目标非关键样本的总数量,确定各所述参与方设备对应的目标非关键样本的数量。
在一些实施例中,所述第二确定模块2544,还用于从所述样本序列中筛除所述多个关键样本,得到非关键样本序列;获取所述目标非关键样本与各所述参与方设备的归属关系;基于所述目标非关键样本的总数量、所述归属关系以及所述非关键样本序列,确定各所述参与方设备对应的目标非关键样本的数量。
在一些实施例中,所述第二确定模块2544,还用于获取各个所述参与方设备对应的目标非关键样本的数量最小值;依据所述数量最小值、各所述参与方设备的训练样本总量,以及各所述参与方设备的关键样本的数量,确定各所述参与方设备对应的目标非关键样本的数量。
在一些实施例中,所述第二确定模块2544,还用于获取各所述参与方设备的重要程度,并基于所述重要程度确定各所述参与方设备对应的目标非关键样本的比例;基于各所述参与方设备对应的目标非关键样本的比例,以及所述目标非关键样本的总数量,确定各所述参与方设备对应的目标非关键样本的数量。
在一些实施例中,所述构建模块2545,还用于接收各所述参与方设备发送的特征分裂增益直方图,所述特征分裂增益直方图为,各所述参与方设备基于所述关键样本及目标非关键样本的数量确定目标训练样本集合,并基于所述目标训练样本集合对所述多分类梯度提升树的分裂点进行遍历得到;基于所述特征分裂增益直方图,确定所述多分类梯度提升树的分裂点的增益值,选取增益值最大的分裂点作为全局分裂点;基于所述全局分裂点,构建所述多分类梯度提升树。
在一些实施例中,所述获取模块2541,还用于协作方设备获取各参与方设备发送的用于表征各训练样本所对应梯度的多维向量,其中,所述多维向量的维度数与所述多分类梯度提升树的标签类别的数量相对应,所述多维向量为所述各参与方设备基于所述训练样本集合中各训练样本携带的标签以及对应的预测值所确定。
在一些实施例中,所述排序模块2542,还用于将所述多维向量中各维度对应的梯度进行相加,得到所述训练样本集合中各训练样本所对应梯度之和;依据所述梯度之和的大小,对所述样本总集中的训练样本进行排序,得到样本序列。
应用本申请上述实施例,在进行多分类梯度提升树的构建时,协作方设备依据各参与方设备所提供的训练样本的梯度的大小,对各训练样本的梯度进行排序,以得到样本序列,从而基于样本序列的样本分位点,对样本序列进行划分以确定各参与方设备中的关键样本以及目标非关键样本的数量并发送至相应的各参与方设备,从而使各参与方设备基于关键样本以及目标非关键样本的数量协同协作方设备构建多分类梯度提升树。如此,通过横向梯度排序采样进行模型构建,从而有效解决横向多分类建模的效率、开销问题。
本申请实施例还提供一种电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的多分类梯度提升树的构建方法。
本申请实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的多分类梯度提升树的构建方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的多分类梯度提升树的构建方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例能够通过横向梯度排序采样进行模型构建,从而减少多分类任务中的开销。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (14)
1.一种多分类梯度提升树的构建方法,其特征在于,基于联邦学习系统,所述联邦学习系统包括协作方设备及至少两个参与方设备,所述方法包括:
协作方设备获取各参与方设备的训练样本集合中各训练样本对应的梯度;其中,各所述参与方设备的训练样本集合构成样本总集;
依据梯度大小,对所述样本总集中的训练样本进行排序,得到样本序列;
确定所述样本序列的样本分位点,并基于所述样本分位点确定所述样本总集中的多个关键样本;
确定所述多个关键样本中归属于各所述参与方设备的关键样本,并确定各所述参与方设备对应的目标非关键样本的数量;
发送所述关键样本及目标非关键样本的数量至相应的所述参与方设备,以使各所述参与方设备基于所述关键样本及目标非关键样本的数量,协同所述协作方设备构建所述多分类梯度提升树。
2.根据权利要求1所述的方法,其特征在于,所述确定所述样本序列的样本分位点,并基于所述样本分位点确定所述样本总集中的多个关键样本,包括:
获取预先设定的关键样本比例以及所述样本总集的样本总量;
将所述关键样本比例与所述样本总量进行相乘处理,确定所述样本总集中关键样本的数量;
基于所述关键样本的数量,确定所述样本序列的样本分位点;
基于所述样本分位点,从所述样本序列中选取所述数量的训练样本,作为所述多个关键样本。
3.根据权利要求1所述的方法,其特征在于,所述确定所述多个关键样本中归属于各所述参与方设备的关键样本,包括:
获取所述各参与方设备的训练样本集合中各训练样本所对应的第一标识、以及所述样本总集中各关键样本对应的第二标识;
将所述第一标识与所述第二标识进行匹配,并基于匹配结果确定所述多个关键样本中归属于各所述参与方设备的关键样本。
4.根据权利要求1所述的方法,其特征在于,所述确定各所述参与方设备对应的目标非关键样本的数量,包括:
获取预先设定的目标非关键样本比例以及所述样本总集的样本总量;
将所述样本总量与所述关键样本的数量进行相减处理,确定非关键样本的数量;
将所述目标非关键样本比例与所述非关键样本的数量进行乘积处理,确定所述目标非关键样本的总数量;
基于所述目标非关键样本的总数量,确定各所述参与方设备对应的目标非关键样本的数量。
5.根据权利要求4所述的方法,其特征在于,所述基于所述目标非关键样本的总数量,确定各所述参与方设备对应的目标非关键样本的数量,包括:
从所述样本序列中筛除所述多个关键样本,得到非关键样本序列;
获取所述目标非关键样本与各所述参与方设备的归属关系;
基于所述目标非关键样本的总数量、所述归属关系以及所述非关键样本序列,确定各所述参与方设备对应的目标非关键样本的数量。
6.根据权利要求4所述的方法,其特征在于,所述基于所述目标非关键样本的总数量,确定各所述参与方设备对应的目标非关键样本的数量,包括:
获取各个所述参与方设备对应的目标非关键样本的数量最小值;
依据所述数量最小值、各所述参与方设备的训练样本总量,以及各所述参与方设备的关键样本的数量,确定各所述参与方设备对应的目标非关键样本的数量。
7.根据权利要求4所述的方法,其特征在于,所述基于所述目标非关键样本的总数量,确定各所述参与方设备对应的目标非关键样本的数量,包括:
获取各所述参与方设备的重要程度,并基于所述重要程度确定各所述参与方设备对应的目标非关键样本的比例;
基于各所述参与方设备对应的目标非关键样本的比例,以及所述目标非关键样本的总数量,确定各所述参与方设备对应的目标非关键样本的数量。
8.根据权利要求1所述的方法,其特征在于,所述发送所述关键样本及目标非关键样本的数量至相应的所述参与方设备,以使各所述参与方设备基于所述关键样本及目标非关键样本的数量,协同所述协作方设备构建所述多分类梯度提升树,包括:
接收各所述参与方设备发送的特征分裂增益直方图,所述特征分裂增益直方图为,各所述参与方设备基于所述关键样本及目标非关键样本的数量确定目标训练样本集合,并基于所述目标训练样本集合对所述多分类梯度提升树的分裂点进行遍历得到;
基于所述特征分裂增益直方图,确定所述多分类梯度提升树的分裂点的增益值,选取增益值最大的分裂点作为全局分裂点;
基于所述全局分裂点,构建所述多分类梯度提升树。
9.根据权利要求1所述的方法,其特征在于,所述协作方设备获取各参与方设备的训练样本集合中各训练样本对应的梯度,包括:
协作方设备获取各参与方设备发送的用于表征各训练样本所对应梯度的多维向量,其中,所述多维向量的维度数与所述多分类梯度提升树的标签类别的数量相对应,所述多维向量为所述各参与方设备基于所述训练样本集合中各训练样本携带的标签以及对应的预测值所确定。
10.根据权利要求9所述的方法,其特征在于,所述依据梯度大小,对所述样本总集中的训练样本进行排序,得到样本序列,包括:
将所述多维向量中各维度对应的梯度进行相加,得到所述训练样本集合中各训练样本所对应梯度之和;
依据所述梯度之和的大小,对所述样本总集中的训练样本进行排序,得到样本序列。
11.一种多分类梯度提升树的构建装置,其特征在于,所述装置包括:
获取模块,用于协作方设备获取各参与方设备的训练样本集合中各训练样本对应的梯度;其中,各所述参与方设备的训练样本集合构成样本总集;
排序模块,用于依据梯度大小,对所述样本总集中的训练样本进行排序,得到样本序列;
第一确定模块,用于确定所述样本序列的样本分位点,并基于所述样本分位点确定所述样本总集中的多个关键样本;
第二确定模块,用于确定所述多个关键样本中归属于各所述参与方设备的关键样本,并确定各所述参与方设备对应的目标非关键样本的数量;
构建模块,用于发送所述关键样本及目标非关键样本的数量至相应的所述参与方设备,以使各所述参与方设备基于所述关键样本及目标非关键样本的数量,协同所述协作方设备构建所述多分类梯度提升树。
12.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至10任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至10任一项所述的方法。
14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111402878.4A CN114065641A (zh) | 2021-11-24 | 2021-11-24 | 多分类梯度提升树的构建方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111402878.4A CN114065641A (zh) | 2021-11-24 | 2021-11-24 | 多分类梯度提升树的构建方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114065641A true CN114065641A (zh) | 2022-02-18 |
Family
ID=80275721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111402878.4A Pending CN114065641A (zh) | 2021-11-24 | 2021-11-24 | 多分类梯度提升树的构建方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114065641A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113516513A (zh) * | 2021-07-20 | 2021-10-19 | 重庆度小满优扬科技有限公司 | 数据分析方法、装置、计算机设备和存储介质 |
-
2021
- 2021-11-24 CN CN202111402878.4A patent/CN114065641A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113516513A (zh) * | 2021-07-20 | 2021-10-19 | 重庆度小满优扬科技有限公司 | 数据分析方法、装置、计算机设备和存储介质 |
CN113516513B (zh) * | 2021-07-20 | 2023-04-07 | 重庆度小满优扬科技有限公司 | 数据分析方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11809458B2 (en) | System and method for providing database abstraction and data linkage | |
AU2021218110B2 (en) | Learning from distributed data | |
CN111666460A (zh) | 基于隐私保护的用户画像生成方法、装置及存储介质 | |
CN112529101B (zh) | 分类模型的训练方法、装置、电子设备及存储介质 | |
CN111144576A (zh) | 模型训练方法、装置和电子设备 | |
CN112749749A (zh) | 基于分类决策树模型的分类方法、装置及电子设备 | |
CN113449048B (zh) | 数据标签分布确定方法、装置、计算机设备和存储介质 | |
CN113408668A (zh) | 基于联邦学习系统的决策树构建方法、装置及电子设备 | |
CN113657471A (zh) | 多分类梯度提升树的构建方法、装置及电子设备 | |
CN111428217A (zh) | 欺诈团伙识别方法、装置、电子设备及计算机可读存储介质 | |
CN114186263A (zh) | 一种基于纵向联邦学习的数据回归方法及电子装置 | |
CN112241920A (zh) | 基于图神经网络的投融资机构评估方法、系统及设备 | |
CN114065641A (zh) | 多分类梯度提升树的构建方法、装置及电子设备 | |
CN113761350A (zh) | 一种数据推荐方法、相关装置和数据推荐系统 | |
Provalov et al. | Synevarec: A framework for evaluating recommender systems on synthetic data classes | |
CN111784402A (zh) | 基于多通路的下单率预测方法、设备及可读存储介质 | |
KR102351300B1 (ko) | 공공기관 인증 플랫폼 제공 방법 및 시스템 | |
CN112418929A (zh) | 一种数据共享方法及装置 | |
CN112307334A (zh) | 信息推荐方法、信息推荐装置、存储介质与电子设备 | |
CN114912542A (zh) | 特征提取模型的训练方法、装置、设备、介质及程序产品 | |
CN113961766A (zh) | 基于联邦学习的数据特征查询方法、装置、设备及介质 | |
Bao | Privacy-Preserving Cloud-Assisted Data Analytics | |
CN115456731A (zh) | 电力产品推荐方法、装置、计算机设备、存储介质 | |
Λιβιεράτος | Graph Databases and their application to financial problems | |
Patwary et al. | Personalization in federated recommendation system using SVD++ with explainability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |