CN111160567A - 一种实现自动超参数选择的方法、装置及系统 - Google Patents

一种实现自动超参数选择的方法、装置及系统 Download PDF

Info

Publication number
CN111160567A
CN111160567A CN201911373709.5A CN201911373709A CN111160567A CN 111160567 A CN111160567 A CN 111160567A CN 201911373709 A CN201911373709 A CN 201911373709A CN 111160567 A CN111160567 A CN 111160567A
Authority
CN
China
Prior art keywords
verification
parameter values
hyper
sample
machine learning
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
Application number
CN201911373709.5A
Other languages
English (en)
Inventor
郑佳尔
秦一焜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
4Paradigm Beijing Technology Co Ltd
Original Assignee
4Paradigm Beijing Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 4Paradigm Beijing Technology Co Ltd filed Critical 4Paradigm Beijing Technology Co Ltd
Priority to CN201911373709.5A priority Critical patent/CN111160567A/zh
Publication of CN111160567A publication Critical patent/CN111160567A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种实现自动超参数选择的方法、装置及系统,该方法包括:获取样本集,其中,样本集中的每条样本包括对应的数据和标签;根据预设的拆分规则将样本集拆分为训练集和验证集;根据预设的调参算法进行超参数搜索,并基于训练集进行机器学习模型训练,获取多组候选超参数值;基于验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在验证集上的验证得分;根据验证得分从多组候选超参数值中选取至少一组优选超参数值。

Description

