本说明书涉及人工智能
技术领域:
,尤其涉及一种模型预测结果的解释方法和装置。
背景技术:
:随着人工智能技术的发展,机器学习在零售、医疗、金融、自动驾驶等领域均有着广泛的应用。然而,很多机器学习模型类似于“黑盒”,输入数据后可输出结果,但却不具有解释性,用户无法了解其内部的决策机制,无法满足业务场景的需求。技术实现要素:有鉴于此,本说明书提供一种模型预测结果的解释方法和装置。具体地,本说明书是通过如下技术方案实现的:一种模型预测结果的解释方法,包括:获取目标模型的输入数据和对应的输入数据预测结果;对所述输入数据进行扰动处理,得到若干扰动数据;将所述若干扰动数据分别输入所述目标模型,得到对应的扰动预测结果;筛选出产生与所述输入数据预测结果不同的扰动预测结果的扰动数据,作为反例扰动数据;根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征;针对每个解释特征,判断所述输入数据的特征值是否匹配该解释特征的解释条件;将匹配所述解释条件的解释特征及其特征值确定为所述输入数据预测结果的解释。一种模型预测结果的解释装置,包括:数据获取单元,获取目标模型的输入数据和对应的输入数据预测结果;数据扰动单元,对所述输入数据进行扰动处理,得到若干扰动数据;扰动预测单元,将所述若干扰动数据分别输入所述目标模型,得到对应的扰动预测结果;反例筛选单元,筛选出产生与所述输入数据预测结果不同的扰动预测结果的扰动数据,作为反例扰动数据;特征确定单元,根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征;条件匹配单元,针对每个解释特征,判断所述输入数据的特征值是否匹配该解释特征的解释条件;结果解释单元,将匹配所述解释条件的解释特征及其特征值确定为所述输入数据预测结果的解释。一种模型预测结果的解释装置,包括:处理器;用于存储机器可执行指令的存储器;其中,通过读取并执行所述存储器存储的与模型预测结果的解释逻辑对应的机器可执行指令,所述处理器被促使:获取目标模型的输入数据和对应的输入数据预测结果;对所述输入数据进行扰动处理,得到若干扰动数据;将所述若干扰动数据分别输入所述目标模型,得到对应的扰动预测结果;筛选出产生与所述输入数据预测结果不同的扰动预测结果的扰动数据,作为反例扰动数据;根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征;针对每个解释特征,判断所述输入数据的特征值是否匹配该解释特征的解释条件;将匹配所述解释条件的解释特征及其特征值确定为所述输入数据预测结果的解释。本说明书一个实施例可对目标模型的输入数据进行扰动处理,得到若干扰动数据,然后筛选出产生不同预测结果的扰动数据作为反例扰动数据,根据反例扰动数据与输入数据的差异为所述输入数据确定解释特征,进而根据所述解释特征和所述输入数据的特征值确定输入数据预测结果的解释,实现了对目标模型预测结果的解释。附图说明图1是本说明书一示例性实施例示出的一种模型预测结果的解释方法的流程示意图。图2是本说明书一示例性实施例示出的一种输入数据的扰动处理方法的流程示意图。图3是本说明书一示例性实施例示出的一种解释特征的确定方法的流程示意图。图4是本说明书一示例性实施例示出的一种风险预测模型预测结果的解释方法的流程示意图。图5是本说明书一示例性实施例示出的一种用于模型预测结果的解释装置的一结构示意图。图6是本说明书一示例性实施例示出的一种模型预测结果的解释装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。图1是本说明书一示例性实施例示出的一种模型预测结果的解释方法的流程示意图。所述模型预测结果的解释方法可应用于模型预测结果的解释系统,其物理载体通常为服务器或者服务器集群。请参考图1,所述模型预测结果的解释方法可包括以下步骤:步骤102,获取目标模型的输入数据和对应的输入数据预测结果。在本实施例中,所述输入数据可以为用户、商户等实体对象的特征数据。所述输入数据预测结果可以为与所述实体对象相关的分类结果。例如,所述输入数据可包括用户自身的属性特征、用户的历史业务行为特征等,所述目标模型为风险预测模型,所述输入数据预测结果为所述用户的业务请求是否具有风险。再例如,所述输入数据可包括用户自身的属性特征、用户的历史疾病特征、用户的当前症状特征等,所述目标模型为疾病诊断模型,所述输入数据预测结果为所述用户是否患有某种疾病。在本实施例中,当调用方调用目标模型进行预测时,可通过所述目标模型的调用接口输入所述输入数据,并可获取所述目标模型输出的预测结果,为便于区别,本说明书将所述输入数据输入目标模型后,目标模型输出的预测结果称为输入数据预测结果。步骤104,对所述输入数据进行扰动处理,得到若干扰动数据。在本实施例中,在对输入数据的输入数据预测结果进行解释时,可先对所述输入数据进行扰动处理,得到若干扰动数据。例如,可较小的改变扰动数据,让扰动数据保留所述输入数据的部分特征,使得扰动数据更加合理。在其他例子中,在获取到输入数据预测结果之后,还可判断所述输入数据预测结果是否为需要进行解释的待解释预测结果。若是,则可执行本步骤对输入数据进行扰动处理。若否,可结束流程。步骤106,将所述若干扰动数据分别输入所述目标模型,得到对应的扰动预测结果。基于前述步骤104,可将生成的扰动数据分别输入所述目标模型,得到所述扰动数据对应的预测结果,称之为扰动预测结果。步骤108,筛选出产生与所述输入数据预测结果不同的扰动预测结果的扰动数据,作为反例扰动数据。在本步骤中,可判断所述扰动预测结果与所述输入数据预测结果是否相同。若相同,即目标模型对扰动数据的预测结果未发生改变,可说明对输入数据的扰动处理不足以让目标模型改变预测结果,该扰动处理对预测结果没有实质性影响。若不相同,即目标模型对扰动数据的预测结果发生了改变,可说明对输入数据的扰动处理使得目标模型改变了预测结果,该扰动处理对预测结果产生了实质性影响,可基于该扰动处理对目标模型的预测结果进行解释。在本实施例中,为便于区分,可将产生不同预测结果的扰动数据称为反例扰动数据。步骤110,根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征。在本实施例中,可根据反例扰动数据和输入数据之间的特征差异,确定出对目标模型预测结果产生影响的一个或多个特征,作为解释特征。步骤112,针对每个解释特征,判断所述输入数据的特征值是否匹配该解释特征的解释条件。步骤114,将匹配所述解释条件的解释特征及其特征值确定为所述输入数据预测结果的解释。在本实施例中,可预先为各个特征设置解释条件,针对所述输入数据,可判断解释特征的特征值是否满足所述解释条件,若满足解释条件,可将该解释特征及其特征值作为前述输入数据预测结果的解释返回给调用方。举例来说,假设前述步骤110中为输入数据确定的解释特征有2个,分别为特征1和特征3,而特征1的解释条件是特征值大于5,特征3的解释条件是特征值小于7。若输入数据特征1的特征值是6,满足其对应的解释条件;特征3的特征值是8,不满足其对应的解释条件,则可将特征1的特征值6确定为输入数据预测结果的解释,即目标模型输出输入数据预测结果的原因是输入数据特征1的特征值是6。由以上描述可以看出,本实施例可对目标模型的输入数据进行扰动处理,得到若干扰动数据,然后筛选出产生不同预测结果的扰动数据作为反例扰动数据,根据反例扰动数据与输入数据的差异为所述输入数据确定解释特征,进而根据所述解释特征和所述输入数据的特征值确定输入数据预测结果的解释,实现了对目标模型预测结果的解释。下面分别从输入数据的扰动处理、解释特征的确定两个方面来进行详细描述。一、输入数据的扰动处理图2是本说明书一示例性实施例示出的一种输入数据的扰动处理方法的流程示意图。请参考图2,所述输入数据的扰动处理方法可包括以下步骤:步骤202,获取用于训练目标模型的样本。在本实施例中,可获取用于训练目标模型的样本,所述样本可包括训练样本、测试样本等。步骤204,生成符合样本数据分布的若干伪样本。在本实施例中,可采用生成式模型来学习所述样本的数据分布,并生成符合所述数据分布的若干样本,称之为伪样本。例如,可采用gan模型(generativeadversarialnetworks,生成式对抗网络)、smote模型(syntheticminorityover-samplingtechnique,合成少数类过采样技术)等生成式模型。采用生成式模型生成的伪样本更加符合目标模型样本的数据分布特点,更加接近真实情况。在本实施例中,在权衡算力的基础上,可尽可能多的生成伪样本。在其他例子中,针对目标模型,也可以预先生成若干伪样本,在进行预测结果解释时,获取预先生成的伪样本即可,本说明书对此不作特殊限制。步骤206,为输入数据确定若干组扰动特征,每组扰动特征包括一个或多个扰动特征。在本实施例中,可根据样本特征的数量、目标模型的应用场景等信息预先设置特征的扰动数量。例如,假设样本特征的数量是100,则可将所述扰动数量设置为8、10等。设置小于特征数量的扰动数量,后续生成的扰动数据可保留原始输入数据的部分特征,使得扰动更加合理,进而可以提高后续预测结果解释的准确性。在获取到特征的扰动数量后,可以遍历符合所述扰动数量的每种特征组合,并可将每种特征组合确定为一组扰动特征。序号扰动特征组1x1、x22x1、x33x1、x44x1、x55x2、x36x2、x47x2、x58x3、x49x3、x510x4、x5表1假设样本特征的数量是5,扰动数量是2,采用x代表特征,xk代表第k个特征。请参考表1的示例,可生成10种特征组合,每种特征组合中有2个特征,即可生成10组扰动特征组,每组扰动特征组中有2个扰动特征。当然,在其他例子中,也可以采用其他方式确定扰动特征组。例如,可先对特征进行过滤,过滤掉一些已确定对预测结果不产生实质影响的特征,针对过滤后的特征,再采用上述遍历的方式确定扰动特征组。再例如,也可不对扰动数量进行限制,可将扰动数量依次设置为1、2、3…,直至样本特征数量等,本说明书对此不作特殊限制。步骤208,针对每组扰动特征,分别用每条伪样本的特征值对应替换所述输入数据的特征值,得到所述输入数据的扰动数据。基于前述步骤206,在确定扰动特征组后,针对每组扰动特征,分别用各条伪样本的特征值对应替换输入数据的特征值,以得到扰动数据。请继续参考表1的示例,以扰动特征组(x1、x2)为例,可分别用每条伪样本特征x1和特征x2的特征值替换输入数据特征x1和特征x2的特征值,得到与该伪样本对应的扰动数据。假设,输入数据5个特征的特征值为(1,2,3,4,5),某条伪样本5个特征的特征值为(6,7,8,9,10),针对扰动特征组(x1、x2),替换后得到的扰动数据的特征值为(6,7,3,4,5)。在本实施例中,假设有m条伪样本,则针对每组扰动特征,可生成m条扰动数据,又假设有n组扰动特征,则可生成n×m条扰动数据。至此,可得到输入数据的若干条扰动数据。二、解释特征的确定图3是本说明书一示例性实施例示出的一种解释特征的确定方法的流程示意图。请参考图3,所述解释特征的确定方法可包括以下步骤:步骤302,针对每个特征,计算反例扰动数据与输入数据的特征差异。在本实施例中,针对输入数据的每个特征,分别计算反例扰动数据与输入数据在该特征下的特征差异。所述特征差异可通过特征取值差异、数量差异等维度来衡量。(1)特征取值差异针对每个特征,计算所述反例扰动数据的特征值与所述输入数据的特征值的取值差异。在本实施例中,以特征x1为例,针对每个反例扰动数据,可计算该反例扰动数据的特征值和所述输入数据特征值的差值,然后综合所有反例扰动数据和所述输入数据特征值的差值,得到特征x1的取值差异。例如,仍以特征x1为例,可计算每个反例扰动数据的特征值和输入数据特征值的差值,并取差值的绝对值,使得差值均为正数,然后计算所有反例扰动数据差值绝对值的和值,作为特征x1的取值差异。表2请参考表2的示例,假设反例扰动数据有5条,各条反例扰动数据特征x1的特征值如表2所示,输入数据特征x1的特征值是10,则可计算得到表2所示的差值,在本例中,可将表2所示差值的绝对值相加,即4 2 2 14 5,得到反例扰动数据和输入数据在特征x1下的取值差异27。类似的,可计算得到反例扰动数据和输入数据在各个特征下的取值差异。(2)差异数量针对每个特征,可统计与所述输入数据特征值不同的反例扰动数据的数量,作为所述特征的差异数量。请继续参考表2的示例,表2示出的5条反例扰动数据,这5条反例扰动数据的特征x1的特征值与输入数据特征x1的特征值均不相同,则反例扰动数据和输入数据在特征x1下的差异数量是5。类似的,可统计得到反例扰动数据和输入数据在各个特征下的差异数量。在本实施例中,可根据所述取值差异和所述数量差异计算出各个特征下的特征差异。例如,针对每个特征,可对取值差异和数量差异进行归一化处理,然后通过加权平均等方式计算出反例扰动数据和调用扰动数据在该特征下的特征差异。当然,在其他例子中,也可以采用其他方式计算上述取值差异、特征差异,还可增加其他的差异计算维度,本说明书对此不作特殊限制。针对每个特征,基于本步骤,可计算出反例扰动数据和输入数据在该特征下的特征差异,得到反例扰动数据和输入数据在各个特征下的特征差异。步骤304,将特征差异满足差异条件的特征确定为所述解释特征。基于前述步骤302,在计算得到反例扰动数据和输入数据在各个特征下的特征差异后,可将各个特征按照特征差异从高到低的顺序进行排列,然后可顺次选取排列在先的预设数量的特征作为所述解释特征。即,选取特征差异大的若干特征作为解释特征。所述预设数量可预先设置,例如可参考特征总数量进行设置等。在本实施例中,反例扰动数据和输入数据差异大的特征往往对目标模型的预测结果起到更重要的作用,将差异大的特征作为预测结果的解释特征,可有效提高预测结果解释的准确性。下面以目标模型为风险预测模型、该风险预测模型应用于金融领域的套现风险预测为例,描述本说明书的实现过程。请参考图4,风险预测模型预测结果的解释方法可包括以下步骤:步骤402,获取风险预测模型的输入数据和对应的风险预测结果。在本实施例中,以信用卡申请为例,用户可在线提交信用卡申请请求,信用卡发售方可将用户数据、申请数据等数据作为输入数据,输入已训练的风险预测模型,得到所述风险预测模型输出的预测结果。所述用户数据可包括用户性别、年龄、所在地、职业、历史行为数据等多维度特征数据;所述申请数据可包括申请额度、申请设备标识、申请设备网络环境等多维度特征数据,具体可参考所述风险预测模型的样本特征。所述风险预测模型的预测结果通常为两类:有风险和无风险。步骤404,判断所述风险预测结果是否为有风险。基于前述步骤402,在获取到所述风险预测结果后,判断所述风险预测结果是否为有风险。若是,则执行步骤406,给出有风险的预测依据。若否,则无需对无风险的结果进行解释,可结束本实施例的后续流程,执行无风险对应的业务流程,例如发放信用卡等。步骤406,对所述输入数据进行扰动处理,得到若干扰动数据。在本实施例中,可采用前述图2所示实施例中示出的扰动数据生成方案为所述输入数据生成若干扰动数据,本实施例在此不再一一赘述。步骤408,将所述若干扰动数据分别输入所述风险预测模型,得到对应的扰动预测结果。在本实施例中,可将前述步骤406中生成的各扰动数据分别输入所述风险预测模型,得到每个扰动数据对应的风险预测结果,所述风险预测结果包括两类:有风险和无风险。步骤410,筛选出产生无风险预测结果的扰动数据,作为反例扰动数据。在本实施例中,可将产生无风险预测结果的扰动数据确定为反例扰动数据。步骤412,根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征。在本实施例中,可采用前述图3所示实施例中示出的解释特征确定方法为所述输入数据确定若干解释特征。步骤414,针对每个解释特征,判断所述输入数据的特征值是否匹配该解释特征的解释条件。步骤416,将匹配所述解释条件的解释特征及其特征值确定为所述有风险预测结果的解释。在本实施例中,可预先为各个特征设置解释条件,解释条件通常匹配该特征下存在风险的特征值。例如,以特征是用户的信用评分为例,一般而言,若信用评分低于某个阈值,可认为该用户的信用情况较差,可能存在套现风险,进而可将信用评分这个特征的解释条件设置为信用评分低于所述阈值。再例如,以特征是近半个月用户的消费金额为例,若用户在近半个月的消费金额超出用户的正常的消费金额,则可将近半个月用户的消费金额这个特征的解释条件设置为消费金额大于正常消费金额。其中,用户的正常消费金额可采用相关技术中提供的方式进行计算,诸如根据用户的历史消费金额计算,并考虑年节等特殊情况等,一般而言,不同用户的正常消费金额往往不同,本说明书在此不再一一赘述。在本实施例中,基于前述步骤412中确定的解释特征,可依次判断输入数据的每个解释特征值是否匹配对应解释特征的解释条件。若匹配,则可说明该解释特征值对风险预测模型输出有风险的预测结果起到了重要作用,进而可将各匹配解释条件的解释特征及其特征值返回给信用卡发售方,信用卡发售方进而可以返回给用户,作为拒绝向用户发放信用卡的理由。若不匹配,则可说明该解释特征值对风险预测模型输出有风险的预测结果未起到任何作用,进而可以忽略该解释特征及其特征值。举例来说,假设输入数据具有50个特征,在本步骤中为所述输入数据确定3个解释特征,分别为f1、f2和f3。其中,解释特征f1代表用户的信用评分,其解释条件是信用评分小于500分;解释特征f2代表用户近一周的消费金额,其解释条件是消费金额大于20000元;解释特征f3代表用户当前在各信贷平台中尚未还款的总金额,其解释条件是金额大于50000元。解释特征解释条件输入数据的特征值f1<500400f2>2000025000f3>5000048000表3请参考表3的示例,前述步骤402中风险预测模型输出有风险预测结果的用户的信用评分是400分,匹配对应的解释条件;近一周的消费金额是25000元,也匹配对应的解释条件;当前在各信贷平台中尚未还款的总金额是48000元,未匹配对应的解释条件。在本例中,可将信用评分400分、近一周消费金额25000元作为前述有风险的预测结果的解释返回给信用卡发售方,信用卡发售方进而可以拒绝该用户的信用卡申请请求,并将这两点作为解释返回给用户,进而提升用户的业务体验。与前述模型预测结果的解释方法的实施例相对应,本说明书还提供了模型预测结果的解释装置的实施例。本说明书模型预测结果的解释装置的实施例可以应用在服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在服务器的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本说明书模型预测结果的解释装置所在服务器的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的服务器通常根据该服务器的实际功能,还可以包括其他硬件,对此不再赘述。图6是本说明书一示例性实施例示出的一种模型预测结果的解释装置的框图。请参考图6,所述模型预测结果的解释装置500可以应用在前述图5所示的服务器中,包括有:数据获取单元501、数据扰动单元502、扰动预测单元503、反例筛选单元504、特征确定单元505、条件匹配单元506和结果解释单元507。其中,数据获取单元501,获取目标模型的输入数据和对应的输入数据预测结果;数据扰动单元502,对所述输入数据进行扰动处理,得到若干扰动数据;扰动预测单元503,将所述若干扰动数据分别输入所述目标模型,得到对应的扰动预测结果;反例筛选单元504,筛选出产生与所述输入数据预测结果不同的扰动预测结果的扰动数据,作为反例扰动数据;特征确定单元505,根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征;条件匹配单元506,针对每个解释特征,判断所述输入数据的特征值是否匹配该解释特征的解释条件;结果解释单元507,将匹配所述解释条件的解释特征及其特征值确定为所述输入数据预测结果的解释。可选的,所述数据扰动单元502:获取用于训练所述目标模型的样本;生成符合样本数据分布的若干伪样本;为所述输入数据确定若干组扰动特征,每组扰动特征包括一个或多个扰动特征;针对每组扰动特征,分别用每条伪样本的特征值对应替换所述输入数据的特征值,得到所述输入数据的扰动数据。可选的,所述数据扰动单元502:采用生成式模型学习所述样本的数据分布,并生成所述若干伪样本。可选的,所述数据扰动单元502:获取特征的扰动数量;遍历符合所述扰动数量的每种特征组合,并将每种特征组合确定为一组扰动特征。可选的,所述扰动数量小于所述输入数据的特征数量。可选的,所述特征确定单元505:针对每个特征,计算所述反例扰动数据与所述输入数据的特征差异;将特征差异满足差异条件的特征确定为所述解释特征。可选的,所述特征确定单元505:针对每个特征,计算所述反例扰动数据的特征值与所述输入数据的特征值的取值差异;针对每个特征,统计与所述输入数据的特征值不同的反例扰动数据的数量;根据所述取值差异和数量确定所述特征差异。可选的,所述特征确定单元505:将所述特征按照特征差异从高到低的顺序排列,顺次选取排列在先的预设数量的特征作为所述解释特征。可选的,所述数据扰动单元502:判断所述输入数据预测结果是否为预定的待解释预测结果;若是,则执行对所述输入数据进行扰动处理的步骤。可选的,所述输入数据为实体对象的特征数据;所述输入数据预测结果为与所述实体对象相关的分类结果。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。与前述模型预测结果的解释方法的实施例相对应,本说明书还提供一种模型预测结果的解释装置,该装置包括:处理器以及用于存储机器可执行指令的存储器。其中,处理器和存储器通常借由内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。在本实施例中,通过读取并执行所述存储器存储的与模型预测结果的解释逻辑对应的机器可执行指令,所述处理器被促使:获取目标模型的输入数据和对应的输入数据预测结果;对所述输入数据进行扰动处理,得到若干扰动数据;将所述若干扰动数据分别输入所述目标模型,得到对应的扰动预测结果;筛选出产生与所述输入数据预测结果不同的扰动预测结果的扰动数据,作为反例扰动数据;根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征;针对每个解释特征,判断所述输入数据的特征值是否匹配该解释特征的解释条件;将匹配所述解释条件的解释特征及其特征值确定为所述输入数据预测结果的解释。可选的,在对所述输入数据进行扰动处理,得到若干扰动数据时,所述处理器被促使:获取用于训练所述目标模型的样本;生成符合样本数据分布的若干伪样本;为所述输入数据确定若干组扰动特征,每组扰动特征包括一个或多个扰动特征;针对每组扰动特征,分别用每条伪样本的特征值对应替换所述输入数据的特征值,得到所述输入数据的扰动数据。可选的,在生成符合样本数据分布的若干伪样本时,所述处理器被促使:采用生成式模型学习所述样本的数据分布,并生成所述若干伪样本。可选的,在为所述输入数据确定若干组扰动特征时,所述处理器被促使:获取特征的扰动数量;遍历符合所述扰动数量的每种特征组合,并将每种特征组合确定为一组扰动特征。可选的,所述扰动数量小于所述输入数据的特征数量。可选的,在根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征时,所述处理器被促使:针对每个特征,计算所述反例扰动数据与所述输入数据的特征差异;将特征差异满足差异条件的特征确定为所述解释特征。可选的,在计算所述反例扰动数据与所述输入数据的特征差异时,所述处理器被促使:针对每个特征,计算所述反例扰动数据的特征值与所述输入数据的特征值的取值差异;针对每个特征,统计与所述输入数据的特征值不同的反例扰动数据的数量;根据所述取值差异和数量确定所述特征差异。可选的,在将特征差异满足差异条件的特征确定为所述解释特征时,所述处理器被促使:将所述特征按照特征差异从高到低的顺序排列,顺次选取排列在先的预设数量的特征作为所述解释特征。可选的,所述处理器还被促使:判断所述输入数据预测结果是否为预定的待解释预测结果;若是,则执行对所述输入数据进行扰动处理的步骤。所述输入数据为实体对象的特征数据;所述输入数据预测结果为与所述实体对象相关的分类结果。与前述模型预测结果的解释方法的实施例相对应,本说明书还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现以下步骤:一种模型预测结果的解释方法,包括:获取目标模型的输入数据和对应的输入数据预测结果;对所述输入数据进行扰动处理,得到若干扰动数据;将所述若干扰动数据分别输入所述目标模型,得到对应的扰动预测结果;筛选出产生与所述输入数据预测结果不同的扰动预测结果的扰动数据,作为反例扰动数据;根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征;针对每个解释特征,判断所述输入数据的特征值是否匹配该解释特征的解释条件;将匹配所述解释条件的解释特征及其特征值确定为所述输入数据预测结果的解释。可选的,所述对所述输入数据进行扰动处理,得到若干扰动数据,包括:获取用于训练所述目标模型的样本;生成符合样本数据分布的若干伪样本;为所述输入数据确定若干组扰动特征,每组扰动特征包括一个或多个扰动特征;针对每组扰动特征,分别用每条伪样本的特征值对应替换所述输入数据的特征值,得到所述输入数据的扰动数据。可选的,所述生成符合样本数据分布的若干伪样本,包括:采用生成式模型学习所述样本的数据分布,并生成所述若干伪样本。可选的,所述为所述输入数据确定若干组扰动特征,包括:获取特征的扰动数量;遍历符合所述扰动数量的每种特征组合,并将每种特征组合确定为一组扰动特征。可选的,所述扰动数量小于所述输入数据的特征数量。可选的,所述根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征,包括:针对每个特征,计算所述反例扰动数据与所述输入数据的特征差异;将特征差异满足差异条件的特征确定为所述解释特征。可选的,所述计算所述反例扰动数据与所述输入数据的特征差异,包括:针对每个特征,计算所述反例扰动数据的特征值与所述输入数据的特征值的取值差异;针对每个特征,统计与所述输入数据的特征值不同的反例扰动数据的数量;根据所述取值差异和数量确定所述特征差异。可选的,所述将特征差异满足差异条件的特征确定为所述解释特征,包括:将所述特征按照特征差异从高到低的顺序排列,顺次选取排列在先的预设数量的特征作为所述解释特征。可选的,还包括:判断所述输入数据预测结果是否为预定的待解释预测结果;若是,则执行对所述输入数据进行扰动处理的步骤。可选的,所述输入数据为实体对象的特征数据;所述输入数据预测结果为与所述实体对象相关的分类结果。上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。当前第1页1 2 3 
技术特征:1.一种模型预测结果的解释方法,包括:
获取目标模型的输入数据和对应的输入数据预测结果;
对所述输入数据进行扰动处理,得到若干扰动数据;
将所述若干扰动数据分别输入所述目标模型,得到对应的扰动预测结果;
筛选出产生与所述输入数据预测结果不同的扰动预测结果的扰动数据,作为反例扰动数据;
根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征;
针对每个解释特征,判断所述输入数据的特征值是否匹配该解释特征的解释条件;
将匹配所述解释条件的解释特征及其特征值确定为所述输入数据预测结果的解释。
2.根据权利要求1所述的方法,所述对所述输入数据进行扰动处理,得到若干扰动数据,包括:
获取用于训练所述目标模型的样本;
生成符合样本数据分布的若干伪样本;
为所述输入数据确定若干组扰动特征,每组扰动特征包括一个或多个扰动特征;
针对每组扰动特征,分别用每条伪样本的特征值对应替换所述输入数据的特征值,得到所述输入数据的扰动数据。
3.根据权利要求2所述的方法,所述生成符合样本数据分布的若干伪样本,包括:
采用生成式模型学习所述样本的数据分布,并生成所述若干伪样本。
4.根据权利要求2所述的方法,所述为所述输入数据确定若干组扰动特征,包括:
获取特征的扰动数量;
遍历符合所述扰动数量的每种特征组合,并将每种特征组合确定为一组扰动特征。
5.根据权利要求4所述的方法,
所述扰动数量小于所述输入数据的特征数量。
6.根据权利要求1所述的方法,所述根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征,包括:
针对每个特征,计算所述反例扰动数据与所述输入数据的特征差异;
将特征差异满足差异条件的特征确定为所述解释特征。
7.根据权利要求6所述的方法,所述计算所述反例扰动数据与所述输入数据的特征差异,包括:
针对每个特征,计算所述反例扰动数据的特征值与所述输入数据的特征值的取值差异;
针对每个特征,统计与所述输入数据的特征值不同的反例扰动数据的数量;
根据所述取值差异和数量确定所述特征差异。
8.根据权利要求7所述的方法,所述将特征差异满足差异条件的特征确定为所述解释特征,包括:
将所述特征按照特征差异从高到低的顺序排列,顺次选取排列在先的预设数量的特征作为所述解释特征。
9.根据权利要求1所述的方法,还包括:
判断所述输入数据预测结果是否为预定的待解释预测结果;
若是,则执行对所述输入数据进行扰动处理的步骤。
10.根据权利要求1所述的方法,
所述输入数据为实体对象的特征数据;
所述输入数据预测结果为与所述实体对象相关的分类结果。
11.一种模型预测结果的解释装置,包括:
数据获取单元,获取目标模型的输入数据和对应的输入数据预测结果;
数据扰动单元,对所述输入数据进行扰动处理,得到若干扰动数据;
扰动预测单元,将所述若干扰动数据分别输入所述目标模型,得到对应的扰动预测结果;
反例筛选单元,筛选出产生与所述输入数据预测结果不同的扰动预测结果的扰动数据,作为反例扰动数据;
特征确定单元,根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征;
条件匹配单元,针对每个解释特征,判断所述输入数据的特征值是否匹配该解释特征的解释条件;
结果解释单元,将匹配所述解释条件的解释特征及其特征值确定为所述输入数据预测结果的解释。
12.根据权利要求11所述的装置,所述数据扰动单元:
获取用于训练所述目标模型的样本;
生成符合样本数据分布的若干伪样本;
为所述输入数据确定若干组扰动特征,每组扰动特征包括一个或多个扰动特征;
针对每组扰动特征,分别用每条伪样本的特征值对应替换所述输入数据的特征值,得到所述输入数据的扰动数据。
13.根据权利要求12所述的装置,所述数据扰动单元:
采用生成式模型学习所述样本的数据分布,并生成所述若干伪样本。
14.根据权利要求12所述的装置,所述数据扰动单元:
获取特征的扰动数量;
遍历符合所述扰动数量的每种特征组合,并将每种特征组合确定为一组扰动特征。
15.根据权利要求14所述的装置,
所述扰动数量小于所述输入数据的特征数量。
16.根据权利要求11所述的装置,所述特征确定单元:
针对每个特征,计算所述反例扰动数据与所述输入数据的特征差异;
将特征差异满足差异条件的特征确定为所述解释特征。
17.根据权利要求16所述的装置,所述特征确定单元:
针对每个特征,计算所述反例扰动数据的特征值与所述输入数据的特征值的取值差异;
针对每个特征,统计与所述输入数据的特征值不同的反例扰动数据的数量;
根据所述取值差异和数量确定所述特征差异。
18.根据权利要求17所述的装置,所述特征确定单元:
将所述特征按照特征差异从高到低的顺序排列,顺次选取排列在先的预设数量的特征作为所述解释特征。
19.根据权利要求11所述的装置,所述数据扰动单元:
判断所述输入数据预测结果是否为预定的待解释预测结果;
若是,则执行对所述输入数据进行扰动处理的步骤。
20.根据权利要求11所述的装置,
所述输入数据为实体对象的特征数据;
所述输入数据预测结果为与所述实体对象相关的分类结果。
21.一种模型预测结果的解释装置,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与模型预测结果的解释逻辑对应的机器可执行指令,所述处理器被促使:
获取目标模型的输入数据和对应的输入数据预测结果;
对所述输入数据进行扰动处理,得到若干扰动数据;
将所述若干扰动数据分别输入所述目标模型,得到对应的扰动预测结果;
筛选出产生与所述输入数据预测结果不同的扰动预测结果的扰动数据,作为反例扰动数据;
根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征;
针对每个解释特征,判断所述输入数据的特征值是否匹配该解释特征的解释条件;
将匹配所述解释条件的解释特征及其特征值确定为所述输入数据预测结果的解释。
技术总结说明书披露一种模型预测结果的解释方法和装置。所述方法包括:获取目标模型的输入数据和对应的输入数据预测结果;对所述输入数据进行扰动处理,得到若干扰动数据;将所述若干扰动数据分别输入所述目标模型,得到对应的扰动预测结果;筛选出产生与所述输入数据预测结果不同的扰动预测结果的扰动数据,作为反例扰动数据;根据所述反例扰动数据与所述输入数据的差异,为所述输入数据确定若干解释特征;针对每个解释特征,判断所述输入数据的特征值是否匹配该解释特征的解释条件;将匹配所述解释条件的解释特征及其特征值确定为所述输入数据预测结果的解释。
技术研发人员:方军鹏;唐才智
受保护的技术使用者:支付宝(杭州)信息技术有限公司
技术研发日:2020.01.15
技术公布日:2020.06.05