使用二元分类器处理的数据来生成规则的系统和方法与流程

文档序号:15739777发布日期:2018-10-23 22:05阅读:299来源:国知局
使用二元分类器处理的数据来生成规则的系统和方法与流程

本发明要求2016年3月14日递交的发明名称为“使用二元分类器处理的数据来生成规则的系统和方法(System and Method for Rule Generation Using Data Processed By a Binary Classifier)”的第15/069,247号美国专利案的在先申请优先权,该在先申请的全部内容以引入的方式并入本文本中。

技术领域

本申请涉及从机器学习二元分类器处理的数据中生成规则。



背景技术:

机器学习是一种人工智能,其中,计算机用于在无需明确编程的情况下进行学习。计算机可以使用机器学习来执行二元分类,比如预测事件是否会发生。首先,可以使用结果已知的历史数据对计算机进行训练。然后,在处理新输入数据时,计算机使用训练期间学习的信息来确定鉴于新输入数据的事件发生的似然。如果似然高于某个阈值,则计算机预测该事件将发生。否则,计算机预测该事件不会发生。使用机器学习的二元分类被称为机器学习二元分类,同时实现机器学习二元分类的计算机被称为机器学习二元分类器。

例如,贷款机构可以使用机器学习二元分类器来确定是否应该接受或拒绝贷款申请。可以从贷款申请中提取一组数据,该申请包括贷款申请人收入、贷款期限、贷款金额等信息。机器学习二元分类器然后使用这组数据作出预测:贷款申请人是否会违约。如果计算机返回贷款违约会发生的预测,则贷款申请可能会被拒绝。

机器学习二元分类器可以令人满意的准确度进行正确的预测。但是,用于实现预测的过程对于人来说也许无法理解。例如,机器学习二元分类器可以实现机器学习技术,该技术结合了多个机器学习算法并且训练大型训练集以揭示训练集中影响事件是否发生的模式。未揭示的模式可能不直观或不能被人识别。



技术实现要素:

公开了一种结合事件的机器学习二元分类进行操作的方法和对应的系统。所述方法可以生成涉及是否会发生所述事件的一个或多个规则。与所述机器学习二元分类中使用的实际决策过程相比,所述一个或多个规则对于人来说可能更易于理解。

在一项实施例中,提供了一种可结合事件的机器学习二元分类进行操作的计算机实施的方法。所述方法可以生成涉及是否会发生所述事件的规则。所述方法可以包括:所述计算机从存储器获取一组数据,所述一组数据具有对应于所述事件不发生的实例的背景序列和对应于所述事件发生的实例的前景序列,每个所述背景序列和所述前景序列的每个序列位置具有相应的特征值。所述方法还可以包括:针对多个所述前景序列中的每个前景序列,所述计算机通过以下操作针对每个差值来计算多个差值:获取包括所选前景序列的相应一组位置中的特征值的相应子序列模式;以及计算表示以下项的比较的值:(i)其它所述前景序列中所述相应子序列模式的出现概率以及(ii)所述背景序列中所述相应子序列模式的出现概率,以获取所述差值。所述方法还可以包括:基于所述多个前景序列中的一个前景序列的最大差值来确定所述规则。

在任一前述实施例中,所述方法还可以包括通过以下操作来计算表示所述比较的所述值:计算所述相应子序列模式出现在其它所述前景序列中的第一概率;计算所述相应子序列模式出现在所述背景序列中的第二概率;以及确定表示使用所述第一概率和所述第二概率进行的所述比较的所述值。

在任一前述实施例中,确定表示使用所述第一概率和所述第二概率进行的所述比较的所述值可以包括:计算所述第一概率和所述第二概率的比率。

在任一前述实施例中,获取所述规则可以包括:基于以下项中的至少一项来计算得分:(i)对应于所述最大差值的所述相应子序列模式出现在所述前景序列中的频率,以及(ii)对应于所述最大差值的所述相应子序列模式出现在所述背景序列中的频率;将所述得分与阈值进行比较;当所述得分超过所述阈值时,将对应于所述最大差值的所述相应子序列模式映射到所述规则。

在任一前述实施例中,所述多个所述前景序列为所有所述前景序列。

在任一前述实施例中,使用不同长度的子序列模式来重复计算多个所述前景序列中的每个前景序列的多个差值并重复确定所述规则。

在任一前述实施例中,所述方法还可以包括:通过执行操作来生成所述一组数据,所述操作包括:从存储器中检索原始数据,所述原始数据包括多个样本,每个样本对应于所述事件发生或不发生的实例,每个样本具有多个特征,所述多个特征中的每个特征取多个值中的一个值;针对所述原始数据中的每个样本:将一个特征值映射到有限数量的分类特征值中的另一特征值;将所述样本划分为所述前景序列和所述背景序列以产生所述一组数据,其中,对于每个样本:(i)如果所述样本对应于所述事件发生的实例,则被指定为前景序列,或(ii)如果所述样本对应于所述事件不发生的实例,则被指定为背景序列。

在任一前述实施例中,包括以下项中的至少一项:(i)所述原始数据还通过所述机器学习二元分类进行处理,以及(ii)所述原始数据来自所述机器学习二元分类的输出。

在任一前述实施例中,所述方法还可以包括将所述规则发送到用户界面以呈现给用户。

在任一前述实施例中,所述事件是贷款违约,所述规则是规定涉及以下项中的至少一项的if-then条件的if-then规则:是否会发生贷款违约以及是否不会发生贷款违约。

在另一项实施例中,可以提供一种可结合事件的机器学习二元分类进行操作的系统。所述系统可以用于生成涉及是否会发生所述事件的规则。所述系统可以包括:存储器,用于存储一组数据,所述一组数据具有对应于所述事件不发生的实例的背景序列和对应于所述事件发生的实例的前景序列,每个所述背景序列和所述前景序列的每个序列位置具有相应的特征值。所述系统还可以包括规则提取器,用于:针对多个所述前景序列中的每个前景序列,通过以下操作针对每个差值来计算多个差值:获取包括所选前景序列的相应一组位置中的特征值的相应子序列模式;以及计算表示以下项的比较的值:(i)其它所述前景序列中所述相应子序列模式的出现概率以及(ii)所述背景序列中所述相应子序列模式的出现概率,以获取所述差值。所述规则提取器还可以基于所述多个前景序列中的一个前景序列的最大差值来确定所述规则。