一种实现自动超参数选择的方法、装置及系统
技术领域
本发明涉及机器学习技术领域,更具体地,涉及一种实现自动超参数选择的方法、一种实现自动超参数选择的装置、一种包括至少一个计算装置和至少一个存储装置的系统、及一种可读存储介质。
背景技术
机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。
传统的机器学习模型的训练之前,会通过调参算法来选取机器学习模型的超参数。通常情况下,需要对超参数进行优化,给模型选择一组最优超参数,以提高学习的性能和效果。
在实际项目中,由于机器学习模型上线影响代价较大,因此,为机器学习模型选择稳定的超参数显得尤为重要。
发明内容
本发明的一个目的是提供一种自动选择机器学习模型的超参数的新技术方案。
根据本发明的第一方面,提供了一种实现自动超参数选择的方法,包括:
获取样本集,其中,所述样本集中的每条样本包括对应的数据和标签;
根据预设的拆分规则将所述样本集拆分为训练集和验证集;
根据预设的调参算法进行超参数搜索,并基于所述训练集进行机器学习模型训练,获取多组候选超参数值;
基于所述验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在所述验证集上的验证得分;
根据所述验证得分从所述多组候选超参数值中选取至少一组优选超参数值。
可选的,所述根据预设的拆分规则将所述样本集拆分为训练集和验证集包括:
判断所述样本集的标签是否具有时序关系;
获取与判断结果对应的拆分规则,并根据所述拆分规则将所述样本集拆分为训练集和验证集。
可选的,所述获取与判断结果对应的拆分规则,并根据所述拆分规则将所述样本集拆分为训练集和验证集包括:
在所述样本集的标签具有时序关系的情况下,获取所述训练集和所述验证集的时间拆分比例;
选取设定时间长度的目标时间窗;
根据所述时间拆分比例将所述目标时间窗拆分为用于选取所述训练集的前部分时间窗、和用于选取所述验证集的后部分时间窗;
选取产生时间与所述前部分时间窗对应的样本作为所述训练集,选取产生时间与所述后部分时间窗对应的样本作为所述验证集。
可选的,还包括:
检测启动自学习的事件是否发生;
在所述事件发生的情况下,获取新的训练集和新的验证集;
根据所述新的训练集对每组候选超参数值对应的机器学习模型进行迭代训练;
根据所述新的验证集对每组候选超参数值对应的迭代后的机器学习模型进行验证,得到每组候选超参数值对应的迭代后的机器学习模型在所述新的验证集上的新的验证得分;
根据所述新的验证得分从所述多组候选超参数值中重新选取优选超参数值。
可选的,所述获取新的训练集和新的验证集包括:
获取预设的滑动时长;
按照所述滑动时长滑动所述目标时间窗;
选取产生时间与滑动后的前部分时间窗对应的样本作为所述新的训练集,选取产生时间与滑动后的后部分时间窗对应的样本作为所述新的验证集。
可选的,所述事件包括以下至少一项:
达到预设的启动周期;
达到预设的启动时间;
所述基于所述验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在所述验证集上的验证得分的步骤执行完毕;
接收到用户执行的指定操作。
可选的,所述获取与判断结果对应的拆分规则,并根据所述拆分规则将所述样本集拆分为训练集和验证集包括:
在所述样本集的标签不具有时序关系的情况下,获取预设的数量拆分比例;
根据所述数量拆分比例和所述样本集中样本的数量,得到用于确定所述训练集的第一数量和用于确定所述验证集的第二数量;
从所述样本集中选取第一数量条样本,得到所述训练集;选取第二数量条样本,得到所述验证集。
可选的,所述判断所述样本集的标签是否具有时序关系包括:
获取所述机器学习模型的应用场景;
在所述应用场景为指定的应用场景的情况下,确定所述样本集的标签具有时序关系;
或者,
获取所述样本集中数据内容的类型;
在所述数据内容的类型为指定类型的情况下,确定所述样本集的标签具有时序关系。
可选的,当所述样本集中样本的标签为连续值时,所述方法还包括:
对所述标签进行离散化处理。
可选的,所述根据预设的调参算法进行超参数搜索,并基于所述训练集进行机器学习模型训练,获取多组候选超参数值包括:
进行多轮训练,其中,在每一轮训练中,根据所述调参算法进行超参数搜索得到一组或多组初始超参数值,基于所述训练集和所述一组或多组初始超参数值训练对应的一个或多个机器学习模型,并得到对应的模型评分;
根据所述多轮训练中得到模型评分,选取多组候选超参数值。
可选的,所述根据所述多轮训练中得到模型评分,选取多组候选超参数值包括:
选取训练得分超过预设的第一分数阈值的初始超参数值,作为所述候选超参数值;或者,
根据所述训练得分对多组所述初始超参数值进行降序排序,并获取每组初始超参数值的第一排序值;
选取所述第一排序值在第一设定范围内的初始超参数值,作为所述候选超参数值。
可选的,还包括:
响应于中断搜索超参数值的请求,中断搜索所述机器学习模型的多组初始超参数值;
响应于继续搜索超参数值的请求,继续搜索所述机器学习模型的多组初始超参数值。
可选的,所述调参算法设置于预设的死循环程序中,
所述方法还包括:
将根据所述调参算法每次搜索到的初始超参数值保存至历史记录中;
所述响应于继续搜索超参数值的请求,继续搜索所述机器学习模型的多组初始超参数值包括:
响应于继续搜索超参数值的请求,加载所述历史记录,根据所述历史记录继续搜索所述机器学习模型的下一组初始超参数值。
可选的,所述验证集的数量为多个,
所述根据所述验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在所述验证集上的验证得分包括:
对于每一所述验证集,分别对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在对应验证集上的验证得分;
所述根据所述验证得分选取优选超参数值包括:
对于每组候选超参数值,确定对应的机器学习模型在所有验证集上的综合验证得分;
根据所述综合验证得分选取优选超参数值;
其中,所述综合验证得分包括以下任意一种:平均值、中位数、最小值、最大值。
可选的,所述根据所述验证得分从所述多组候选超参数值中选取至少一组优选超参数值包括:
选取验证得分超过预设的第二分数阈值的候选超参数值,作为所述优选超参数值;
或者,
根据所述验证得分对所述候选超参数值进行降序排序,并获取每组候选超参数值的第二排序值;
选取所述第二排序值在第二设定范围内的候选超参数值,作为所述优选超参数值。
可选的,所述调参算法包括以下任意一项或多项:网格搜索算法、随机搜索算法、贝叶斯搜索算法。
可选的,还包括:
提供用于设置所述机器学习模型的应用场景的设置入口;
获取通过所述设置入口输入的应用场景;
根据所述输入的应用场景,获取所述样本集。
可选的,还包括:
展示所述优选超参数值。
可选的,还包括:
提供用于输入所述拆分规则的入口;
通过所述入口获取所述拆分规则。
可选的,还包括:
获取所述机器学习模型所适用的应用场景;
查找与所述应用场景相匹配的应用项目;
将训练后的所述优选超参数值对应的机器学习模型输入至所述应用项目。
根据本发明的第二方面,提供了一种实现自动超参数选择的装置,包括:
样本获取模块,用于获取样本集,其中,所述样本集中的每条样本包括对应的数据和标签;
样本拆分模块,用于根据预设的拆分规则将所述样本集拆分为训练集和验证集;
调参搜索模块,用于根据预设的调参算法进行超参数搜索,并基于所述训练集进行机器学习模型训练,获取多组候选超参数值;
得分确定模块,用于基于所述验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在所述验证集上的验证得分;
超参选取模块,用于根据所述验证得分从所述多组候选超参数值中选取至少一组优选超参数值。
可选的,所述样本拆分模块用于:
判断所述样本集的标签是否具有时序关系;
获取与判断结果对应的拆分规则,并根据所述拆分规则将所述样本集拆分为训练集和验证集。
可选的,所述获取与判断结果对应的拆分规则,并根据所述拆分规则将所述样本集拆分为训练集和验证集包括:
在所述样本集的标签具有时序关系的情况下,获取所述训练集和所述验证集的时间拆分比例;
选取设定时间长度的目标时间窗;
根据所述时间拆分比例将所述目标时间窗拆分为用于选取所述训练集的前部分时间窗、和用于选取所述验证集的后部分时间窗;
选取产生时间与所述前部分时间窗对应的样本作为所述训练集,选取产生时间与所述后部分时间窗对应的样本作为所述验证集。
可选的,还包括:
自学习检测模块,用于检测启动自学习的事件是否发生;
新的样本获取模块,用于在所述事件发生的情况下,获取新的训练集和新的验证集;
迭代训练模块,用于根据所述新的训练集对每组候选超参数值对应的机器学习模型进行迭代训练;
新的得分确定模块,用于根据所述新的验证集对每组候选超参数值对应的迭代后的机器学习模型进行验证,得到每组候选超参数值对应的迭代后的机器学习模型在所述新的验证集上的新的验证得分;
新的超参选取模块,用于根据所述新的验证得分从所述多组候选超参数值中重新选取优选超参数值。
可选的,所述获取新的训练集和新的验证集包括:
获取预设的滑动时长;
按照所述滑动时长滑动所述目标时间窗;
选取产生时间与滑动后的前部分时间窗对应的样本作为所述新的训练集,选取产生时间与滑动后的后部分时间窗对应的样本作为所述新的验证集。
可选的,所述事件包括以下至少一项:
达到预设的启动周期;
达到预设的启动时间;
所述基于所述验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在所述验证集上的验证得分的步骤执行完毕;
接收到用户执行的指定操作。
可选的,所述获取与判断结果对应的拆分规则,并根据所述拆分规则将所述样本集拆分为训练集和验证集包括:
在所述样本集的标签不具有时序关系的情况下,获取预设的数量拆分比例;
根据所述数量拆分比例和所述样本集中样本的数量,得到用于确定所述训练集的第一数量和用于确定所述验证集的第二数量;
从所述样本集中选取第一数量条样本,得到所述训练集;选取第二数量条样本,得到所述验证集。
可选的,所述判断所述样本集的标签是否具有时序关系包括:
获取所述机器学习模型的应用场景;
在所述应用场景为指定的应用场景的情况下,确定所述样本集的标签具有时序关系;
或者,
获取所述样本集中数据内容的类型;
在所述数据内容的类型为指定类型的情况下,确定所述样本集的标签具有时序关系。
可选的,当所述样本集中样本的标签为连续值时,所述装置还包括:
用于对所述标签进行离散化处理的模块。
可选的,所述调参搜索模块用于:
进行多轮训练,其中,在每一轮训练中,根据所述调参算法进行超参数搜索得到一组或多组初始超参数值,基于所述训练集和所述一组或多组初始超参数值训练对应的一个或多个机器学习模型,并得到对应的模型评分;
根据所述多轮训练中得到模型评分,选取多组候选超参数值。
可选的,所述根据所述多轮训练中得到模型评分,选取多组候选超参数值包括:
选取训练得分超过预设的第一分数阈值的初始超参数值,作为所述候选超参数值;或者,
根据所述训练得分对多组所述初始超参数值进行降序排序,并获取每组初始超参数值的第一排序值;
选取所述第一排序值在第一设定范围内的初始超参数值,作为所述候选超参数值。
可选的,还包括:
用于响应于中断搜索超参数值的请求,中断搜索所述机器学习模型的多组初始超参数值的模块;
用于响应于继续搜索超参数值的请求,继续搜索所述机器学习模型的多组初始超参数值的模块。
可选的,所述调参算法设置于预设的死循环程序中,
所述装置还包括:
用于将根据所述调参算法每次搜索到的初始超参数值保存至历史记录中的模块;
所述响应于继续搜索超参数值的请求,继续搜索所述机器学习模型的多组初始超参数值包括:
响应于继续搜索超参数值的请求,加载所述历史记录,根据所述历史记录继续搜索所述机器学习模型的下一组初始超参数值。
可选的,所述验证集的数量为多个,
所述得分确定模块用于:
对于每一所述验证集,分别对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在对应验证集上的验证得分;
所述根据所述验证得分选取优选超参数值包括:
对于每组候选超参数值,确定对应的机器学习模型在所有验证集上的综合验证得分;
根据所述综合验证得分选取优选超参数值;
其中,所述综合验证得分包括以下任意一种:平均值、中位数、最小值、最大值。
可选的,所述超参选取模块用于:
选取验证得分超过预设的第二分数阈值的候选超参数值,作为所述优选超参数值;
或者,
根据所述验证得分对所述候选超参数值进行降序排序,并获取每组候选超参数值的第二排序值;
选取所述第二排序值在第二设定范围内的候选超参数值,作为所述优选超参数值。
可选的,所述调参算法包括以下任意一项或多项:网格搜索算法、随机搜索算法、贝叶斯搜索算法。
可选的,还包括:
用于提供用于设置所述机器学习模型的应用场景的设置入口的模块;
用于获取通过所述设置入口输入的应用场景的模块;
用于根据所述输入的应用场景,获取所述样本集的模块。
可选的,还包括:
用于展示所述优选超参数值的模块。
可选的,还包括:
用于提供用于输入所述拆分规则的入口的模块;
用于通过所述入口获取所述拆分规则的模块。
可选的,还包括:
用获取所述机器学习模型所适用的应用场景的模块;
用于查找与所述应用场景相匹配的应用项目的模块;
用于将训练后的所述优选超参数值对应的机器学习模型输入至所述应用项目的模块。
根据本发明的第三方面,提供了一种包括至少一个计算装置和至少一个存储装置的系统,其中,所述至少一个存储装置用于存储指令,所述指令用于控制所述至少一个计算装置执行根据本发明第一方面所述的方法。
根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如本发明第一方面所述的方法。
本发明的一个有益效果在于,通过训练集从根据预设的调参算法进行超参数搜索到的超参数值中筛选出候选超参数值,再通过验证集从候选超参数值中筛选出优选超参数值,可以使得经过二次筛选所得到的优选超参数值更加稳定,进而可以使得优选超参数值对应的机器学习模型也更加稳定,提高优选超参数值对应的机器学习模型的性能和效果。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是可用于实现本发明的实施例的电子设备的硬件配置的一个例子的框图。
图2是根据本发明实施例的实现自动超参数选择的方法的流程示意图;
图3是根据本发明实施例的自学习步骤的流程示意图;
图4是根据本发明实施例的切分样本集的示意图;
图5是根据本发明实施例的实现自动超参数选择的装置的方框原理图;
图6是根据本发明实施例的系统的方框原理图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面,参照附图描述根据本发明实施例的各个实施例和例子。
<硬件配置>
图1是示出可以实现本发明的实施例的电子设备1000的硬件配置的框图。
电子设备1000可以是便携式电脑、台式计算机、手机、平板电脑等。如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括Wifi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。
图1所示的电子设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的任意一项实现自动超参数选择的方法。本领域技术人员应当理解,尽管在图1中对电子设备1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,电子设备1000只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
<方法实施例一>
在本实施例中,提供一种实现自动超参数选择的方法。该实现自动超参数选择的方法可以是由电子设备实施。该电子设备可以是如图1所示的电子设备1000。
根据图2所示,本实施例的实现自动超参数选择的方法可以包括如下步骤S2100~S2500:
步骤S2100,获取样本集。
其中,样本集中的每条样本包括对应的数据和标签。
步骤S2200,根据预设的拆分规则将样本集拆分为训练集和验证集。
步骤S2300,根据预设的调参算法进行超参数搜索,并基于训练集进行机器学习模型的训练,获取多组候选超参数值。
在本发明的一个实施例中,调参算法可以是预先根据应用场景或具体需求设定的。该调参算法包括以下任意一项或多项:网格搜索算法、随机搜索算法、贝叶斯搜索算法。
步骤S2400,基于验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在验证集上的验证得分。
步骤S2500,根据验证得分从多组候选超参数值中选取至少一组优选超参数值。
在本发明的实施例中,通过训练集从根据预设的调参算法进行超参数搜索到的超参数值中筛选出候选超参数值,再通过验证集从候选超参数值中筛选出优选超参数值,可以使得经过二次筛选所得到的优选超参数值更加稳定,进而可以使得优选超参数值对应的机器学习模型也更加稳定,提高优选超参数值对应的机器学习模型的性能和效果。
通常情况下,分类场景中的标签一般都是离散值,在回归场景中的标签为连续值。如基于一张图片进行打分,分数为0~5之间的连续值,即可能出现4.351,0.24这样的分数。
在本发明的一个实施例中,当样本集中样本的标签为连续值时,该方法还可以包括:
对标签进行离散化处理。
在本发明的一个实施例中,可以是采用等距分桶的方式对标签进行离散化处理。
例如,可以先根据已有的区间跨度,将其平均分成5个桶,桶号1代表0~1,桶2代表1~2,桶3代表2~3,桶4代表3~4,桶5代表4~5,将分值落入该区间的标记对应的桶号,将桶号作为新的标签,新的标签即为离散值。
在本发明的一个实施例中,拆分规则可以是预先根据应用场景或具体需求设定好的。
在本发明的一个实施例中,该方法还可以包括:
提供用于输入拆分规则的入口;通过该入口获取拆分规则。
在本实施例中,用户可以通过该入口输入拆分规则。
在本发明的一个实施例中,该方法还可以包括:
提供用于设置机器学习模型的应用场景的设置入口;
获取通过设置入口输入的应用场景;
根据输入的应用场景,获取样本集。
具体的,可以是执行本发明的实施例的电子设备中预先存储有对应多种应用场景的样本集,根据通过提供的应用场景的设置入口所输入的应用场景,获取与该应用场景匹配的样本集进行机器学习训练,这样,可以使得优选超参数值对应的机器学习模型能够适用于输入的应用场景。
在本发明的一个实施例中,该方法还可以包括:展示优选超参数值。具体的,可以是在展示界面中展示优选超参数值,以供用户参考。
在本发明的一个实施例中,该方法还可以包括:
获取机器学习模型所适用的应用场景;
查找与该应用场景相匹配的应用项目;
将训练后的优选超参数值对应的机器学习模型输入至应用项目。
在本实施例中,通过将训练后的优选超参数值对应的机器学习模型输入至与其所适用的应用场景相匹配的应用项目,以在相应的应用项目中利用该机器学习模型对该应用项目中的样本信息进行处理。
<方法实施例二>
在前述的方法实施例一的基础上,根据预设的调参算法进行超参数搜索,并基于训练集进行机器学习模型的训练,获取多组候选超参数值可以包括如下所示的步骤S2310~S2320:
步骤S2310,进行多轮训练,其中,在每一轮训练中,根据调参算法进行超参数搜索得到一组或多组初始超参数值,基于训练集和一组或多组初始超参数值训练对应的一个或多个机器学习模型,并得到对应的模型评分。
在本发明的一个实施例中,该方法还可以包括:
响应于中断搜索超参数值的请求,中断搜索机器学习模型的多组初始超参数值;
响应于继续搜索超参数值的请求,继续搜索机器学习模型的多组初始超参数值。
在本实施例中,中断搜索超参数值的请求和继续搜索超参数值的请求可以是由用户根据应用场景或具体需求所触发的。如果是根据调参算法进行超参数搜索得到一组或多组初始超参数值后、且为得到对应的模型评分的情况下,接收到中断搜索超参数值的请求,则继续执行基于训练集和一组或多组初始超参数值训练对应的一个或多个机器学习模型,并得到对应的模型评分的步骤,并在得到模型评分的情况下,不再继续搜索初始超参数值。
在本发明的一个实施例中,可以是超参数调优框架支持断点续跑。那么,用户可以是直接发送中断搜索超参数值的请求,以中断搜索机器学习模型的多组初始超参数值;或者,可以是直接发送继续搜索超参数值的请求,以继续搜索机器学习模型的多组初始超参数值。
在本发明的一个实施例中,如果超参数调优框架不支持断点续跑,例如支持贝叶斯优化的hyperopt库,可以是将调参算法设置于预设的死循环程序中,那么,该方法还可以包括:将根据调参算法每次搜索到的初始超参数值保存至历史记录中。
在此基础上,响应于继续搜索超参数值的请求,继续搜索机器学习模型的多组初始超参数值可以包括:响应于继续搜索超参数值的请求,加载历史记录,根据历史记录继续搜索机器学习模型的下一组初始超参数值。
在本实施例中,调参算法设置于预设的死循环程序中,每次让其只搜索一组超参,将每次搜索到的初始超参数值保存至历史记录中。如果收到用户发出的中断搜索超参数值的请求,就退出搜索,否则继续搜索。如停止搜索之后用户发出继续搜索超参数值的请求,可以通过加载历史记录,并继续搜索下一组初始超参数值。这样,也可以实现调参算法的断点续跑。
步骤S2320,根据多轮训练中得到模型评分,选取多组候选超参数值。
在本发明的一个实施例中,根据多轮训练中得到模型评分,选取多组候选超参数值可以包括:
选取训练得分超过预设的第一分数阈值的初始超参数值,作为候选超参数值。
该第一分数阈值可以是预先根据应用场景或具体需求设定的。例如,该第一分数阈值可以是60。
在本发明的另一个实施例中,根据多轮训练中得到模型评分,选取多组候选超参数值还可以包括:
根据训练得分对多组初始超参数值进行降序排序,并获取每组初始超参数值的第一排序值;选取第一排序值在第一设定范围内的初始超参数值,作为候选超参数值。
该第一设定范围可以是预先根据应用场景或具体需求设定的。例如该第一设定范围可以是[1,3],那么,可以是选取第一排序值为1、2、3的初始超参数值,作为候选超参数值。
在本发明的一个实施例中,根据验证得分从多组候选超参数值中选取至少一组优选超参数值可以包括:
选取验证得分超过预设的第二分数阈值的候选超参数值,作为优选超参数值。
第二分数阈值可以是预先根据应用场景或具体需求设定的,例如,该第二分数阈值可以是90,那么,可以是选取验证得分超过90的候选超参数值,作为优选超参数值。
在本发明的另一个实施例中,根据验证得分从多组候选超参数值中选取至少一组优选超参数值可以包括:
根据验证得分对候选超参数值进行降序排序,并获取每组候选超参数值的第二排序值;选取第二排序值在第二设定范围内的候选超参数值,作为优选超参数值。
该第二设定范围可以是预先根据应用场景或具体需求设定的。例如该第二设定范围可以是[1,1],那么,可以是选取第一排序值为1的候选超参数值,作为优选超参数值。
<方法实施例三>
在前述的方法实施例一的基础上,根据预设的拆分规则将样本集拆分为训练集和验证集可以包括如下所示的步骤S2210~S2220:
步骤S2210,判断样本集的标签是否具有时序关系。
如果样本的标签取决于数据的获取时间,那么,则可以认为样本集的标签具有时序关系。如果样本的标签取决于数据本身的结构,那么,可以认为样本集的标签不具有时序关系。
例如,对于图像数据,一张图片被判定为猫还是狗,并不取决于他拍摄时间的先后顺序,而是由数据本身的结构决定的,因此图像分类标签是不具有时序关系的。而在反欺诈场景中,标记用户是否为欺诈用户的标签是具有时序关系的,因为该标签是针对用户在一段时间内的交易表现来进行标记的,一个用户可能在很长一段时间内都是正常用户,但在某个时间段内会出现欺诈行为。
在本发明的一个实施例中,判断样本集的标签是否具有时序关系可以包括:
获取机器学习模型的应用场景;在该应用场景为指定的应用场景的情况下,确定样本集的标签具有时序关系。
指定的应用场景具体可以是预先根据具体需求预先设定的应用场景。例如,该指定的应用场景可以是反欺诈场景。
在反欺诈场景中,随着时间的推移,由于欺诈用户发现某一种行为模式会被反欺诈系统触发,可能之后会采用新的犯罪模式以此逃避,因此,反欺诈场景下的样本集标签具有时序关系。
在本发明的另一个实施例中,判断样本集的标签是否具有时序关系可以包括:
获取样本集中数据内容的类型;在该数据内容的类型为指定类型的情况下,确定样本集的标签具有时序关系。
指定类型可以是预先根据应用场景或具体需求设定好的。例如,该指定类型可以是交易类型。那么,在样本集中数据内容的类型为交易类型的情况下,样本集的欺诈标签具有时序关系。
步骤S2220,获取与判断结果对应的拆分规则,并根据拆分规则将样本集拆分为训练集和验证集。
在本发明的一个实施例中,获取与判断结果对应的拆分规则,并根据拆分规则将样本集拆分为训练集和验证集可以包括如下所示的步骤S2221a~S2224a:
步骤S2221a,在样本集的标签具有时序关系的情况下,获取训练集和验证集的时间拆分比例。
具体的,可以是从拆分规则中获取时间拆分比例。在拆分规则为8:1:1的情况下,时间拆分比例可以是8:1。在拆分规则为6:1:1:1:1的情况下,时间拆分比例可以是6:1。
步骤S2222a,选取设定时间长度的目标时间窗。
在本发明的一个实施例中,目标时间窗的设定时间长度可以是预先根据应用场景或具体需求设定好的。例如,该设定时间长度可以是9个月。
步骤S2223a,根据时间拆分比例将目标时间窗拆分为用于选取训练集的前部分时间窗、和用于选取验证集的后部分时间窗。
其中,前部分时间窗位于后部分时间窗之前。
在本发明的一个实施例中,可以是根据时间拆分比例和设定时间长度,确定前部分时间窗的时间长度与后部分时间窗的时间长度。前部分时间窗的时间长度与后部分时间窗的时间长度的比值,符合该时间拆分比例。
例如,时间拆分比例为6:1,目标时间窗的时间长度为7个月,可以是将目标时间窗前6个月的部分作为前部分时间窗,将目标时间窗的最后一个部分作为后部分时间窗。
步骤S2224a,选取产生时间与前部分时间窗对应的样本作为训练集,选取产生时间与后部分时间窗对应的样本作为验证集。
例如,在时间拆分比例为6:1,目标时间窗的时间长度为7个月,样本集中包含1至8月产生的样本的情况下,如果目标时间窗对应的时间为1至7月,那么,前部分时间窗对应的时间为1至6月,后部分时间窗对应的时间为7月,可以是将产生时间为1至6月的样本作为训练集,将产生时间为7月的样本作为验证集。
本发明的实施例通过目标时间窗来拆分样本集,可以保证验证集中样本的产生时间在训练集中样本的产生时间之后,这样,就可以避免使用后产生的样本进行机器学习训练、而先产生的样本对训练后的机器学习模型进行验证,导致数据穿越的问题发生。
而且,通过目标时间窗的前部分和后部分来拆分出训练集和验证集,可以使得验证集中样本的产生时间与训练集中样本的产生时间相邻。根据时间相邻的训练集和验证集来选取的优选超参数值,相较于根据时间跨度较大的训练集和验证集来选取的优选超参数值更加稳定,进而可以使得优选超参数值对应的机器学习模型也更加稳定,可以进一步提升模型的性能和效果。
在本发明的另一个实施例中,获取与判断结果对应的拆分规则,并根据拆分规则将样本集拆分为训练集和验证集可以包括如下所示的步骤S2221b~S2223b:
步骤S2221b,在样本集的标签不具有时序关系的情况下,获取预设的数量拆分比例。
具体的,可以是从拆分规则中获取时间拆分比例。在拆分规则为8:1:1的情况下,可以是将样本集拆分为一个训练集和两个验证集,数量拆分比例可以是8:1:1。在拆分规则为9:1的情况下,可以是将样本集拆分为一个训练集和一个验证集,数量拆分比例可以是9:1。在拆分规则为7:1:1:1的情况下,可以是将样本集拆分为一个训练集和三个验证集,数量拆分比例可以是7:1:1:1。
步骤S2222b,根据数量拆分比例和样本集中样本的数量,得到用于确定训练集的第一数量和用于确定验证集的第二数量。
第一数量和第二数量的比值,可以是符合数据拆分比例。
例如,在样本集中样本的数量为1000的情况下,如果数量拆分比例为8:1:1,那么,第一数量可以为800,第二数量可以分别为100和100。如果数量拆分比例为9:1,那么,第一数量可以是900,第二数量可以为100。如果数量拆分比例为7:1:1:1,那么,第一数量可以是700,第二数量可以分别为100、100和100。
步骤S2223b,从样本集中选取第一数量条样本,得到训练集;选取第二数量条样本,得到验证集。
在本发明的实施例中,可以是将样本集拆分为包含第一数量条样本的训练集和包含第二数量条样本的验证集,验证集和训练集中所包含的样本之间没有重叠,即验证集和训练集中不包含相同样本。
在样本集中样本的数量为1000的情况下,如果第一数量为800,第二数量分别为100和100,可以是将1000条样本拆分为800条、100条和100条,分别作为训练集、验证集和验证集。如果第一数量为900,第二数量分别为100,可以是将1000条样本拆分为900条和100条,分别作为训练集、和验证集。如果第一数量为700,第二数量分别为100、100和100,可以是将1000条样本拆分为700条、100条、100条和100条,分别作为训练集、验证集、验证集和验证集。
在本发明的一个实施例中,例如是在分类场景下,可以预先根据标签对样本集中的样本进行分类,对于每一分类的样本,分别根据数量拆分比例进行拆分,得到对应分类的训练集的样本和验证集的样本,再将所有分类的训练集的样本进行合并,将所有分类的验证集的样本进行合并,即得到训练集和验证集。
根据数量拆分比例对每一分类的样本进行拆分的方式,可以参照前述的步骤S2221b~S2223b,在此不再赘述。
例如,样本集中样本数据为图片,根据标签对样本集中的样本分为三类,分别为猫、狗、蛇,样本数量分别为500、400、100,在数量拆分比例为9:1的情况下,可以是根据数量拆分比例将猫类的样本拆分为450条和50条,将狗类的样本拆分为360条和40条,将蛇类的样本拆分为90条和10条,再将450条猫类的样本、360条狗类的样本和90条蛇类的样本作为训练集的样本,将50条猫类的样本、40条狗类的样本和10条蛇类的样本作为验证集的样本。
通过本实施例,可以使得训练集和验证集中,每一分类的样本的比例均相同,进而可以使得根据训练集和验证集所所得到优选超参数值更加稳定,使得优选超参数值对应的机器学习模型也更加稳定,可以进一步提升模型的性能和效果。
在本发明的一个实施例中,拆分得到的验证集的数量可以为多个,那么,根据验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在验证集上的验证得分可以包括:
对于每一验证集,分别对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在对应验证集上的验证得分;
根据验证得分选取优选超参数值可以包括:
对于每组候选超参数值,确定对应的机器学习模型在所有验证集上的综合验证得分;根据综合验证得分选取优选超参数值。
其中,综合验证得分包括以下任意一种:平均值、中位数、最小值、最大值。其中,平均值可以是几何平均值或者是算数平均值。
在本实施例中,对于每组候选超参数值,可以是确定对应的机器学习模型在所有验证集上的验证得分的平均值、中位数、最小值或最大值,作为对应候选超参数值的综合验证得分。
根据综合验证得分选取优选超参数值的方式,可以参照前述的根据验证得分选取优选超参数值的方式,在此不再赘述。
<方法实施例四>
在前述的方法实施例一的基础上,该方法还可以包括如图3所示的步骤S3100~S3500:
步骤S3100,检测启动自学习的事件是否发生。
在本发明的一个实施例中,该事件可以包括以下至少一项:
达到预设的启动周期;
达到预设的启动时间;
基于验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在验证集上的验证得分的步骤执行完毕;
接收到用户执行的指定操作。
在启动自学习的事件包括达到预设的启动周期的实施例中,该启动周期可以是预先根据应用场景或具体需求设定好的。例如,该启动周期可以是一星期,那么,可以是每过一星期都触发该启动自学习的事件发生。
在启动自学习的事件包括达到预设的启动时间的实施例中,该启动时间可以是预先根据应用场景或具体需求设定好的。例如,该启动时间可以是2020年1月1日8点整,那么,在达到该时间的情况下,触发该启动自学习的事件发生。
在启动自学习的事件包括基于验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在验证集上的验证得分的步骤执行完毕的实施例中,可以是用户预先设置了自学习指令,在此情况下,如果步骤S2400执行完毕,则判定启动自学习的事件发生。
在启动自学习的事件包括接收到用户执行的指定操作的实施例中,可以是用户根据应用场景或具体需求,判定在需要对机器学习模型进行自学习的情况下,执行指定操作。该指定操作可以是预先根据应用场景或具体需求设定的。例如,指定操作可以是点击预设的“启动自学习”的按钮的操作。
步骤S3200,在事件发生的情况下,获取新的训练集和新的验证集。
在前述的实施例三中样本集的标签具有时序关系的基础上,获取新的训练集和新的验证集的方式可以包括如下所示的步骤S3210~S3230:
步骤S3210,获取预设的滑动时长。
该滑动时长可以是预先根据应用场景或具体需求设定。例如,该滑动时长可以是一个月。
步骤S3220,按照滑动时长滑动目标时间窗。
具体的,可以是在时间轴上滑动目标时间窗,目标时间窗的滑动距离为该滑动时长。
步骤S3230,选取产生时间与滑动后的前部分时间窗对应的样本作为新的训练集,选取产生时间与滑动后的后部分时间窗对应的样本作为新的验证集。
例如,样本集中包含1至9月产生的样本,目标时间窗的时间长度为7个月,时间拆分比例为6:1,在步骤S2200中得到的训练集为1至6月产生的样本,验证集为7月产生的样本,滑动时长可以是一个月,那么,按照滑动时长滑动目标时间窗后,目标时间窗对应的时间为2至8月。其中,滑动后的前部分时间窗对应的时间为2至7月,滑动后的后部分时间窗对应的时间为8月。
对应的,可以是选取滑动后的前部分时间窗对应的时间——2至7月产生的样本作为新的训练集,选取滑动后的后部分时间窗对应的时间——8月产生的样本作为新的验证集。
本实施例中通过移动目标时间窗来选取用于自学习的新的训练集和新的验证集,使得每次选取的验证集之间相差一个滑动时长。这样,可以保证通过自学习所选取的优选超参数值的稳定性,使得优选超参数值对应的机器学习模型也更加稳定,可以进一步提升模型的性能和效果。
每次验证集横跨一个月,一方面保证结果的稳定性,同时采用滑动时间窗的方法可以基于1个样本集产生多份训练集和验证集,让模型在自学习的过程中自由调用。
在本发明的另一个实施例中,样本集的标签不具有时序关系。那么,获取新的训练集和新的验证集的方式可以包括:获取新的样本集,并根据预设的拆分规则将新的样本集拆分为新的训练集和新的验证集。
步骤S3300,根据新的训练集对每组候选超参数值对应的机器学习模型进行迭代训练。
步骤S3400,根据新的验证集对每组候选超参数值对应的迭代后的机器学习模型进行验证,得到每组候选超参数值对应的迭代后的机器学习模型在新的验证集上的新的验证得分。
在本发明的一个实施例中,该步骤S3400中所使用的候选超参数值,可以是通过步骤S2300所得到的。
在本发明的另一个实施例中,该步骤S3400中所使用的候选超参数值,可以是重新根据预设的调参算法进行超参数搜索,并基于新的训练集进行机器学习模型的训练所得到的候选超参数值。
步骤S3500,根据新的验证得分从多组候选超参数值中重新选取优选超参数值。
在本发明的一个实施例中,步骤S3400中所使用的候选超参数值是通过步骤S2300所得到的,那么,可以是对于每组候选超参数值,根据对应机器学习模型在所有验证集上的综合验证得分(其中,该综合验证得分可以是根据步骤S2400得到的验证得分和步骤S3400得到的新的验证得分确定,例如可以是这些验证得分的平均值、中位数、最小值、或最大值),来选取优选超参数值。
在本发明的另一个实施例中,步骤S3400中所使用的候选超参数值,可以是重新根据预设的调参算法进行超参数搜索,并基于新的训练集进行机器学习模型的训练所得到,那么,可以是仅根据新的验证得分重新从步骤S3400中所使用的候选超参数值中选取优选超参数值。
本发明的实施例中,通过自学习的方式来选取优选超参数值,可以保证优选超参数值在不同训练集和验证集上的泛化效果,可以进一步提高优选超参数值的稳定性,进而可以提高训练后的优选超参数值对应的机器学习模型的性能和效果。
<例子1>
例如在反欺诈等应用场景下,如果采用随机划分训练集和验证集的方式,可能会导致结果可能有偏,具体来说主要有如下影响:由于随机划分,导致用户较晚时间后(如2019年9月被上报)被抓到的样本可能提前出现在训练集中,而用户较早期的部分样本(如2019年8月的记录)则可能出现在验证集,这样导致模型已经提前知晓了这个人已经未来会被抓(相当于充当了先知的角色),那么,模型在验证集上可能会有优于真实水平的表现,但在实际应用中有可能效果骤降。
下面以样本集的标签具有时序关系为例,对实现自动超参数选择的方法进行描述。
首先,根据拆分规则将样本集拆分为训练集和验证集。
拆分规则表示的是一个区间划分,例如,在拆分规则为8:1:1的情况下,这里的1表示一个基本区间单位,如一个月、季度等,也可能是1.5个月这种非整数型的时间(当总时间跨度为15个月时)。考虑到时效性,对于标签具有时序关系的训练集,验证集的选择一般是以训练集往后推一个基本区间单位。可以通过数1的个数判断将会最多产生多少批训练集和验证集。
例如,如图4所示,样本集中样本的产生时间范围为2018年1月至2018年9月,在划分规则为6:1:1:1的情况下,目标时间窗的设定时间长度为7个月,前部分时间窗的时间长度为6个月,后部分时间窗的时间长度为1个月,通过移动目标时间窗(滑动时长为1个月)来对样本集进行划分的方式最多可以得到3批训练集和验证集:将2018年1月至2018年6月产生的样本作为训练集1,将2018年7月产生的样本作为验证集1;将2018年2月至2018年7月产生的样本作为训练集2,将将2018年8月产生的样本作为验证集2;将2018年3月至2018年8月产生的样本作为训练集3,将2018年9月产生的样本作为验证集3。
这样每次验证集横跨一个月,一方面保证结果的稳定性,同时采用滑动时间窗的方法可以基于1个样本集产生多份训练集和验证集,让模型在自学习的过程中自由调用。
具体来说,可以是在模型第一次调用时,返回训练集1和验证集1,第二次调用返回训练集2和验证集2,而后按照时间顺序返回对应的训练集和验证集。
验证集的个数取决于验证集的观察粒度,可以是由用户结合实际情况和自身需求来设定。例如模型上线情况是每天预估,用户想看模型在不同天的稳定性,将观察粒度定为天,那么2018年9月就可以认为有30个验证集;如果用户想看每月模型预估性能的稳定性,将观察粒度定为月,仅有1个验证集。
对于根据预设的调参算法进行超参数搜索,获取的一组候选超参数值K1,并基于训练集1进行候选超参数值K1对应的机器学习模型进行训练,并基于验证集1对训练后的候选超参数值K1对应的机器学习模型进行验证,得到训练后的候选超参数值K1对应的机器学习模型在验证集1上的验证得分为Score1。
如果启动自学习的事件发生,则获取新的训练集2和新的验证集2,基于新的训练集2进行候选超参数值K1对应的机器学习模型进行训练,并基于新的验证集2对训练后的候选超参数值K1对应的机器学习模型进行验证,得到训练后的候选超参数值K1对应的机器学习模型在新的验证集2上的验证得分为Score2。再获取新的训练集3和新的验证集3,基于新的训练集3进行候选超参数值K1对应的机器学习模型进行训练,并基于新的验证集3对训练后的候选超参数值K1对应的机器学习模型进行验证,得到训练后的候选超参数值K1对应的机器学习模型在新的验证集3上的验证得分为Score3。
确定候选超参数值K1对应的验证得分Score1、Score2和Score3的平均值、中位数、最小值、或最大值,得到候选超参数值K1对应的机器学习模型在所有验证集上的综合验证得分。
对于每组候选超参数值,通过上述方式分别确定对应的机器学习模型在所有验证集上的综合验证得分,再根据综合验证得分选取优选超参数值。
<例子2>
下面以样本集的标签不具有时序关系为例,对实现自动超参数选择的方法进行描述。
首先,根据拆分规则将样本集拆分为训练集和验证集。
拆分规则为表示的是一个数量划分,例如,在拆分规则为7:1:1:1的情况下,这里的1表示一个基本数量单位。可以通过数1的个数判断将会最多产生多少批验证集。
例如,按照拆分规则6:1:1:1:1来对样本集进行拆分,最多可以得到1个训练集和4个验证集。具体的,可以是选择样本集中60%的样本作为训练集,剩余的10%、10%、10%和10%分别作为验证集1、验证集2、验证集3和验证集4。
对于根据预设的调参算法进行超参数搜索,获取的一组候选超参数值K1,并基于训练集1进行候选超参数值K1对应的机器学习模型进行训练,并分别基于验证集1和验证集2对训练后的候选超参数值K1对应的机器学习模型进行验证,得到训练后的候选超参数值K1对应的机器学习模型在验证集1上的验证得分为Score1,在验证集2上的验证得分为Score2,在验证集3上的验证得分为Score3,在验证集4上的验证得分为Score4。
确定候选超参数值K1对应的验证得分Score1、Score2、Score3和Score4的平均值、中位数、最小值、或最大值,得到候选超参数值K1对应的机器学习模型在所有验证集上的综合验证得分。
对于每组候选超参数值,通过上述方式分别确定对应的机器学习模型在所有验证集上的综合验证得分,再根据综合验证得分选取优选超参数值。
<装置实施例>
在本实施例中,提供一种实现自动超参数选择的装置5000,如图5所示,包括样本获取模块5100、样本拆分模块5200、调参搜索模块5300、得分确定模块5400和超参选取模块5500。该样本获取模块5100用于获取样本集,其中,样本集中的每条样本包括对应的数据和标签;该样本拆分模块5200用于根据预设的拆分规则将样本集拆分为训练集和验证集;该调参搜索模块5300用于根据预设的调参算法进行超参数搜索,并基于训练集进行机器学习模型训练,获取多组候选超参数值;该得分确定模块5400用于基于验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在验证集上的验证得分;该超参选取模块5500用于根据验证得分从多组候选超参数值中选取至少一组优选超参数值。
在本发明的一个实施例中,样本拆分模块5200可以用于:
判断样本集的标签是否具有时序关系;
获取与判断结果对应的拆分规则,并根据拆分规则将样本集拆分为训练集和验证集。
在本发明的一个实施例中,获取与判断结果对应的拆分规则,并根据拆分规则将样本集拆分为训练集和验证集包括:
在样本集的标签具有时序关系的情况下,获取训练集和验证集的时间拆分比例;
选取设定时间长度的目标时间窗;
根据时间拆分比例将目标时间窗拆分为用于选取训练集的前部分时间窗、和用于选取验证集的后部分时间窗;
选取产生时间与前部分时间窗对应的样本作为训练集,选取产生时间与后部分时间窗对应的样本作为验证集。
在本发明的一个实施例中,实现自动超参数选择的装置5000还可以包括:
自学习检测模块,用于检测启动自学习的事件是否发生;
新的样本获取模块,用于在事件发生的情况下,获取新的训练集和新的验证集;
迭代训练模块,用于根据新的训练集对每组候选超参数值对应的机器学习模型进行迭代训练;
新的得分确定模块,用于根据新的验证集对每组候选超参数值对应的迭代后的机器学习模型进行验证,得到每组候选超参数值对应的迭代后的机器学习模型在新的验证集上的新的验证得分;
新的超参选取模块,用于根据新的验证得分从多组候选超参数值中重新选取优选超参数值。
在本发明的一个实施例中,获取新的训练集和新的验证集包括:
获取预设的滑动时长;
按照滑动时长滑动目标时间窗;
选取产生时间与滑动后的前部分时间窗对应的样本作为新的训练集,选取产生时间与滑动后的后部分时间窗对应的样本作为新的验证集。
在本发明的一个实施例中,该事件可以包括以下至少一项:
达到预设的启动周期;
达到预设的启动时间;
基于验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在验证集上的验证得分的步骤执行完毕;
接收到用户执行的指定操作。
在本发明的一个实施例中,获取与判断结果对应的拆分规则,并根据拆分规则将样本集拆分为训练集和验证集包括:
在样本集的标签不具有时序关系的情况下,获取预设的数量拆分比例;
根据数量拆分比例和样本集中样本的数量,得到用于确定训练集的第一数量和用于确定验证集的第二数量;
从样本集中选取第一数量条样本,得到训练集;选取第二数量条样本,得到验证集。
在本发明的一个实施例中,判断样本集的标签是否具有时序关系包括:
获取机器学习模型的应用场景;
在应用场景为指定的应用场景的情况下,确定样本集的标签具有时序关系;
或者,
获取样本集中数据内容的类型;
在数据内容的类型为指定类型的情况下,确定样本集的标签具有时序关系。
在本发明的一个实施例中,当样本集中样本的标签为连续值时,装置实现自动超参数选择的装置5000还可以包括:
用于对标签进行离散化处理的模块。
在本发明的一个实施例中,调参搜索模块用于:
进行多轮训练,其中,在每一轮训练中,根据调参算法进行超参数搜索得到一组或多组初始超参数值,基于训练集和一组或多组初始超参数值训练对应的一个或多个机器学习模型,并得到对应的模型评分;
根据多轮训练中得到模型评分,选取多组候选超参数值。
在本发明的一个实施例中,根据多轮训练中得到模型评分,选取多组候选超参数值包括:
选取训练得分超过预设的第一分数阈值的初始超参数值,作为候选超参数值;或者,
根据训练得分对多组初始超参数值进行降序排序,并获取每组初始超参数值的第一排序值;
选取第一排序值在第一设定范围内的初始超参数值,作为候选超参数值。
在本发明的一个实施例中,实现自动超参数选择的装置5000还可以包括:
用于响应于中断搜索超参数值的请求,中断搜索机器学习模型的多组初始超参数值的模块;
用于响应于继续搜索超参数值的请求,继续搜索机器学习模型的多组初始超参数值的模块。
在本发明的一个实施例中,调参算法设置于预设的死循环程序中,
装置实现自动超参数选择的装置5000还可以包括:
用于将根据调参算法每次搜索到的初始超参数值保存至历史记录中的模块;
响应于继续搜索超参数值的请求,继续搜索机器学习模型的多组初始超参数值包括:
响应于继续搜索超参数值的请求,加载历史记录,根据历史记录继续搜索机器学习模型的下一组初始超参数值。
在本发明的一个实施例中,验证集的数量为多个,得分确定模块5400可以用于:
对于每一验证集,分别对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在对应验证集上的验证得分;
根据验证得分选取优选超参数值包括:
对于每组候选超参数值,确定对应的机器学习模型在所有验证集上的综合验证得分;
根据综合验证得分选取优选超参数值;
其中,综合验证得分包括以下任意一种:平均值、中位数、最小值、最大值。
在本发明的一个实施例中,超参选取模块5500可以用于:
选取验证得分超过预设的第二分数阈值的候选超参数值,作为优选超参数值;
或者,
根据验证得分对候选超参数值进行降序排序,并获取每组候选超参数值的第二排序值;
选取第二排序值在第二设定范围内的候选超参数值,作为优选超参数值。
在本发明的一个实施例中,调参算法包括以下任意一项或多项:网格搜索算法、随机搜索算法、贝叶斯搜索算法。
在本发明的一个实施例中,实现自动超参数选择的装置5000还可以包括:
用于提供用于设置机器学习模型的应用场景的设置入口的模块;
用于获取通过设置入口输入的应用场景的模块;
用于根据输入的应用场景,获取样本集的模块。
在本发明的一个实施例中,实现自动超参数选择的装置5000还可以包括:
用于展示优选超参数值的模块。
在本发明的一个实施例中,实现自动超参数选择的装置5000还可以包括:
用于提供用于输入拆分规则的入口的模块;
用于通过入口获取拆分规则的模块。
在本发明的一个实施例中,实现自动超参数选择的装置5000还可以包括:
用获取机器学习模型所适用的应用场景的模块;
用于查找与应用场景相匹配的应用项目的模块;
用于将训练后的优选超参数值对应的机器学习模型输入至应用项目的模块。
本领域技术人员应当明白,可以通过各种方式来实现装置5000。例如,可以通过指令配置处理器来装置5000。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来装置5000。例如,可以将装置5000固化到专用器件(例如ASIC)中。可以将装置5000分成相互独立的单元,或者可以将它们合并在一起实现。装置5000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
在本实施例中,装置5000可以具有多种实现形式,例如,装置5000可以是任何的提供模型训练服务的软件产品或者应用程序中运行的功能模块,或者是这些软件产品或者应用程序的外设嵌入件、插件、补丁件等,还可以是这些软件产品或者应用程序本身。
<系统实施例>
在本实施例中,如图6所示,还提供一种至少一个计算装置6100和至少一个存储装置6200的系统6000。该至少一个存储装置6200用于存储可执行的指令;该指令用于控制至少一个计算装置6100执行根据本发明任意实施例的实现自动超参数选择的方法。
在本实施例中,该系统6000可以是手机、平板电脑、掌上电脑、台式机、笔记本电脑、工作站、游戏机等设备,也可以是由多个设备构成的分布式系统。
<计算机可读存储介质>
在本实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现如本发明任意实施例的实现自动超参数选择的方法。
本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

