掌桥专利:专业的专利平台
掌桥专利
首页

一种分类识别模型生成方法、对象识别方法及相关设备

文献发布时间:2024-04-18 19:53:33


一种分类识别模型生成方法、对象识别方法及相关设备

技术领域

本公开涉及计算机技术领域,尤其涉及一种分类识别模型生成方法、对象识别方法及相关设备。

背景技术

目前,行业内有很多种算法和机器学习模型可以实现分类问题。然而,相关技术中关于分类算法无法同时兼顾计算量和准确度两个方面,即一些算法准确度高但是计算量大,实际在面对海量数据时运算效率低;另一些算法的计算复杂程度低、实时性好但是准确度较低。

发明内容

本公开提供一种分类识别模型生成方法、对象识别方法及相关设备,可以在降低计算量的同时保证分类识别效率。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种分类识别模型生成方法,包括:

获取样本集合,样本集合包括多个样本信息;样本信息表征样本对象的特征数据;

获取初始化分类树;样本集合用于对初始化分类树进行训练,得到训练好的分类树;

从多个样本信息中确定出初始化分类树的根节点样本信息,将根节点样本信息当作当前节点样本信息;

若当前节点样本信息不满足预设条件,从样本集合中确定当前节点样本信息对应的样本子集合,确定样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,将子节点样本信息当作新的当前节点样本信息;若新的当前节点样本信息不满足预设条件,重复执行:确定当前节点样本信息对应的样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,直至新的当前节点样本信息满足预设条件,确定训练好的分类树;

基于训练好的分类树生成分类识别模型;分类识别模型用于根据待识别对象的特征数据对待识别对象进行类别预测。

在一个可选的实施方式中,样本集合还包括多个样本信息中每个样本信息对应的类别信息;确定当前节点样本信息对应的样本子集合中各个样本信息的分类能力信息,包括:

将样本子集合中的正样本信息与负样本信息之间的比值确定为样本子集合的第一正负样本比;正样本信息包括类别信息为第一类别的样本信息,负样本信息包括类别信息为第二类别的样本信息;

针对样本子集合中各样本信息,基于样本信息将样本子集合分割为第一样本子集合和第二样本子集合;

分别确定第一样本子集合的第二正负样本比和第二样本子集合的第三正负样本比;第二正负样本比表征第一样本子集合中的正样本信息与负样本信息之间的比值;第三正负样本比表征第二样本子集合中的正样本信息与负样本信息之间的比值;

基于第一正负样本比、第二正负样本比和第三正负样本比,确定样本信息的分类能力信息。

在一个可选的实施方式中,基于分类能力信息从样本子集合中确定子节点样本信息,包括:

将数值最大的分类能力信息对应的样本信息确定为子节点样本信息。

在一个可选的实施方式中,预设条件包括以下任一种或多种的组合:

当前节点样本信息对应的样本子集合的类别纯度大于等于预设纯度;类别纯度基于样本子集合中各样本信息的类别信息确定;

或者,当前节点样本信息对应的样本子集合中样本信息的数量小于等于预设数量;

或者,当前节点样本信息对应的当前节点位置深度大于等于预设深度。

在一个可选的实施方式中,多个样本信息包括多个预设特征和多个预设特征中每个预设特征对应的多个特征信息;多个样本信息按预设规则进行排序;预设规则,包括:

对多个预设特征进行随机排序;

针对每个预设特征对应的多个特征信息,基于多个特征信息的数值大小,按照从大到小或者从小到大的顺序对多个特征信息进行排序。

在一个可选的实施方式中,基于第一正负样本比、第二正负样本比和第三正负样本比,确定样本信息的分类能力信息,包括:

确定第二正负样本比与第一正负样本比之间的第一比值,确定第三正负样本比与第一正负样本比之间的第二比值;

将第一比值与第二比值中的较大值作为样本信息的分类能力信息。

根据本公开实施例的第二方面,提供一种对象识别方法,包括:

获取待识别对象的特征数据;

将待识别对象的特征数据输入分类识别模型,对待识别对象进行类别预测,得到待识别对象的类别信息;

其中,分类识别模型是通过获取样本集合,样本集合包括多个样本信息;样本信息表征样本对象的特征数据;获取初始化分类树;样本集合用于对初始化分类树进行训练,得到训练好的分类树;从多个样本信息中确定出初始化分类树的根节点样本信息,将根节点样本信息当作当前节点样本信息;若当前节点样本信息不满足预设条件,从样本集合中确定当前节点样本信息对应的样本子集合,确定样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,将子节点样本信息当作新的当前节点样本信息;若新的当前节点样本信息不满足预设条件,重复执行:确定当前节点样本信息对应的样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,直至新的当前节点样本信息满足预设条件,确定训练好的分类树;基于训练好的分类树生成的。