在任一前述实施例中,所述规则提取器用于通过以下操作来计算表示所述比较的所述值:计算所述相应子序列模式出现在其它所述前景序列中的第一概率;计算所述相应子序列模式出现在所述背景序列中的第二概率;确定表示使用所述第一概率和所述第二概率进行的所述比较的所述值。

在任一前述实施例中,所述规则提取器通过以下操作来确定表示使用所述第一概率和所述第二概率进行的所述比较的所述值:计算所述第一概率和所述第二概率的比率。

在任一前述实施例中,所述规则提取器用于通过以下操作来获取所述规则:基于以下项中的至少一项来计算得分:(i)对应于所述最大差值的所述相应子序列模式出现在所述前景序列中的频率,以及(ii)对应于所述最大差值的所述相应子序列模式出现在所述背景序列中的频率;将所述得分与阈值进行比较;当所述得分超过所述阈值时,将对应于所述最大差值的所述相应子序列模式映射到所述规则。

在任一前述实施例中,所述多个所述前景序列为所有所述前景序列。

在任一前述实施例中,所述规则提取器用于使用不同长度的子序列模式来重复计算多个所述前景序列中的每个前景序列的多个差值并重复确定所述规则。

在任一前述实施例中,所述系统用于通过以下操作来生成所述一组数据:获取包括多个样本的原始数据,每个样本对应于所述事件发生或不发生的实例,而且每个样本具有多个特征,所述多个特征中的每个特征取多个值中的一个值;针对所述原始数据中的每个样本:将一个特征值映射到有限数量的分类特征值中的另一特征值;将所述样本划分为所述前景序列和所述背景序列以产生所述一组数据,其中,对于每个样本:(i)如果所述样本对应于所述事件发生的实例,则被指定为前景序列,或(ii)如果所述样本对应于所述事件不发生的实例,则被指定为背景序列。

在任一前述实施例中,所述系统还包括执行所述机器学习二元分类的二元分类器。在一些实施例中,包括以下项中的至少一项:(i)所述原始数据也将由所述二元分类器处理,以及(ii)所述原始数据将从所述二元分类器的输出中获取。

在任一前述实施例中,所述系统还包括向用户呈现所述规则的用户界面。

在任一前述实施例中,所述事件是贷款违约,所述规则是规定涉及以下项中的至少一项的if-then条件的if-then规则:是否会发生贷款违约以及是否不会发生贷款违约。

通过回顾以下描述,其它方面和特征对于本领域普通技术人员将变得显而易见。

附图说明

此处仅作为示例,结合附图描述了实施例。

图1为根据一项实施例的一种执行二元分类和规则提取的系统的框图;

图2和图3示出了可以处理的示例数据;

图4为根据一项实施例的数据预处理器执行的操作的流程图;

图5示出了用于将特征映射到特征类别的示例映射关系;

图6示出了示例背景序列以及关联概率;

图7至图12分别示出了示例前景序列以及关联概率;

图13A和图13B的组合为根据一项实施例的由模式选择器执行的操作的流程图;

图14为根据一项实施例的由规则生成器执行的操作的流程图;以及

图15为根据一项实施例的由计算机执行的用于生成规则的操作的流程图。

具体实施方式

出于说明性目的,现在将在下文结合附图更详细地解释具体示例实施例。

图1为根据一项实施例的一种执行二元分类和规则提取的系统100的框图。系统100包括计算机102和存储器104。计算机102图示为单个物理实体,但是计算机102也可以通过网络进行分布和连接。“计算机”一词意在涵盖所有类型的计算设备,不管其是大或小、分布式、集群式还是自含式。该计算机包括处理器103。尽管处理器103图示为单个处理器,但它可以代之以若干处理器。

计算机102实施二元分类器106和规则提取器108,其中每一个可以通过一个或多个硬件、固件或软件结合用于运行软件的一个或多个处理器来实施。例如,二元分类器106和规则提取器108可以通过处理器103执行定义二元分类器106和规则提取器108的动作的一系列指令来实施。可选地,二元分类器106和规则提取器108分别或均可以包括专用集成电路,比如专用集成电路(application specific integrated circuit,ASIC)、图形处理单元(graphics processing unit,GPU)或现场可编程门阵列(programmed field programmable gate array,FPGA),以执行本文所述的一个或多个功能。

规则提取器108实施数据预处理器110、模式选择器112和规则生成器114,其中所有这些组件都以下文解释的方式进行操作。系统100还包括用户界面115,用于向用户呈现来自规则提取器108的一个或多个规则。

存储器104由计算机102进行访问。在图1中,尽管存储器104可以实施为计算机102的一部分,但存储器104图示为与计算机102物理分离。数据116存储在存储器104中。数据116包括特定事件发生或未发生的实例记录,以及关联于每个实例的结果的输入因子。每个实例将被称为样本,输入因子将被称为特征。

图2示出了数据116的一个示例。图2中有10个样本,分别标记为样本1至样本10。每个样本具有5个关联特征,分别标记为特征V至特征Z。每个样本还具有关联事件结果:事件发生(“是”)或事件未发生(“否”)。在实际实施中,样本数量可能远大于10个,与每个样本关联特征的数量可能远大于5个。

每个样本存储每个特征的相应值。特征值在图2中用字母表示,特征V用v1...v10表示,特征W用w1...w10表示,特征X用x1...x10表示,特征Y用y1...y10表示,特征Z用z1...z10表示。图2所示的数据可以存储在存储器104中的2-D数组中。图3示出了图2的数据的示例值。在图3中,数据包括与10个贷款申请有关的记录。

图3示出了图2的数据的示例值。在图3中,数据包括与10个贷款申请有关的记录。每个样本关联于相应的贷款申请。特征V是以美元为单位的“请求的贷款金额”,特征W是以月为单位的“贷款期限”,特征X是以美元为单位的“月薪”,特征Y是以美元为单位的“贷款申请人的月均支出”,特征Z是1到10之间的“贷款申请人的信用评级”。值1是不良的信用历史,值10是优秀的信用历史。关联于每个样本的事件是贷款违约,即贷款申请人是否最终出现贷款违约(“是”),或者贷款申请人是否最终未出现贷款违约(“否”)。图3所示的贷款违约场景和示例数据将在描述规则提取器108的操作时用作示例。

