针对海量类别数据进行分批分类的机器学习方法及系统与流程

文档序号:18108601发布日期:2019-07-06 11:50阅读:696来源:国知局
本发明属于机器学习领域,特别是涉及一种针对海量类别数据进行分批分类的机器学习方法及系统。
背景技术
:数据分类就是把具有某种共同属性或特征的数据归并在一起,通过其类别的属性或特征来对数据进行区别。换句话说,就是相同内容、相同性质的信息以及要求统一管理的信息集合在一起,而把相异的和需要分别管理的信息区分开来,然后确定各个集合之间的关系,形成一个有条理的分类系统。目前很多数据挖掘系统都实现的多种数据分类算法,这些分类算法在分类数量较少时(如几个或几十个),工作的非常好。但当分类数量达到成千上万时,分类准确率下降明显,甚至可能因为分类模型过大,导致无法加载到内存问题。尤其在使用jvm技术的分类系统,由于存在整数最大值限制,即使物理服务器配置再大的内存,分类模型大小也无法超过2的31次方大小。这严重限制了高维数据的海量分类应用。技术实现要素:有鉴于此,本发明提出一种针对海量类别数据进行分批分类的机器学习方法及系统,将海量类别数据拆成系统能够处理的多个小分类,训练出多个小分类模型。为达到上述目的,本发明的技术方案是这样实现的:一种针对海量类别数据进行分批分类的机器学习方法,包括:s1、将海量类别数据拆分成多个子分类任务,每个子分类任务只建立局部类别的分类器,满足内存资源可以实现;s2、多个子分类器结果进行集成,进行二次分类,确定最终的分类结果。进一步的,步骤s1具体包括:s1.1、将全部数据按类别分隔成系统可以进行训练、或满足训练时间要求的小任务;s1.2、根据系统要求,对于无需进行类别映射的系统,直接转到步骤s1.3;对于需要进行映射转换的系统,实现不同任务间的类别的映射关系;s1.3、使用每个任务对应的数据,分别训练各自的模型,得到多个小类别的分类模型。进一步的,步骤s2包括:s2.1、对于新的待预测数据,使用多个模型分别进行预测,得到数据在每个模型下的类别相似度;s2.2、将多个模型的预测值按映射规则进行反向偏移,得到各个模型在新的类别下的相似度;s2.3、根据类别字典,将多个模型的相似度结果进行拼接,得到完整的各类别相似度;s2.4、根据预测结果是单分类,还是多分类,从预测值中,选出一个或多个值的索引。本发明还提供了一种针对海量类别数据进行分批分类的机器学习系统,包括:拆分模块,将海量类别数据拆分成多个子分类任务,每个子分类任务只建立局部类别的分类器,满足内存资源可以实现;二次分类模块,用于将多个子分类器结果进行集成,进行二次分类,确定最终的分类结果。进一步的,拆分模块包括:分隔单元,用于将全部数据按类别分隔成系统可以进行训练、或满足训练时间要求的小任务;映射单元,用于根据系统要求,对于无需进行类别映射的系统,直接转到训练单元;对于需要进行映射转换的系统,实现不同任务间的类别的映射关系;训练单元,用于使用每个任务对应的数据,分别训练各自的模型,得到多个小类别的分类模型。进一步的,二次分类模块包括:预测单元,用于对于新的待预测数据,使用多个模型分别进行预测,得到数据在每个模型下的类别相似度;偏移单元,用于将多个模型的预测值按映射规则进行反向偏移,得到各个模型在新的类别下的相似度;拼接单元,用于根据类别字典,将多个模型的相似度结果进行拼接,得到完整的各类别相似度;分类单元,用于根据预测结果是单分类,还是多分类,从预测值中,选出一个或多个值的索引。与现有技术相比,本发明具有如下的有益效果:通过本发明,可实现:1、解决分类数量过多时,导致的模型存储空间,超过计算机语言自身限制,导致无法进行机器学习训练问题;2、解决将单机训练性能慢,无法满足时间要求问题;3、解决单台服务器无法满足训练的资源要求问题。具体实施方式需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面对本发明的技术方案做进一步的详细说明:当处理一个分类非常多的问题时,为说明简单,以26个类别为例,26个类别为a到z。步骤1由于系统限制(如软件,服务器资源等)或时间限制(如单机训练时间过长,无法满足要求),可以将全部数据按类别分隔成系统可以进行训练,或满足训练时间要求的小任务。为说明方便,以单个小任务为4个分类为例。通过处理,一个共26个类别的大分类任务,转变为7个最多4个类别的小分类任务。其中最后一个任务,只有2个类别。如下表:abcdefghijklmnopqrstuvwxyz步骤2将大分类问题,转换为小分类问题。根据系统要求,对于无需进行类别映射的系统,可以直接转到步骤3。对于需要进行映射转换的系统,实现不同任务间的类别的映射关系。为说明方便,以字典偏移方法进行说明。·以全部类别名称,创建一个字典,类别名称为a-z。在字典中的索引值为0-25。·对7个任务进行编码,分别为(橙色任务,0),(蓝色任务,1),(绿色任务,2),(粉色任务,3),(棕色任务,4),(黄色任务,5),(紫色任务,6)。·新任务的类别为原任务类别在字典中向前偏移(任务id*任务类别数)。在本例中,橙色任务的任务id为0,无需进行偏移处理;蓝色任务的id为1,类别偏移量为4;同理,绿色任务类别偏移量为8,粉色任务类别偏移量为12,棕色任务类别偏移量为16,黄色任务类别偏移量为20,紫色任务类别偏移量为24。经过映射处理,原大类别分类问题,转换为系统可处理的多个小类别分类问题。如下表:步骤3使用每个任务对应的数据,分别训练各自的模型,得到多个小类别的分类模型。步骤4对于新的待预测文档,需要使用多个模型分别进行预测,得到文档在每个模型下的类别相似度。为说明方便,下面以xi代表文档在各模型中与每个类别的相似度。使用橙色任务模型1的各类别相似度如下:abcdx1x2x3x4使用蓝色任务模型2的各类别相似度如下:abcdx5x6x7x8使用绿色任务模型3的各类别相似度如下:abcdx9x10x11x12使用粉色任务模型4的各类别相似度如下:abcdx13x14x15x16使用棕色任务模型5的各类别相似度如下:abcdx17x18x19x20使用黄色任务模型6的各类别相似度如下:abcdx21x22x23x24使用紫色任务模型7的各类别相似度如下:abx25x26步骤5将多个模型的预测值按步骤2的映射规则进行反向偏移,得到各个模型在新的类别下的相似度。使用橙色任务模型1的各类别相似度如下:abcdx1x2x3x4使用蓝色任务模型2的各类别相似度如下:efghx5x6x7x8使用绿色任务模型3的各类别相似度如下:ijklx9x10x11x12使用粉色任务模型4的各类别相似度如下:mnopx13x14x15x16使用棕色任务模型5的各类别相似度如下:qrstx17x18x19x20使用黄色任务模型6的各类别相似度如下:uvwxx21x22x23x24使用紫色任务模型7的各类别相似度如下:yzx25x26步骤6根据类别字典,将多个模型的相似度结果进行拼接,得到完整的各类别相似度。在本例中,将6个4类别相似度结果和1个2类别相似度结果拼接,得到1个26类别的相似度结果。步骤7根据预测结果是单分类,还是多分类,从预测值中,选出一个或多个值的索引。如:对于单分类问题,只需要选择预测结果中相似度值最大的x16所对应的类别p,为目标文档的预测类别。对于多分类问题,需要选择预测结果中相似度值最大的前4个(x8,x12,x16,x20)对应的索引h,l,p,t,为目标文档的预测类别,其中相似度值最大的x16对应的类别p,可做为主分类。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1