在一个可选的实施方式中,样本集合还包括多个样本信息中每个样本信息对应的类别信息;确定当前节点样本信息对应的样本子集合中各个样本信息的分类能力信息,包括:

将样本子集合中的正样本信息与负样本信息之间的比值确定为样本子集合的第一正负样本比;正样本信息包括类别信息为第一类别的样本信息,负样本信息包括类别信息为第二类别的样本信息;

针对样本子集合中各样本信息,基于样本信息将样本子集合分割为第一样本子集合和第二样本子集合;

分别确定第一样本子集合的第二正负样本比和第二样本子集合的第三正负样本比;第二正负样本比表征第一样本子集合中的正样本信息与负样本信息之间的比值;第三正负样本比表征第二样本子集合中的正样本信息与负样本信息之间的比值;

基于第一正负样本比、第二正负样本比和第三正负样本比,确定样本信息的分类能力信息。

根据本公开实施例的第三方面,提供一种分类识别模型生成装置,包括:

第一获取模块,被配置为执行获取样本集合,样本集合包括多个样本信息;样本信息表征样本对象的特征数据;

第二获取模块,被配置为执行获取初始化分类树;样本集合用于对初始化分类树进行训练,得到训练好的分类树;

第一确定模块,被配置为执行从多个样本信息中确定出初始化分类树的根节点样本信息,将根节点样本信息当作当前节点样本信息;

第二确定模块,被配置为执行若当前节点样本信息不满足预设条件,从样本集合中确定当前节点样本信息对应的样本子集合,确定样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,将子节点样本信息当作新的当前节点样本信息;若新的当前节点样本信息不满足预设条件,重复执行:确定当前节点样本信息对应的样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,直至新的当前节点样本信息满足预设条件,确定训练好的分类树;

生成模块,被配置为执行基于训练好的分类树生成分类识别模型;分类识别模型用于根据待识别对象的特征数据对待识别对象进行类别预测。

在一个可选的实施方式中,第二确定模块,包括:

第一确定单元,被配置为执行将样本子集合中的正样本信息与负样本信息之间的比值确定为样本子集合的第一正负样本比;正样本信息包括类别信息为第一类别的样本信息,负样本信息包括类别信息为第二类别的样本信息;

第二确定单元,被配置为执行针对样本子集合中各样本信息,基于样本信息将样本子集合分割为第一样本子集合和第二样本子集合;

第三确定单元,被配置为执行分别确定第一样本子集合的第二正负样本比和第二样本子集合的第三正负样本比;第二正负样本比表征第一样本子集合中的正样本信息与负样本信息之间的比值;第三正负样本比表征第二样本子集合中的正样本信息与负样本信息之间的比值;

第四确定单元,被配置为执行基于第一正负样本比、第二正负样本比和第三正负样本比,确定样本信息的分类能力信息。

在一个可选的实施方式中,第二确定模块,还包括:

第三确定单元,被配置为执行将数值最大的分类能力信息对应的样本信息确定为子节点样本信息。

在一个可选的实施方式中,预设条件包括以下任一种或多种的组合:

当前节点样本信息对应的样本子集合的类别纯度大于等于预设纯度;类别纯度基于样本子集合中各样本信息的类别信息确定;

或者,当前节点样本信息对应的样本子集合中样本信息的数量小于等于预设数量;

或者,当前节点样本信息对应的当前节点位置深度大于等于预设深度。

在一个可选的实施方式中,多个样本信息包括多个预设特征和多个预设特征中每个预设特征对应的多个特征信息;多个样本信息按预设规则进行排序;装置还包括:

排序模块,被配置为执行对多个预设特征进行随机排序;针对每个预设特征对应的多个特征信息,基于多个特征信息的数值大小,按照从大到小或者从小到大的顺序对多个特征信息进行排序。

在一个可选的实施方式中,第四确定单元,被配置为执行确定第二正负样本比与第一正负样本比之间的第一比值,确定第三正负样本比与第一正负样本比之间的第二比值;将第一比值与第二比值中的较大值作为样本信息的分类能力信息。

根据本公开实施例的第五方面,提供一种对象识别装置,包括:

获取模块,被配置为执行获取待识别对象的特征数据;

识别模块,被配置为执行将待识别对象的特征数据输入分类识别模型,对待识别对象进行类别预测,得到待识别对象的类别信息;

其中,分类识别模型是通过分类识别模型生成装置生成得到的;分类识别模型生成装置,被配置为执行获取样本集合,样本集合包括多个样本信息;样本信息表征样本对象的特征数据;获取初始化分类树;样本集合用于对初始化分类树进行训练,得到训练好的分类树;从多个样本信息中确定出初始化分类树的根节点样本信息,将根节点样本信息当作当前节点样本信息;若当前节点样本信息不满足预设条件,从样本集合中确定当前节点样本信息对应的样本子集合,确定样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,将子节点样本信息当作新的当前节点样本信息;若新的当前节点样本信息不满足预设条件,重复执行:确定当前节点样本信息对应的样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,直至新的当前节点样本信息满足预设条件,确定训练好的分类树;基于训练好的分类树生成的。