回到图1,在操作中,二元分类器106实施机器学习二元分类,其首先访问数据116以训练二元分类器106。二元分类器106使用的特定机器学习为实施专用,但是通常机器学习可能相对复杂或精密,例如,执行多个机器学习算法并将其结果组合在一起的集成方法。

一旦训练完成,二元分类器106可以接收事件结果未知的新输入数据,同时二元分类器106可以作出事件是否会发生的预测的决策。

例如,如果数据116包括图3所示的贷款申请样本,则二元分类器106对样本进行训练。当处理与新贷款申请有关的新数据时,二元分类器106可以返回贷款申请人是否会拖欠贷款的预测。预测可用于决定是否拒绝贷款申请。

可能需要生成有助于二元分类器106作出决策的输入数据的特征的简化表示。例如,在贷款应用场景中,贷款申请人可能想知道其贷款申请被拒绝的原因。

规则提取器108执行生成该简化表示的功能。规则提取器108中的数据预处理器110根据需要首先处理数据116以确保数据116的形式可用于模式选择,然后模式选择器112确定数据116中的特征的候选模式,进而规则生成器114在可能的情况下生成一个或多个if-then规则。如图1所示,规则提取器108所生成的一个或多个规则可以直接呈现给用户界面115,或者取而代之返回到存储器104以便后续被检索从而呈现给通过用户接口115访问计算机102的人。

在贷款申请场景中,由规则提取器108返回的规则示例可以是:如果贷款金额<$1000且贷款期限<6个月且月薪<$1000,则贷款违约。该提取规则可能不如二元分类器106实行的以实现贷款违约预测的实际决策过程那样准确,但是来自规则提取器108的规则以人更易于理解的形式对于有助于二元分类器106作出决策的因素确实提供了一些见解。然后可以通知贷款申请人其贷款申请被拒绝了,原因在于其要求的贷款金额少于$1000,贷款期限少于6个月,但其每月拥有的月薪少于$1000。

数据预处理器110的操作

图4为根据一项实施例的由数据预处理器110执行的操作的流程图。图4还用点划线气泡示出了每个操作的示例。点划线气泡中的示例操作基于图3所示的样本,并且在大部分描述中将参照这些示例操作。

在步骤152中,对数据116进行分类。针对每个特征,步骤152包括将特征的每个可能的值映射到有限数量的分类特征值中的一个特征值。例如,如果该特征是月均支出,则任何小于$1000的月均支出可以映射到一个分类特征值,任何介于$1000和$2000之间的月均支出可以映射到另一个分类特征值等。对应于每个特征的分类特征值的数量用∑来表示,并且针对每个特征,Σ的值可以不同。分类特征值在此处表示为A、B、C...等等。因此,特征i具有对应的分类特征值字母表∑∈{A,B,C…}。

在该示例中,气泡12示出了图3的数据。在步骤152中,对该数据进行分类以产生气泡14中所示的数据。根据图5所示的示例映射关系,将每个特征的每个值映射到四个分类特征值A、B、C或D中的一个。例如,特征值v1=$500因此被映射到分类特征值A,特征值v2=$750因此也被映射到类别A,以此类推。

如果数据116已经处于分类形式,则不需要步骤152。而且,可能并非所有功能都需要分类。进一步地,该示例示出了具有相同数量的分类特征值A至D的所有特征V至Z。相反,每个特征可以有不同数量的分类特征值。此外,如果计算机102根据特征值的分布来确定特征值到分类特征值的映射,则规则提取器108的性能可以得到增强。例如,如果98%的贷款申请人的月薪在$3000和$10,000之间,则可以选择图5所示的月薪的分类特征值以在$3000至$10,000之内具有更大粒度,例如:

分类特征值的选择可以编程到计算机102中,或者可选地,可以在创建分类特征值时使用计算机实施的算法,比如最小描述长度原则(Minimum Description Length Principle,MDLP)算法、Chi2算法、类属性应急系数(Class-Attribute Contingency Coefficient,CACC)算法、类属性依赖度最大化(Class-Attribute Interdependence Maximization,CAIM)算法、Ameva算法或其它分类算法。诸如直方图的无监督计算机算法也可以用来或者代替地用于进一步减少类别数量。

再次参考图4,在步骤154中,对分类数据进行重新排序以将特定特征彼此相邻放置。在该示例中,气泡16示出了重新排序后的数据,使得特征Y和Z在特征V和W之前,而且这样做使得特征Z和V现在彼此相邻。

步骤154可以在步骤152之前执行。而且,如果提供给规则提取器108的数据已经处于合适的顺序,或者如果实施了不考虑特征顺序或以其它方式调整特征顺序的实施例,则不需要步骤154。可以由人将重新排序编程到计算机102中,该人具备关于为什么某些特征彼此最佳相邻的知识或见解,或者也可以使用计算机实施的算法自动执行重新排序。例如,计算机102可以对数据116执行机器学习以根据其重要性对数据116中的特征进行排名,并且可以将排名最高的特征彼此相邻放置。对事件结果有更多影响的特征可能被认为更重要,并且彼此相邻放置。可以使用的一个示例机器学习算法是逐步回归,这是一种一次添加一个最佳特征或者删除一个最差特征的贪婪算法。如果一个特征对事件结果影响最大,则该特征被认为是最佳特征;如果一个特征对事件结果影响最小,则该特征被认为是最差特征。在计算结束时,算法选择影响结果的重要特征列表。这些识别出的重要特征然后可以在步骤154中的重新排序中彼此相邻放置。

关联于每个样本的一组特征值形成一个序列。每个序列的位置数量等于特征数量。每个序列中的每个位置对应于相应的一个特征。特征值序列形成一个序列模式。例如,图4中的气泡15示出了序列1,其具有5个位置,每个位置对应于相应的特征。序列模式为BAAAA。序列1的位置1具有值B,序列1的位置2具有值A,序列1的位置3具有A,序列1的位置4具有值A,序列1的位置5也具有值A。序列L的长度等于位置的数量,在本示例中,L=5。