Claims (10)

1.一种实现自动超参数选择的方法,包括:
获取样本集,其中,所述样本集中的每条样本包括对应的数据和标签;
根据预设的拆分规则将所述样本集拆分为训练集和验证集;
根据预设的调参算法进行超参数搜索,并基于所述训练集进行机器学习模型训练,获取多组候选超参数值;
基于所述验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在所述验证集上的验证得分;
根据所述验证得分从所述多组候选超参数值中选取至少一组优选超参数值。
2.根据权利要求1所述的方法,所述根据预设的拆分规则将所述样本集拆分为训练集和验证集包括:
判断所述样本集的标签是否具有时序关系;
获取与判断结果对应的拆分规则,并根据所述拆分规则将所述样本集拆分为训练集和验证集。
3.根据权利要求2所述的方法,所述获取与判断结果对应的拆分规则,并根据所述拆分规则将所述样本集拆分为训练集和验证集包括:
在所述样本集的标签具有时序关系的情况下,获取所述训练集和所述验证集的时间拆分比例;
选取设定时间长度的目标时间窗;
根据所述时间拆分比例将所述目标时间窗拆分为用于选取所述训练集的前部分时间窗、和用于选取所述验证集的后部分时间窗;
选取产生时间与所述前部分时间窗对应的样本作为所述训练集,选取产生时间与所述后部分时间窗对应的样本作为所述验证集。
4.根据权利要求3所述的方法,还包括:
检测启动自学习的事件是否发生;
在所述事件发生的情况下,获取新的训练集和新的验证集;
根据所述新的训练集对每组候选超参数值对应的机器学习模型进行迭代训练;
根据所述新的验证集对每组候选超参数值对应的迭代后的机器学习模型进行验证,得到每组候选超参数值对应的迭代后的机器学习模型在所述新的验证集上的新的验证得分;
根据所述新的验证得分从所述多组候选超参数值中重新选取优选超参数值。
5.根据权利要求4所述的方法,所述获取新的训练集和新的验证集包括:
获取预设的滑动时长;
按照所述滑动时长滑动所述目标时间窗;
选取产生时间与滑动后的前部分时间窗对应的样本作为所述新的训练集,选取产生时间与滑动后的后部分时间窗对应的样本作为所述新的验证集。
6.根据权利要求4所述的方法,所述事件包括以下至少一项:
达到预设的启动周期;
达到预设的启动时间;
所述基于所述验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在所述验证集上的验证得分的步骤执行完毕;
接收到用户执行的指定操作。
7.根据权利要求2所述的方法,所述获取与判断结果对应的拆分规则,并根据所述拆分规则将所述样本集拆分为训练集和验证集包括:
在所述样本集的标签不具有时序关系的情况下,获取预设的数量拆分比例;
根据所述数量拆分比例和所述样本集中样本的数量,得到用于确定所述训练集的第一数量和用于确定所述验证集的第二数量;
从所述样本集中选取第一数量条样本,得到所述训练集;选取第二数量条样本,得到所述验证集。
8.一种实现自动超参数选择的装置,包括:
样本获取模块,用于获取样本集,其中,所述样本集中的每条样本包括对应的数据和标签;
样本拆分模块,用于根据预设的拆分规则将所述样本集拆分为训练集和验证集;
调参搜索模块,用于根据预设的调参算法进行超参数搜索,并基于所述训练集进行机器学习模型训练,获取多组候选超参数值;
得分确定模块,用于基于所述验证集对每组候选超参数值对应的机器学习模型进行验证,得到每组候选超参数值对应的机器学习模型在所述验证集上的验证得分;
超参选取模块,用于根据所述验证得分从所述多组候选超参数值中选取至少一组优选超参数值。
9.一种包括至少一个计算装置和至少一个存储装置的系统,其中,所述至少一个存储装置用于存储指令,所述指令用于控制所述至少一个计算装置执行根据权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如权利要求1至7中任一项所述的方法。
CN201911373709.5A 2019-12-27 2019-12-27 一种实现自动超参数选择的方法、装置及系统 Pending CN111160567A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911373709.5A CN111160567A (zh) 2019-12-27 2019-12-27 一种实现自动超参数选择的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911373709.5A CN111160567A (zh) 2019-12-27 2019-12-27 一种实现自动超参数选择的方法、装置及系统