在一个可选的实施方式中,样本集合还包括多个样本信息中每个样本信息对应的类别信息;

分类识别模型生成装置,还被配置为执行将样本子集合中的正样本信息与负样本信息之间的比值确定为样本子集合的第一正负样本比;正样本信息包括类别信息为第一类别的样本信息,负样本信息包括类别信息为第二类别的样本信息;针对样本子集合中各样本信息,基于样本信息将样本子集合分割为第一样本子集合和第二样本子集合;分别确定第一样本子集合的第二正负样本比和第二样本子集合的第三正负样本比;第二正负样本比表征第一样本子集合中的正样本信息与负样本信息之间的比值;第三正负样本比表征第二样本子集合中的正样本信息与负样本信息之间的比值;基于第一正负样本比、第二正负样本比和第三正负样本比,确定样本信息的分类能力信息。

根据本公开实施例的第五方面,提供一种电子设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,处理器被配置为执行指令,以实现上述第一方面的分类识别模型生成方法,或者上述第二方面的对象识别方法。

根据本公开实施例的第六方面,提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面的分类识别模型生成方法,或者上述第二方面的对象识别方法。

根据本公开实施例的第七方面,提供一种计算机程序产品,包括计算机程序,其特征在于,计算机程序被处理器执行时实现上述第一方面的分类识别模型生成方法,或者上述第二方面的对象识别方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

通过获取样本集合,样本集合包括多个样本信息;样本信息表征样本对象的特征数据;获取初始化分类树;样本集合用于对初始化分类树进行训练,得到训练好的分类树;从多个样本信息中确定出初始化分类树的根节点样本信息,将根节点样本信息当作当前节点样本信息;若当前节点样本信息不满足预设条件,从样本集合中确定当前节点样本信息对应的样本子集合,确定样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,将子节点样本信息当作新的当前节点样本信息;若新的当前节点样本信息不满足预设条件,重复执行:确定当前节点样本信息对应的样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,直至新的当前节点样本信息满足预设条件,确定训练好的分类树;基于训练好的分类树生成分类识别模型;分类识别模型用于根据待识别对象的特征数据对待识别对象进行类别预测。如此,可以在降低计算量的同时保证分类识别效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种应用环境的示意图;

图2是根据一示例性实施例示出的一种分类识别模型生成方法的流程图;

图3是根据一示例性实施例示出的一种确定当前节点样本信息对应的样本子集合中各个样本信息的分类能力信息的流程图;

图4是根据一示例性实施例示出的一种训练好的分类树的示意图;

图5是根据一示例性实施例示出的一种分类识别模型生成装置的框图;

图6是根据一示例性实施例示出的一种用于分类识别模型生成或者对象识别的电子设备的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的第一对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等),均为经用户授权或者经过各方充分授权的信息。

请参阅图1,其所示为根据一示例性实施例示出的一种分类识别模型生成方法的应用环境示意图,该应用环境可以包括终端110和服务器120,该终端110和服务器120之间可以通过有线网络或者无线网络连接。

终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。终端110中可以安装有提供人机交互功能的客户端软件如应用程序(Application,简称为App),该应用程序可以是独立的应用程序,也可以是应用程序中的子程序。示例性的,该应用程序可以是购物类应用程序、新闻类应用程序、直播类应用程序或者视频类应用程序等。终端110的用户可以通过预先注册的用户信息登录应用程序,该用户信息可以包括账号和密码。

服务器120可以是为终端110中的应用程序提供后台服务的服务器,具体的,服务器120可以从终端110处获取样本集合生成分类识别模型,提供的服务可以是分类识别服务,具体分类识别的对象可以根据具体的应用场景确定,例如可以包括但不限于用户特征,对应的,分类识别的结果包括性别。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。

本公开实施例的分类识别模型生成方法可以由分类识别模型生成装置执行,例如分类识别模型生成方法可以由终端110或服务器120或其他电子设备执行。在一个示例性的实施方式中,该分类识别模型生成方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

图2是根据一示例性实施例示出的一种分类识别模型生成方法的流程图,如图2所示,以分类识别模型生成方法用于图1的服务器中为例,包括以下步骤:

在步骤S201中,获取样本集合,样本集合包括多个样本信息;样本信息表征样本对象的特征数据。

在步骤S203中,获取初始化分类树;样本集合用于对初始化分类树进行训练,得到训练好的分类树。

本公开实施例中,样本集合用于训练得到分类树,然后基于训练好的分类树生成分类识别模型;因此,根据实际分类识别模型的预测需求,收集对应的样本集合,样本集合中样本信息表征样本对象的特征数据;生成的分类识别模型可以对可以用于未知类别的待识别对象进行类别预测,具体通过对该未知类别的待识别对象的特征数据进行识别,以得到其类别信息。