在步骤156中,该组序列被划分为两组:(1)被指定为背景(background,BG)序列的那些序列,其包括事件未发生的所有序列;和(2)被指定为前景(foreground,FG)序列的那些序列,其包括事件确实发生的所有序列。在本示例中,气泡18示出了气泡16中的一组序列,其被划分为:(i)贷款违约事件未发生的背景序列17,即贷款违约=否;以及(ii)贷款违约事件确实发生的前景序列19,即贷款违约=是。将气泡16的数据的序列3至6和9映射到背景序列17,并且将气泡16的数据的序列1、2、7、8和10映射到前景序列19。

步骤156的输出是数据预处理器110的输出。

数据预处理器110的其它可能的操作

数据预处理器110可以执行图4中未示出的其它操作。下文将描述两个示例。

在步骤152和154之前,数据预处理器110可以执行数据116的过采样或欠采样,以使不平衡数据更加平衡。在图3所示的样本中,贷款违约发生和未发生的样本的数量相等,因此样本是平衡的。如气泡18所示,前景序列的数量等于背景序列的数量。或者,数据116可能不平衡,即一组序列可能大于另一组序列。较大的一组称为多数类,较小的一组称为少数类。

在贷款违约场景下,贷款违约通常并不常见,因此贷款违约未发生的实例数可能远超过贷款违约发生的实例数。也就是说,可能有大量的背景序列而只有少量的前景序列。如果数据116更加平衡,则规则提取器108可以更好地执行操作,因此数据预处理器110可以执行数据平衡以平衡数据116或者至少减少数据不平衡。执行数据平衡的一种方式是执行欠采样,例如,从多数类中删除一些样本。例如,如果有更多贷款违约未发生的实例,则可能会删除一些此类样本,这将减少背景序列的数量。或者,可以执行过采样,例如通过合成方式为少数类创建更多样本。例如,如果实际上贷款违约确实发生的实例少得多,则可以使用贷款违约确实发生的部分或全部样本来创建也发生贷款违约的合成新样本,从而增加前景序列。创建合成前景序列的一种方式是使用合成少数过采样技术(Synthetic Minority Over-sampling Technique,SMOTE)。

数据预处理器110还可以执行特征缩放,即指对特征值进行缩放以使得它们在预定范围之内。例如,可以执行基于一致性的归一化步骤,其中每个特征的所有值被映射到范围[0,1]。数据预处理器110可以进行以下计算以实现归一化:x′=(x-xmin)/(xmax-xmin),其中,x是特定特征值,x′是对应的缩放值,xmin是该特征的最小可能值,xmax是该特征的最大可能值。例如,如果特征是“月薪”X,数据中的最高月薪是$12000,且数据中的最低月薪是$100,则xmax=12000以及xmin=100。如果特定样本的月薪是x=5000,则缩放值将是x′=(5000-100)/(12000-100)=0.4117647。

序列中的类别概率

针对给定的一组背景序列,每个背景序列中的每个位置将分配一个可能的分类特征值。因此,可以计算出特定位置具有特定的分类特征值的概率。例如,图6示出了图4的气泡18中的背景序列17,以及关联概率160。在背景序列1的位置1处,分类特征值是A,如157处所示。在背景序列2的位置1处,分类特征值是B;在背景序列3的位置1处,分类特征值为C;在背景序列4的位置1处,分类特征值为D;在背景序列5的位置1处,分类特征值为B。因此,给定背景序列的位置1可以取四个值中的一个:A、B、C或D。可以使用背景序列来计算背景序列的位置1取四个值中的一个特定值的概率。针对每个其它背景序列位置也可以同样操作。概率如表160所示。可以如下计算概率:其中,pi,j是背景序列中的位置j将为值i的概率,Fi,j是值i在位置j的频率,bj是关联于位置j的预定数量,以确保关联频率Fi,j为零的情况下值i的最小概率,N是背景序列的总数,并且Bj等于字母表大小乘以bj,字母表大小即可能的分类特征值的数量。在此处示出的所有示例中,bj=0.5。

可以由计算机102计算值i在位置j的频率Fi,j,该频率对值i出现在该组背景序列中的位置j的次数进行计数。例如,针对该组背景序列17,值A、C和D都在位置1出现一次,而值B出现两次,即在序列2的位置1和序列5的位置1出现。可以计算每个值在每个位置的频率并将其存储在位置权重矩阵(position weight matrix,PWM)中。例如,背景序列17的PWM为:

或者,计算机可以构建多个更小的PWM而非上述的PWM。例如,可以构建L-K+1个PWM,其中,L表示背景序列中的位置数量,每个PWM用于K<L个位置的子集。例如,K=3时:

三个更小的PWM中的每个PWM可以由计算机102根据需要生成,以帮助计算在下文描述的模式选择器112的操作中的概率。

使用上述概率计算公式,背景序列的位置1为值A的概率为:背景序列的位置1为值B的概率为:背景序列的位置3为值A的概率为:图6中的表160示出了每个可能值在背景序列中每个位置的概率。

图7至图12示出了示例前景序列集和关联概率。使用上文所述的与背景序列相关的相同方式来计算概率,即使用不同之处在于使用该组前景序列而非背景序列。

图7示出了图4的气泡18中的前景序列19和关联概率161。在下文描述的模式选择器112的操作中,对于移除一个前景序列的情况需要子序列模式的概率。因此,图8示出了移除前景序列#1的前景序列19和关联概率162;图9示出了移除前景序列#2的前景序列19和关联概率164;图10示出了移除前景序列#3的前景序列19和关联概率166;图11示出了移除前景序列#4的前景序列19和关联概率168;图12示出了移除前景序列#5的前景序列19以及关联概率170。

在本示例中,每个特征具有相同数量的对应分类特征值:A、B、C和D。或者,不同特征可以具有不同数量的分类特征值,在这种情况下,具有最大字母表大小的对应分类特征值的特征将用于创建概率表。例如,如果背景序列的位置1可以是五个分类特征值A、B、C、D或E中的一个,则图6中的表160的第一列的值将为A至E。针对E在位置2至5中的每一个位置的概率仍将使用上文的概率公式来计算,但是概率将接近于零,因为E在位置2至5中的每一个位置的频率将总是为0。