Publications (1)

Publication Number Publication Date
CN111160567A true CN111160567A (zh) 2020-05-15

Family

ID=70556974

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911373709.5A Pending CN111160567A (zh) 2019-12-27 2019-12-27 一种实现自动超参数选择的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN111160567A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111523650A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种模型超参数的配置方法和装置
CN111709519A (zh) * 2020-06-17 2020-09-25 湖南大学 一种深度学习并行计算架构方法及其超参数自动配置优化
CN111814965A (zh) * 2020-08-14 2020-10-23 Oppo广东移动通信有限公司 超参数调整方法、装置、设备及存储介质
CN112257561A (zh) * 2020-10-20 2021-01-22 广州云从凯风科技有限公司 一种人脸活体检测方法、装置、机器可读介质及设备
CN113673174A (zh) * 2021-09-08 2021-11-19 中国平安人寿保险股份有限公司 超参数确定方法、装置、设备及存储介质
CN113837782A (zh) * 2020-06-24 2021-12-24 上海顺如丰来技术有限公司 时间序列模型的周期项参数优化方法、装置、计算机设备
CN115470910A (zh) * 2022-10-20 2022-12-13 晞德软件(北京)有限公司 基于贝叶斯优化及K-center采样的自动调参方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111709519A (zh) * 2020-06-17 2020-09-25 湖南大学 一种深度学习并行计算架构方法及其超参数自动配置优化
CN111709519B (zh) * 2020-06-17 2024-02-06 湖南大学 一种深度学习并行计算架构方法及其超参数自动配置优化
CN113837782A (zh) * 2020-06-24 2021-12-24 上海顺如丰来技术有限公司 时间序列模型的周期项参数优化方法、装置、计算机设备
CN113837782B (zh) * 2020-06-24 2024-04-19 上海顺如丰来技术有限公司 时间序列模型的周期项参数优化方法、装置、计算机设备
CN111523650A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种模型超参数的配置方法和装置
CN111814965A (zh) * 2020-08-14 2020-10-23 Oppo广东移动通信有限公司 超参数调整方法、装置、设备及存储介质
CN112257561A (zh) * 2020-10-20 2021-01-22 广州云从凯风科技有限公司 一种人脸活体检测方法、装置、机器可读介质及设备
CN113673174A (zh) * 2021-09-08 2021-11-19 中国平安人寿保险股份有限公司 超参数确定方法、装置、设备及存储介质
CN113673174B (zh) * 2021-09-08 2023-07-25 中国平安人寿保险股份有限公司 超参数确定方法、装置、设备及存储介质
CN115470910A (zh) * 2022-10-20 2022-12-13 晞德软件(北京)有限公司 基于贝叶斯优化及K-center采样的自动调参方法