在一个具体的应用场景中,比如电商的应用场景中,分类识别模型可以生成后用于对用户的性别进行识别,以便对用户进行精准地个性化推荐、优惠券分发以及其他精细化营销,从而提升用户体验;因此,样本集合中样本信息可以是用户购物行为特征数据。

在一个可选的实施方式中,样本集合包括多个样本信息中每个样本信息对应的类别信息;样本信息对应的类别信息包括该样本信息的类别标签,每个样本信息的类别标签为“0”或“1”;

进一步地,样本集合中多个样本信息可以包括多个预设特征和多个预设特征中每个预设特征对应的多个特征信息,即样本信息可以是预设特征与特征信息的拼接信息。

在一个具体的实施例中,多个预设特征可以包括“特征1”、“特征2”和“特征3”,其中,“特征1”对应的多个特征信息可以是10、20、30,单位为货币单位,“特征2”对应的多个特征信息可以是20、40、60,单位为件,“特征3”对应的多个特征信息可以是10、20、30,单位为件;则该例子中,样本集合一共包括9个样本信息,各样本信息为预设特征与特征信息的拼接信息,例如样本信息1为特征1+10,样本信息2为特征1+20,样本信息3为特征1+30,样本信息4为特征2+20……各预设特征下各特征信息对应的类别信息包括类别标签,第一类别标签为“1”,第二类别标签为“0”;这里,上述例子中的多个预设特征对应的特征信息均为连续型数据,需要说明的是,在本公开其他应用场景中,多个预设特征对应的特征信息也可以是离散型数据。

对于分类问题,相关技术中常使用“CART分类树”算法进行分类预测。CART分类树中每一个节点里面存储的是其父节点的数据按照某规则分类之后该节点分到的数据,如果当前节点里面的数据都是同一类别的,那么当前节点无需再进行划分,当前节点成为一个叶子节点。如果当前节点里面的数据还混杂类别,那么可以继续划分。

CART分类树算法使用基尼系数从当前节点的数据中选择最优特征以及最优切分点,然而,基尼系数的计算过程比较复杂,当数据集比较大,基尼指数的计算过程需要相当长的时间,这导致分类速度非常缓慢。

基于此,本公开通过对CART树的分裂准则进行改进,以降低计算量,提高运算效率,从而实现快速准确的识别待识别对象的类别。

为了便于后续进行分类树的训练,在下一步骤之前,样本集合中的多个样本信息需要沿预设规则进行排序。在一个可选的实施方式中,所述预设规则,包括:

对多个预设特征进行随机排序;

针对每个预设特征对应的多个特征信息:基于多个特征信息的大小,按照从大到小或者从小到大的顺序对多个特征信息进行排序。

例如,按照上述预设规则对上文例子中的多个预设特征以及各预设特征对应的多个特征信息进行排序后的结果如下表1所示:

上表中,“特征1”、“特征2”和“特征3”这三个预设特征的顺序是随机排序的,在本公开其他实施例中,也可以根据需求按照各预设特征的重要等级进行排序;上表第2行的序列号表征排序后的各预设特征的特征信息对应的序列号;上表第3行的类别标签表示预设特征下各特征信息对应的类别信息,类别标签“1”表示对应的类别信息为第一类别,类别标签“0”表示对应的类别信息为第二类别。

在步骤S205中,从多个样本信息中确定出初始化分类树的根节点样本信息,将根节点样本信息当作当前节点样本信息。

在步骤S207中,若当前节点样本信息不满足预设条件,从样本集合中确定当前节点样本信息对应的样本子集合,确定样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,将子节点样本信息当作新的当前节点样本信息;若新的当前节点样本信息不满足预设条件,重复执行:确定当前节点样本信息对应的样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,直至新的当前节点样本信息满足预设条件,确定训练好的分类树。

本公开实施例中,当用于二分类问题时,初始化分类树可以是二叉树;当用于多分类问题时,初始化分类树可以是多叉树。本公开以二分类问题为例进行说明。

本公开实施例中,通过样本集合对初始化分类树进行训练,得到训练好的分类树,实现分类树的建立。由于在分类树的建立过程中,针对每个节点都是从对应的样本中确定出最佳分裂样本,因此训练过程是一种循环操作的过程。所述最佳分裂样本通过求解各样本信息的分类能力信息确定,具体确定过程将在下文展开描述,此处暂不详述。

开始训练时,初始化分类树的根节点样本信息的预设特征可以默认为排序后的首个样本信息的预设特征,根节点样本信息的特征信息小于首个样本信息的任意特征信息,将该根节点样本信息当作当前节点样本信息,然后对当前节点样本信息进行判断,确定其是否满足预设条件,若不满足预设条件,则确定当前节点样本信息对应的样本子集合中各样本信息的分类能力信息;