模式选择器112的操作

图13A和图13B的组合为根据一项实施例的由模式选择器122执行的操作的流程图。图13A和图13B还用点划线气泡示出了每个操作的示例。在本示例中,使用图4中的背景序列17和前景序列19。

在步骤172中,选择至少长度为1并且不长于序列长度L的子序列模式长度K。在本示例中,序列长度L等于5,选择子序列模式长度K=3,如气泡20所示。

在步骤174中,移除一个前景序列。移除的前景序列被指定为前景序列α。移除的前景序列α具有关联前景序列模式m(α)。在本示例中,移除前景序列5,如气泡22所示。移除的前景序列5具有关联序列模式m(5)=BBAAA。

移除的前景序列模式m(α)具有L-K+1个子序列模式,每个子序列模式长度为K,并且每个子序列模式开始于各自的位置j,其中,1≤j≤(L-K+1)。符号mK(α,j)将用于表示长度为K的子序列模式,其开始于移除的前景序列j中的位置α。

在本示例中,已移除前景序列5。移除的前景序列5具有关联序列模式m3(5,1)=BBA,序列长度L=5,并且已经选择子序列模式长度k=3。因此,存在长度为3的L-K+1=5-3+1=3个子序列模式,第一个从位置j=1开始,第二个从位置j=2开始,第三个从位置j=3开始。这三个子序列模式为:m3(5,1)=BBA、m3(5,2)=BBA和m3(5,3)=AAA。

在步骤176中,选择一个子序列模式mK(α,1)。在本示例中,选择m3(5,1)=BBA,如气泡24所示。

然后计算表示表示以下项的比较的值:(i)剩余前景序列中子序列模式mK(α,1)的出现概率以及(ii)背景序列中子序列模式mK(α,1)的出现概率。在步骤178至182中示出了一种实施此操作的方式。

在步骤178中,计算子序列模式出现在剩余前景序列中的概率。概率用符号表示。概率可以通过以下几项相乘来计算:(a)所选子序列模式的第一位置处的特征值位于剩余前景序列的对应位置的概率,(b)所选子序列模式的第二位置处的特征值位于剩余前景序列的对应位置的概率,以及……(k)所选子序列模式的第K位置处的特征值位于剩余前景序列的对应位置的概率。

在本示例中,选择子序列模式m3(5,1)=BBA,因此要计算也就是从位置1开始的子序列模式BBA出现在剩余前景序列中的概率。剩余前景序列是序列1至4,因为前景序列5已被移除。可以通过获取以下几项来计算值(a)值B在剩余前景序列的位置1的概率,表示为(b)值B在剩余前景序列的位置2的概率,表示为以及(c)值A在剩余前景序列的位置3的概率,表示为然后将这些概率相乘:当移除前景序列5时,可以从关联于前景序列的概率表中获取值和即图12中的表170,也在图13A的气泡26中示出。从表170可见:和因此得出如气泡26所示。

在步骤180中,计算子序列模式出现在背景序列中的概率。概率用符号表示。概率可以通过以下几项相乘来计算:(a)所选子序列模式的第一位置处的特征值位于背景序列的对应位置的概率,以及(b)所选子序列模式的第二位置处的特征值位于背景序列的对应位置的概率,以及…(k)所选子序列模式的第K位置处的特征值位于背景序列的对应位置的概率。

在本示例中,选择子序列模式m3(5,1)=BBA,因此要计算也就是从位置1开始的子序列模式BBA出现在背景序列中的概率。可以通过获取以下几项来计算概率:(a)值B在背景序列的位置1的概率,表示为(b)值B在背景序列的位置2的概率,表示为以及(c)值A在背景序列的位置3的概率,表示为然后将这些概率相乘:从关联于背景序列的概率表中获取值和即图6中的表160,也在图13B的气泡28中再次示出。从表160可见:和因此得出如气泡28所示。

接下来,在步骤182中,计算表示前景概率(步骤178)和背景概率(步骤180)之差的差值。该值表示剩余前景序列中子序列模式mK(α,1)的出现概率和背景序列中子序列模式mK(α,1)的出现概率之间的比较。该值将表示为可以计算值作为前景概率和背景概率的对数似然比(log likelihood ratio,LLR):在实施中也可以计算为LLR可以使用任何底数,但在本示例中底数选择为10。计算LLR有以下潜在好处:

(1)LLR的符号表示差的方向。例如,正LLR值意味着子序列模式在前景模式中的概率大于子序列模式在背景模式中的概率。了解差的方向可能有助于确定模式是否过度表示或者表示不足,这将在后文讨论。

(2)LLR有助于平衡倾斜分布。倾斜分布发生在前景概率与背景概率的比例变化幅度依赖于子序列模式的实施方式中。

在其它实施方式中,可以使用没有LLR的概率比,或者甚至可以将两个值相减。

在本示例中,如气泡30所示:

接下来,在步骤184中,针对移除的前景序列的随后L-K个子序列模式中的每个子序列模式,重复L-K次步骤176至步骤182中的操作。

在本示例中,针对随后L-K=2个子序列模式中的每个子序列模式,重复L-K=2次步骤176至步骤182:m3(5,2)=BAA以及m3(5,3)=AAA。针对位置2,根据表170子序列模式BAA在前景序列中的概率为根据表160子序列模式BAA在背景序列中的概率为因此得出针对位置3,根据表170子序列模式AAA在前景序列中的概率为根据表170子序列模式AAA在背景序列中的概率为因此得出

如果没有预计算并预先存储表160和表170,则如前所述,可以生成PWM,以根据需要帮助获得单个概率。例如,可以用前文解释的方式为背景序列以及剩余前景序列生成均用于K个位置的L-K+1个PWM。

在步骤186,进而比较多个差值至并选择和存储最大值。针对特定的移除的前景序列,步骤186可以指找出背景序列和前景序列之差的最大值。同时存储关联于最大值的子序列模式以及模式的相关联起始位置。在一些实施例中,如果值至全部彼此接近,则不选择任何值。