Similar Documents

Publication Publication Date Title
CN111160567A (zh) 一种实现自动超参数选择的方法、装置及系统
KR101999471B1 (ko) 정보 추천 방법 및 장치
US20210141839A1 (en) Information search method, apparatus, and system
US9098858B2 (en) Visualizing expressions for dynamic analytics
CN110059255B (zh) 一种浏览器导航方法、装置及介质
CN109635155B (zh) 为用户推送视频的方法、装置、电子设备及存储介质
CN109690529A (zh) 按事件将文档编译到时间线中
CN110442515B (zh) 应用测试方法、装置、设备及可读存储介质
KR20190132360A (ko) 멀티미디어 리소스를 처리하는 방법 및 디바이스
CN110909009B (zh) 基于话单的轨迹伴随行为分析方法、终端设备及存储介质
CN105528403B (zh) 目标数据识别方法及装置
CN103246690A (zh) 标签继承
CN111611144B (zh) 用于处理性能测试数据的方法、装置、计算设备和介质
CN104881431B (zh) 一种用于在计算机设备中获得搜索结果页的方法和装置
CN111506575A (zh) 一种网点业务量预测模型的训练方法、装置及系统
CN104657437B (zh) 推广情况数据的监测方法及装置
US20160267425A1 (en) Data processing techniques
US9558462B2 (en) Identifying and amalgamating conditional actions in business processes
CN110457595A (zh) 突发事件报警方法、装置、系统、电子设备及存储介质
CN113297287A (zh) 用户策略自动部署方法、装置及电子设备
CN111954079A (zh) 图像处理方法、装置、电子设备及介质
CN110880128A (zh) 异常信息挖掘方法、装置、系统及终端设备
CN114722292A (zh) 书籍搜索方法、装置、设备和存储介质
CN114036074A (zh) 终端设备的测试方法和测试装置
US11734063B2 (en) Job management based on generated execution time prediction model and prediction accuracy

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