此处,由于当前节点样本信息是根节点样本信息,因此其对应的样本子集合是样本集合本身;所述分类能力信息表征样本信息对其所在的样本子集合进行分组的能力,换句话说,根据分类能力信息较强的样本信息将样本子集合分裂成两组样本子集合后,每组样本子集合中样本信息会有较原样本子集合更加明显的偏向,该明显的偏向体现在每组样本子集合中各样本信息对应的类别信息较统一;例如,参照上表1所示的样本集合,根据序列号为2的样本信息(下文简称样本信息2,其余序列号的样本信息同理),可以将样本集合{1,2,3,4,5,6,7,8,9}分为子集合{1,2}和子集合{3,4,5,6,7,8,9},显然子集合1中类别标签均为“1”,这说明样本信息2具有较好的分类能力。

在确定当前节点样本信息对应的样本子集合中各样本信息的分类能力信息后,基于分类能力信息从样本子集合中确定子节点样本信息,然后将子节点样本信息当作当前节点样本信息,进行循环,即重复上述步骤S205,直至当前节点样本信息满足预设条件,确定训练好的分类树。

现有的CART分类树的分裂准则中,需要计算当前节点现有的各个预设特征的各个特征信息对样本集合的基尼系数;大致思路为,对于特征A的m个连续特征信息,从小到大排列为a1,a2,......,am,CART取相邻两样本值的平均数做划分点,一共取m-1个,然后分别计算以这m-1个点作为二元分类点时的基尼系数,然后选择基尼系数最小的点为该连续特征A的二元离散分类点。由于CART分类树的计算复杂性,导致其在大样本上计算效率较低,需要耗费巨大资源。

本公开实施例对现有的CART分类树的分裂准则进行改进,提供了一种简单算法,以确定计算当前节点样本信息对应的样本子集合中各个样本信息的分类能力信息,然后基于各样本信息的分类能力信息,从样本子集合中确定用于分裂的最佳样本信息。

在一个可选的实施方式中,上述基于分类能力信息从样本子集合中确定子节点样本信息可以包括:

将数值最大的分类能力信息对应的样本信息确定为子节点样本信息。

其中,子节点样本信息即为上述用于分裂的最佳样本信息。

在一个可选的实施方式中,上述确定当前节点样本信息对应的样本子集合中各个样本信息的分类能力信息可以包括如图3所示的以下步骤:

在步骤S301中,将样本子集合中的正样本信息与负样本信息之间的比值确定为样本子集合的第一正负样本比;正样本信息包括类别信息为第一类别的样本信息,负样本信息包括类别信息为第二类别的样本信息。

基于上文表1的例子,正样本信息可以包括类别标签为“1”的样本信息,对应的序列号为1、2、4、5、7、9,负样本信息可以包括类别标签为“0”的样本信息,对应的序列号为3、6、8;为了便于理解与说明,此处,将第一正负样本比Good

在步骤S303中,针对样本子集合中各样本信息,基于样本信息将样本子集合分割为第一样本子集合和第二样本子集合。

具体的,按照小于等于该样本信息(记做f1)与大于该样本信息,将样本子集合切分成两部分,即第一样本子集合和第二样本子集合(分别记做D1与D2)。例如,若以样本信息2为切分点,将样本集合{1,2,3,4,5,6,7,8,9}分为第一样本子集合D1{1,2}和第二样本子集合D2{3,4,5,6,7,8,9}。

在步骤S305中,分别确定第一样本子集合的第二正负样本比和第二样本子集合的第三正负样本比;第二正负样本比表征第一样本子集合中的正样本信息与负样本信息之间的比值;第三正负样本比表征第二样本子集合中的正样本信息与负样本信息之间的比值。

与上述步骤S301类似地,根据第一样本子集合中的正样本信息和负样本信息确定第二正负样本比Good

在步骤S307中,基于第一正负样本比、第二正负样本比和第三正负样本比,确定样本信息的分类能力信息。

该步骤S307进一步可以包括:确定第二正负样本比与第一正负样本比之间的第一比值,确定第三正负样本比与第一正负样本比之间的第二比值;将第一比值与第二比值中的较大值作为样本信息的分类能力信息。

具体的,将计算得到的第二正负样本比G

在一个可选的实施方式中,判断当前节点样本信息是否满足预设条件中的预设条件包括以下任一种或多种的组合:

当前节点样本信息对应的样本子集合的类别纯度大于等于预设纯度;类别纯度基于样本子集合中各样本信息的类别信息确定;

比如,类别纯度可以等于样本子集合中较多类别标签的数量除以样本信息的总数;预设纯度可以是1,可以理解的,当样本子集合中仅包含一种类别信息或类别标签时,该样本子集合无需再进行切分;

或者,当前节点样本信息对应的样本子集合中样本信息的数量小于等于预设数量;