在本示例中,差值为以及如气泡34所示,选择最大的差值存储值0.861以及关联子序列模式AAA和起始位置3。

在步骤188中,针对移除不同前景序列的其它情况中的每一种情况重复步骤174至步骤186中的操作。在步骤188结束时,针对每个移除的前景序列,存在对应的所选差值和关联子序列模式以及起始位置。差值可以作为数组存储在计算机102的存储器中。

气泡36示出了本示例中步骤188的结果。针对每个移除的前景序列,图8至图11中的相应概率表用于计算每个所选子序列模式在前景序列中的概率。例如,在前景序列4被移除的情况下,考虑本示例的步骤174至188。前景序列4具有关联序列模式m(4)=DABC。针对子序列模式长度K=3,位置1处的子序列模式为m3(4,1)=DAB,位置2处的子序列模式为m3(4,2)=ABC,位置3处的子序列模式为m3(4,3)=BCD。使用图11中针对前景序列概率的表168以及图6中针对背景序列概率的表160,三个差值为:和最大差值为其具有从位置1开始的关联子序列模式m3(4,1)=DAB。最大差值和关联子序列模式存储在图13B的气泡36所示的表格中,如35处所示。在一项替代实施例中,可以确定–1.2305和–0.276之差的幅度不足以存储,在这种情况下,模式选择器112将不会在气泡36中表格的线35处存储任何模式。

再如,在前景序列3被移除的情况下,考虑本示例的步骤174至步骤188。前景序列3具有关联序列模式m(3)=DDAAA。针对子序列模式长度K=3,位置1处的子序列模式为m3(3,1)=DDA,位置2处的子序列模式为m3(3,2)=DAA,位置3处的子序列模式为m3(3,3)=AAA。使用图10中针对前景序列概率的表166以及图6中针对背景序列概率的表160,三个差值为:和最大差值为其具有从位置3开始的关联子序列模式m3(3,3)=AAA。最大差值和关联子序列模式存储在图13B的气泡36所示的表格中,如37处所示。

图13B的气泡36所示的表格称为位置表。位置表可以初始化为每个前景序列对应一行。每行将被称为一个表项。每个表项可以表示相应前景序列中子序列模式的潜在起始位置。然后可以通过执行步骤174至步骤186来更新位置表中的值,直到位置表完成,也就是说,直到针对所有前景序列完成步骤174至步骤186。在替代实施方式中,位置表不需要存储子序列模式,但是子序列模式可以由计算机102根据需要从另一位置进行检索。此外,在一些实施方式中,根本不需要使用位置表。位置表中的每个相关数据可以存储在计算机102已知的一些其它位置中。

在步骤188结束时,输出包括一组子序列模式和关联起始位置。每个前景序列关联于一个子序列模式,除了可选地在一些实施方式中,如果确定差值彼此太接近,则一个或多个前景序列可能不具有所选子序列模式。步骤188的输出是模式选择器112的输出。

规则生成器114的操作

图14为根据一项实施例的由规则生成器114执行的操作的流程图。图14还用点划线气泡示出了每个操作的示例。在本示例中,使用图13B的气泡36所示的位置表。

在步骤202中,移除该组子序列模式中的冗余子序列模式以产生剩余子序列模式列表。在本示例中,如气泡38所示,剩余子序列模式为:具有关联起始位置3的AAA;以及具有关联起始位置1的DAB。

剩余子序列模式将用符号来表示,其中,l表示特定的剩余子序列模式,j为关联于该剩余子序列模式的起始位置,K是子序列模式长度。在本示例中,有两个剩余子序列模式:和

在步骤204中,选择一个子序列模式在本示例中,如气泡40所示,选择模式在步骤206中,计算所选子序列模式的得分该得分提供了一种确定所选子序列模式是否应该转化为关联规则的方式,并且可以基于以下一项或多项来计算得分:(1)子序列模式出现在前景序列中的次数,将被称为真正类(true positive,TP);(2)子序列模式未出现在前景序列中的次数,将被称为假正类(false positive,FP);(3)子序列模式未出现在背景序列中的次数,将被称为真负类(true negative,TN);(4)子序列模式出现在背景序列中的次数,将被称为假负类(false negative,FN)。例如,计算得分的一种方式为:在本示例中,针对子序列模式AAA:(1)TP=4,因为在前景序列中且从位置3开始,子序列模式AAA出现四次;(2)TN=5,因为在背景序列中且从位置3开始,子序列模式AAA从未出现;(3)FP=1,因为在前景序列中且从位置3开始,子序列模式AAA仅一次未出现;以及(4)TN=0,因为在背景序列中且从位置3开始,子序列模式AAA从未出现。使用上面概述的得分计算,如气泡42所示。

在步骤208中,将得分与阈值进行比较。该阈值是一个预定值,意在确保规则生成器110仅在具有足够高的得分的子序列模式的情况下继续运行。阈值因此作为预定义的置信值,以确保实际映射到规则的子序列模式中的最低置信水平。阈值可以编程到计算机102中。

在步骤208中,如果得分通过阈值,则在步骤210中将子序列模式映射到对应的规则。否则,在步骤212丢弃子序列模式。

针对本示例,阈值设置为0.75,所选子序列模式AAA的得分SAAA为0.9。由于0.9>0.75,那么子序列模式AAA被映射到对应的规则。回想子序列模式AAA表示:“针对前景序列中位置3的分类特征值A”以及“针对前景序列中位置4的分类值A”以及“针对前景序列中位置5的分类特征值A”。根据图4中的气泡16:前景序列的位置3对应于特征V,特征V中的分类特征值A为“贷款金额<$1000”;前景序列的位置4对应于特征W,特征W中的分类特征值A为:“贷款期限<6个月”;前景序列的位置5对应于特征X,特征X中的分类特征值A为:“月薪<$1000”。前景序列是发生贷款违约的情况。因此,如图14的气泡44所示,提取的规则是:如果贷款金额<$1000且贷款期限<6个月且月薪<$1000,则贷款违约。