可以理解的,当样本子集合中样本信息的数量较少,对于样本集合中样本信息的数量来说可以忽略不计时,该样本子集合无需再进行切分;

或者,当前节点样本信息对应的当前节点位置深度大于等于预设深度;

该预设深度可以在获取初始化分类树时获得,即,初始化分类树时,对该分类树的深度/层数进行限定;可以理解的,若当前节点样本信息对应的当前节点位置深度超出预设深度,当前节点样本信息对应的样本子集合无需再进行切分。

下面采用上文S203-S207的步骤提供一种如何基于表1所示的样本集合得到训练好的分类树的具体实施过程,训练好的分类树如图4所示。

首先,从上表1所示的排序后的多个样本信息{1,2,3,4,5,6,7,8,9}中,确定出根节点样本信息的预设特征是特征1,根节点样本信息的特征信息为0,当前节点样本信息为特征1+0,如此,样本集合D切分后的第一样本子集合D11是空集,第二样本子集合D12是{1,2,3,4,5,6,7,8,9};显然此时第二样本子集合D12不满足任一预设条件,确定该样本子集合D12中各个样本信息的分类能力信息,计算过程如下:

1、确定样本子集合D12的G

2、确定样本子集合D12中各样本信息的分类能力信息:

X<=1:左枝:(1/1)/(6/4)=0.67;右枝:(5/4)/(6/4)=0.83;

X<=2:左枝:(2/1)/(6/4)=1.33;右枝:(4/4)/(6/4)=0.67;

X<=3:左枝:(2/2)/(6/4)=0.67;右枝:(4/3)/(6/4)=0.89;

X<=4:左枝:(3/2)/(6/4)=1;右枝:(3/3)/(6/4)=0.67;

X<=5:左枝:(4/2)/(6/4)=1.33;右枝:(2/3)/(6/4)=0.44;

X<=6:左枝:(4/3)/(6/4)=0.89;右枝:(2/2)/(6/4)=0.67;

X<=7:左枝:(5/3)/(6/4)=1.11;右枝:(1/2)/(6/4)=0.33;

X<=8:左枝:(5/4)/(6/4)=0.83;右枝:(1/1)/(6/4)=0.67;

由上可以看出,X<=2时的样本信息2和X<=5时的样本信息5的分类能力信息最好,均为1.33,从样本信息2和样本信息5中任选一个当作子节点样本信息,下文以选择样本信息2作为子节点样本信息为例继续说明;需要说明的是,根节点样本信息的特征信息无实际含义,只是为了方便算法的循环,实际可以在得到训练好的分类树后,删除该根节点样本信息;

其次,将子节点样本信息2当作当前节点样本信息,样本信息2对应的样本子集合包括切分后的左枝对应的第一样本子集合D21{1,2}和右枝对应的第二样本子集合D22{3,4,5,6,7,8,9};对于D21,其满足上文提及的第一条预设条件,即D21中类别标签均为“1”,类别纯度为1,则D21无需再进行切分;而对于D22,为便于理解与说明,整理的D22如下表2所示:

可以看出,D22并不满足任一预设条件,则继续确定D22中各个样本信息的分类能力信息,计算过程如下:

1、确定D22的G

2、确定D22中各样本信息的分类能力信息:

X<=3:左枝:(0/2)/(4/4)=0;右枝:(4/3)/(4/4)=1.33;

X<=4:左枝:(1/2)/(4/4)=0.5;右枝:(3/3)/(4/4)=1;

X<=5:左枝:(2/2)/(4/4)=1;右枝:(2/3)/(4/4)=0.67;

X<=6:左枝:(2/3)/(4/4)=0.67;右枝:(2/2)/(4/4)=1;

X<=7:左枝:(3/3)/(4/4)=1;右枝:(1/2)/(4/4)=0.5;

X<=8:左枝:(3/4)/(4/4)=0.75;右枝:(1/1)/(4/4)=1;

由上可以看出,X<=3时的样本信息3的分类能力信息最好,为1.33,则将样本信息3作为子节点样本信息;

其次,将子节点样本信息3当作当前节点样本信息,样本信息3对应的样本子集合包括切分后的左枝对应的第一样本子集合D31{3}和右枝对应的第二样本子集合D32{4,5,6,7,8,9};对于D31,其满足上文提及的第一条预设条件以及第二条预设条件,则D31无需再进行切分;而对于D32,为便于理解与说明,整理的D32如下表3所示:

可以看出,D32并不满足任一预设条件,则继续确定D32中各个样本信息的分类能力信息,计算过程如下:

1、确定D32的G

2、确定D32中各样本信息的分类能力信息:

X<=4:左枝:(1/1)/(4/3)=0.75;右枝:(3/3)/(4/3)=0.75;

X<=5:左枝:(2/1)/(4/3)=1.5;右枝:(2/3)/(4/3)=0.5;

X<=6:左枝:(2/2)/(4/3)=0.75;右枝:(2/2)/(4/3)=0.75;