在步骤214中,针对其它剩余子序列模式重复步骤204至步骤210/212中的操作。在本示例中,有一个其它剩余子序列模式:DAB。如气泡46所示,得分SDAB=0.6小于阈值0.75,因此丢弃该模式。

其它变化和替代实施例

规则提取器108的操作不限于生成涉及是否会发生贷款违约的规则。规则提取器108对二元分类器处理的任何数据具有适用性,而不管二元分类器正在对什么进行分类。在银行业中,另一应用可以是二元分类器,用于预测是否发生欺诈,在这种情况下,数据116将涉及是否发生欺诈的实例。规则提取器108然后可以生成涉及何时检测到欺诈或者未检测到欺诈的规则。

在上述规则提取器108的示例操作中,仅针对子序列模式长度K=3生成规则。图13A、图13B和图14可以使用其它子序列模式长度或者可能所有子序列模式长度1≤K≤L来重复。不同模式长度的计算可以并行执行。针对K=L的边界情况,子序列模式等于移除的前景序列模式。此外,K=1的边界情况是可能的,但是在实际实施中通常K≥2,从而使用具有至少两个特征值的子序列模式长度。

可以随机选择在图13A的步骤174处移除的前景序列。在这种情况下,当重复步骤174时,按照步骤188,可以跟踪先前选择要移除的前景序列,以确保所有前景序列被移除,并且不会再被移除一次。前景序列可以按任何顺序移除。

在图13A的步骤176处,选择从移除的前景序列的位置1开始的长度为K的第一子序列模式,然后在步骤184中针对移除的前景序列的随后L-K个位置重复操作。或者,可以改变选择子序列模式的顺序。

在参照图13A和图13B描述的模式选择器112的操作中,子序列模式总是使用移除的前景序列中的相应特征值。但是,更一般而言,每次选择的子序列模式可以仅包括移除的前景序列中的一些实际相应特征值,而其相应特征值被视为未知。例如,在图13A的气泡22中,前景序列5被移除,其具有关联子序列模式BBAAA,并且在气泡24中,选择从位置1开始的长度为3的子序列模式:BBA。但是,所选子序列模式也可以是BB*或BB*或B*A或*BA或**A或*B*,其中,*用于指示位置可以取任何特征值。*位置被赋予在前景序列中出现的概率1/∑,其中,∑为字母表大小,即分类特征值的数量。因此,每个特征的概率是相等的。在关联特征值被视为未知的子序列模式中具有一个或多个点可以适应不存在特征重新排序的场景,即,没有图4中的步骤154的场景。例如,如果针对移除的前景序列,子序列模式为ABC,则可以替代地使用子序列模式A*C,使得特征A和C被视为相邻邻居,即使没有对这些特征重新排序以使它们实际位于相邻位置。

在图14的步骤206处,使用示例公式计算得分。可以计算得分的其它方式的示例为:以及针对计算得分的每种方式,需要确定图14的步骤208中的相应阈值。考虑到可以计算得分的不同方式,图14的步骤208中与阈值的比较值可以不“大于”(>)。在任何情况下,得分是高于还是低于阈值控制着得分是否超过阈值,因此是否将子序列模式映射到子序列模式的对应规则或将子序列模式丢弃。

可以在图13B的步骤182中计算LLR。更一般而言,在步骤182中计算的值可以使用提供差值测量的任何公式,即与背景序列中子序列模式的出现概率相比,测量剩余前景序列中子序列模式的出现概率,并且基于所使用的测量值,可能需要修改图13A和图13B中的先前步骤。LLR是剩余前景序列中子序列模式的出现概率与背景序列中子序列模式的出现概率相比进行测量的一个示例,但是其它情况是可能的,其中一些甚至不需要计算概率。例如,在步骤178中,模式选择器112可以对所选子序列模式出现在前台序列中的次数进行计数,并且在步骤180中,模式选择器112可以对所选子序列模式出现在背景序列中的次数进行计数。然后,可以在步骤182中计算这两个值的LLR,或者这两个值的另一个比率,或者这两个值相减等。但是,通过使用概率,如上文参照步骤178至步骤182所述,可以识别出与背景序列相比在前景序列中有显著统计学差异的序列。在贷款违约情况下,这意味着可以识别出与非违约组相比有显著统计学差异的贷款违约信号。

在上文的实施例中,规则提取器108识别出过度表示的模式,即,在前景序列中恰当表示而在背景序列中没有恰当表示的模式。这与图13B中的步骤186一致,其中选择了最大的差值。对于LLR,当比率是前景序列中出现的概率除以背景序列中出现的概率时,则具有大幅度的正LLR值可以被认为对应于过度表示的模式。对应的规则可以被认为是多数规则。可选地,规则提取器108可以附加地或者替代地识别出表示不足的模式,即在背景序列中恰当表示而在前景序列中没有恰当表示的模式。具有大幅度的负LLR值可以被认为对应于表示不足的模式。对应的规则可以被认为是少数规则。在贷款申请场景中,少数规则提供对有助于二元分类器决定预测不会发生贷款违约的因素的见解。

在一些实施方式中可以省略步骤188和/或步骤214,但是在这种情况下,规则提取器108可能会错过提取一些规则,这些规则提供对影响二元分类器106的决定的特征组合的见解。

存储在存储器104中的数据116不一定需要用于训练二元分类器106。或者,数据116可以是二元分类器106先前处理的实际样本以及二元分类器106输出的关联事件结果(是或否)。在这种情况下,由规则提取器108提取的规则将是来自二元分类器106所实施的预测模型的输出的规则。

规则提取器108的可能优点包括:基础分类器的独立性,即,二元分类器106实施哪种或哪些机器学习算法并不重要;具有实施检测到表示不足的模式和关联少数规则的能力;以及可能识别出不太频繁但高度可鉴别的规则的能力。

一般方法示例

图15为根据一项实施例的由计算机执行的用于生成规则的操作的流程图。该方法结合事件的机器学习二元分类进行操作,并且该规则涉及该事件是否会发生。

在步骤302中,计算机获取一组具有背景序列和前景序列的数据。每个背景序列和每个前景序列具有L个序列位置,并且每个序列的L个序列位置中的每一个具有相应的特征值。特征值可以是分类特征值。前景序列中的每个序列对应于事件发生的实例,背景序列中的每个序列对应于事件未发生的实例。