X<=7:左枝:(3/2)/(4/3)=1.125;右枝:(1/2)/(4/3)=0.375;

X<=8:左枝:(3/3)/(4/3)=0.75;右枝:(1/1)/(4/3)=0.75;

由上可以看出,X<=5时的样本信息5的分类能力信息最好,为1.5,则将样本信息5作为子节点样本信息;

其次,将子节点样本信息5当作当前节点样本信息,样本信息5对应的样本子集合包括切分后的左枝对应的第一样本子集合D41{4,5}和右枝对应的第二样本子集合D42{6,7,8,9};对于D41,其满足上文提及的第一条预设条件,则D41无需再进行切分;而对于D42,为便于理解与说明,整理的D42如下表4所示:

可以看出,D42并不满足任一预设条件,则继续确定D42中各个样本信息的分类能力信息,计算过程如下:

1、确定D42的G

2、确定D42中各样本信息的分类能力信息:

X<=6:左枝:(0/2)/(2/3)=0;右枝:(2/2)/(2/3)=1.5;

X<=7:左枝:(1/2)/(2/3)=0.75;右枝:(1/2)/(2/3)=0.75;

X<=8:左枝:(1/3)/(2/3)=0.6;右枝:(1/1)/(2/3)=1.5;

由上可以看出,X<=6时的样本信息6和X<=8时的样本信息8的分类能力信息最好,均为1.5,从样本信息6和样本信息8中任选一个当作子节点样本信息,下文以选择样本信息8作为子节点样本信息为例继续说明;

其次,将子节点样本信息8当作当前节点样本信息,样本信息8对应的样本子集合包括切分后的左枝对应的第一样本子集合D51{6,7,8}和右枝对应的第二样本子集合D52{9};对于D52,其满足上文提及的第一条预设条件,则D52无需再进行切分;而对于D51,若第二条预设条件中预设数量为3,或第三条预设条件中预设深度为5,则D51也满足预设条件,其也无需再进行切分,可以直接将D51中数量较多类别标签(第二类别标签)作为预测结果;至此,循环结束,得到的分类树如图4所示。

在步骤S209中,基于训练好的分类树生成分类识别模型;分类识别模型用于根据待识别对象的特征数据对待识别对象进行类别预测。

例如,基于图4的分类树生成的分类识别模型可以对未知类别对象进行识别。对于某未知类别对象,获取其特征1、特征2、特征3以及对应的特征信息,假设包括特征1为35,特征2为50,特征3为15,将上述特征特征以及对应的特征信息输入至分类识别模型中,则该模型的输出将是该对象为第二类别的预测结果。

本公开实施例中,对现有的CART树的分裂准则进行改进,可以简化分类树算法的复杂度,可以提升运算效率,且准确率高;最终生成的分类识别模型能够在实际应用场景中对待识别对象进行快速准确的类别预测。

基于此,本公开实施例还提供了一种对象识别方法,该方法包括:

获取待识别对象的特征数据;

将待识别对象的特征数据输入分类识别模型,对待识别对象进行类别预测,得到待识别对象的类别信息;

其中,分类识别模型是通过获取样本集合,样本集合包括多个样本信息;样本信息表征样本对象的特征数据;获取初始化分类树;样本集合用于对初始化分类树进行训练,得到训练好的分类树;从多个样本信息中确定出初始化分类树的根节点样本信息,将根节点样本信息当作当前节点样本信息;若当前节点样本信息不满足预设条件,从样本集合中确定当前节点样本信息对应的样本子集合,确定样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,将子节点样本信息当作新的当前节点样本信息;若新的当前节点样本信息不满足预设条件,重复执行:确定当前节点样本信息对应的样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,直至新的当前节点样本信息满足预设条件,确定训练好的分类树;基于训练好的分类树生成的。

关于上述实施例中的分类识别模型,其生成的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开实施例中,根据实际应用场景,基于类别预测的目标,利用合适的样本集合训练得到分类树,然后生成相应的分类识别模型,从而可以在实际应用时快速准确实现类别的预测。

图5是根据一示例性实施例示出的一种分类识别模型生成装置的框图。参照图5,该分类识别模型生成装置500包括第一获取模块510、第二获取模块520、确定模块530和生成模块540;

第一获取模块510,被配置为执行取样本集合,样本集合包括多个样本信息;样本信息表征样本对象的特征数据;

第二获取模块520,被配置为执行获取初始化分类树;样本集合用于对初始化分类树进行训练,得到训练好的分类树;

第一确定模块530,被配置为执行从多个样本信息中确定出初始化分类树的根节点样本信息,将根节点样本信息当作当前节点样本信息;