在步骤304中,针对多个前景序列中的每个前景序列,计算机计算多个差值。在一项实施例中,如下计算该多个差值:针对每个差值,计算机获取包括所选前景序列的相应一组位置中的特征值的相应子序列模式,并且计算机计算表示以下项的比较的值:(i)其它前景序列中相应子序列模式的出现概率以及(ii)背景序列中相应子序列模式的出现概率,以获取差值。

在步骤306中,计算机基于该多个前景序列中的一个前景序列的最大差值来确定规则。

在一些实施例中,计算机针对特定值K执行步骤304和步骤306,其中,K≤L,K是在步骤304中获取的每个相应子序列模式的长度。在一些实施例中,在步骤302中获取到N个前景序列,在这种情况下,步骤304中提到的“其它前景序列”是指与所选一个前景序列不同的N-1个前景序列。

当计算机执行步骤304时,对应于每个差值的相应子序列模式可以与对应于每个其它差值的相应子序列模式不同。此外,例如,如图13B的实施例中的步骤182和步骤184所述,可以针对L-K+1个差值执行步骤304。

计算表示该比较的值可以包括:计算相应子序列模式出现在其它前景序列中的第一概率;计算相应子序列模式出现在背景序列中的第二概率;确定表示使用第一概率和第二概率进行的比较的值。确定表示使用第一概率和第二概率进行的比较的值可以包括:计算第一概率和第二概率的比率。例如,如图13B的气泡30中的示例,可以计算LLR。

获取规则可以包括:将对应于最大差值的相应子序列模式映射到该规则。再如,获取规则可以包括:(a)基于以下项中的至少一项来计算得分:(i)对应于最大差值的相应子序列模式出现在前景序列中的频率,以及(ii)对应于最大差值的同一相应子序列模式出现在背景序列中的频率;(b)将得分与阈值进行比较;以及(c)当得分超过阈值时,将对应于最大差值的相应子序列模式映射到规则。

步骤304中的多个序列可以是步骤302中获取的所有N个前景序列。

该方法还可以包括:获取对应于多个前景序列中的另一个前景序列的另一个最大差值的子序列模式,并且从对应于另一个最大差值的子序列模式获取另一个规则。

可以使用不同长度的子序列模式来重复步骤304和步骤306,例如,可以针对K≤L的多个其它值中的每一个值重复步骤304和步骤306。

在步骤302中获取一组数据可以包括:从存储器中检索包括多个样本的原始数据。原始数据可以是图1实施例中的数据116。在任何情况下,每个样本对应于事件发生或不发生的一个实例,每个样本具有多个特征,多个特征中的每个特征取多个值中的一个值。针对原始数据中的每个样本:可以将一个特征值映射到有限数量的分类特征值中的另一特征值。将样本划分为前景序列和背景序列以产生该组数据。对于每个样本:(i)如果样本对应于事件发生的实例,则可以被指定为前景序列,或(ii)如果样本对应于事件不发生的实例,则可以被指定为背景序列。在将样本划分为前景序列和背景序列之前,可以对每个样本中的一个或多个特征的位置进行重新排序。其中一个示例是图4的步骤154。在一些实施例中,至少包括以下项中的一项:(i)原始数据也通过机器学习二元分类来处理,以及(ii)原始数据来自机器学习二元分类的输出。

规则可以是if-then规则,但更一般而言不需要如此。例如,规则可以相当于影响事件是否发生的分类特征值列表。根据前面描述的示例,该事件可以是贷款违约,并且该规则可以是if-then规则,该规则规定涉及是否会发生贷款违约的if-then条件。

当执行图15的方法时,可以用N个表项来初始化位置表。每个表项表示前景序列中相应子序列模式的潜在起始位置。当计算多个特定差值时,可以更新位置表中的值。图13B的气泡36示出了位置表的示例。

上述方法可以由系统执行。该系统可以包括计算机,比如计算机102。在一些实施例中,计算机可以具有处理器、存储器和存储在存储器上的指令,这些指令在被执行时使得计算机执行图15中的操作。

尽管已经参考本发明的特定特征和实施例描述了本发明,但是在不脱离本发明的情况下可以制定本发明的各种修改和组合。说明书和附图仅被视为所附权利要求书所定义的本发明部分实施例的说明并且考虑落于本说明书的范围内的任何和所有修改、变体、组合或均等物。因此,虽然已详细地描述了本发明及其优点,但是可以在不脱离如所附权利要求书所界定的本发明的情况下对本发明做出各种改变、替代和更改。此外,本发明的范围并不局限于说明书中所述的过程、机器、制造、物质组分、构件、方法和步骤的特定实施例。所属领域的一般技术人员可从本发明中轻易地了解,可根据本发明使用现有的或即将开发出的,具有与本文所描述的相应实施例实质相同的功能,或能够取得与所述实施例实质相同的结果的过程、机器、制造、物质组分、构件、方法或步骤。相应地,所附权利要求范围旨在包括这些流程、机器、制造、物质组分、构件、方法或步骤。

此外,本文例示的执行指令的任何模块、组件或设备可以包括或以其它方式访问用于存储信息的非瞬时性计算机/处理器可读存储介质,比如计算机/处理器可读指令、数据结构、程序模块和/或其它数据。非瞬时性计算机/处理器可读存储介质的非穷举性示例列表包括盒式磁带、磁带、磁盘存储设备或其它磁存储设备,比如光盘只读存储器(compact disc read-only memory,CD-ROM)、数字视频光盘或数字多功能光盘(DVD)、蓝光光盘TM等光盘或其它光学存储设备,以任何方法或技术实现的易失性和非易失性、可移动和不可移动介质、随机存取存储器(random-access memory,RAM)、只读存储器(read-only memory,ROM)、电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、闪存或其它存储器技术。任何此类非瞬时性计算机/处理器存储介质可以是设备的一部分或者可访问或可连接到设备。本文描述的任何应用或模块可以通过计算机/处理器可读/可执行指令来实施,这些指令可以由此类非瞬时性计算机/处理器可读存储介质存储或以其它方式保存。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1