第二确定模块540,被配置为执行若当前节点样本信息不满足预设条件,从样本集合中确定当前节点样本信息对应的样本子集合,确定样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,将子节点样本信息当作新的当前节点样本信息;若新的当前节点样本信息不满足预设条件,重复执行:确定当前节点样本信息对应的样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,直至新的当前节点样本信息满足预设条件,确定训练好的分类树;

生成模块550,被配置为执行基于训练好的分类树生成分类识别模型;分类识别模型用于根据待识别对象的特征数据对待识别对象进行类别预测。

在一个可选的实施方式中,第二确定模块540,包括:

第一确定单元,被配置为执行将样本子集合中的正样本信息与负样本信息之间的比值确定为样本子集合的第一正负样本比;正样本信息包括类别信息为第一类别的样本信息,负样本信息包括类别信息为第二类别的样本信息;

第二确定单元,被配置为执行针对样本子集合中各样本信息,基于样本信息将样本子集合分割为第一样本子集合和第二样本子集合;

第三确定单元,被配置为执行分别确定第一样本子集合的第二正负样本比和第二样本子集合的第三正负样本比;第二正负样本比表征第一样本子集合中的正样本信息与负样本信息之间的比值;第三正负样本比表征第二样本子集合中的正样本信息与负样本信息之间的比值;

第四确定单元,被配置为执行基于第一正负样本比、第二正负样本比和第三正负样本比,确定样本信息的分类能力信息。

在一个可选的实施方式中,第二确定模块540,还包括:

第三确定单元,被配置为执行将数值最大的分类能力信息对应的样本信息确定为子节点样本信息。

在一个可选的实施方式中,预设条件包括以下任一种或多种的组合:

当前节点样本信息对应的样本子集合的类别纯度大于等于预设纯度;类别纯度基于样本子集合中各样本信息的类别信息确定;

或者,当前节点样本信息对应的样本子集合中样本信息的数量小于等于预设数量;

或者,当前节点样本信息对应的当前节点位置深度大于等于预设深度。

在一个可选的实施方式中,多个样本信息包括多个预设特征和多个预设特征中每个预设特征对应的多个特征信息;多个样本信息按预设规则进行排序;装置还包括:

排序模块,被配置为执行对多个预设特征进行随机排序;针对每个预设特征对应的多个特征信息,基于多个特征信息的数值大小,按照从大到小或者从小到大的顺序对多个特征信息进行排序。

在一个可选的实施方式中,第四确定单元,被配置为执行确定第二正负样本比与第一正负样本比之间的第一比值,确定第三正负样本比与第一正负样本比之间的第二比值;将第一比值与第二比值中的较大值作为样本信息的分类能力信息。

本公开实施例还提供一种对象识别装置,包括:

取模块,被配置为执行获取待识别对象的特征数据;

识别模块,被配置为执行将待识别对象的特征数据输入分类识别模型,对待识别对象进行类别预测,得到待识别对象的类别信息;

其中,分类识别模型是通过分类识别模型生成装置生成得到的;分类识别模型生成装置,被配置为执行获取样本集合,样本集合包括多个样本信息;样本信息表征样本对象的特征数据;获取初始化分类树;样本集合用于对初始化分类树进行训练,得到训练好的分类树;从多个样本信息中确定出初始化分类树的根节点样本信息,将根节点样本信息当作当前节点样本信息;若当前节点样本信息不满足预设条件,从样本集合中确定当前节点样本信息对应的样本子集合,确定样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,将子节点样本信息当作新的当前节点样本信息;若新的当前节点样本信息不满足预设条件,重复执行:确定当前节点样本信息对应的样本子集合中各个样本信息的分类能力信息;基于分类能力信息从样本子集合中确定子节点样本信息,直至新的当前节点样本信息满足预设条件,确定训练好的分类树;基于训练好的分类树生成的。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

在一个示例性的实施方式中,还提供了一种电子设备,包括处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行存储器上所存放的指令时,实现本公开实施例中提供的任意一种分类识别模型生成方法,或者对象识别方法。

该电子设备可以是终端、服务器或者类似的运算装置,以该电子设备是服务器为例,图6是根据一示例性实施例示出的一种用于分类识别模型生成或者对象识别的电子设备的框图,如图6所示,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)610(处理器610可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器630,一个或一个以上存储应用程序623或数据622的存储介质620(例如一个或一个以上海量存储设备)。其中,存储器630和存储介质620可以是短暂存储或持久存储。存储在存储介质620的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器610可以设置为与存储介质620通信,在服务器600上执行存储介质620中的一系列指令操作。服务器600还可以包括一个或一个以上电源660,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口640,和/或,一个或一个以上操作系统621,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

输入输出接口640可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器600的通信供应商提供的无线网络。在一个实例中,输入输出接口640包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口640可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。

本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器600还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。

在一个示例性的实施方式中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器630,上述指令可由装置600的处理器610执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在一个示例性的实施方式中,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本公开实施例中提供的任意一种分类识别模型生成方法,或者对象识别方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

技术分类

06120116336087