CN112766402A - 算法选择方法、装置和电子设备 - Google Patents

算法选择方法、装置和电子设备 Download PDF

Info

Publication number
CN112766402A
CN112766402A CN202110121910.5A CN202110121910A CN112766402A CN 112766402 A CN112766402 A CN 112766402A CN 202110121910 A CN202110121910 A CN 202110121910A CN 112766402 A CN112766402 A CN 112766402A
Authority
CN
China
Prior art keywords
algorithm
models
target
jth
data
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
CN202110121910.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.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication 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 Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN202110121910.5A priority Critical patent/CN112766402A/zh
Publication of CN112766402A publication Critical patent/CN112766402A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种算法选择方法、装置和电子设备。该方法包括:将目标样本数据划分为N份训练数据和M份测试数据;在j取1~G中的每一个整数时,执行如下过程:针对第j个备选算法,通过每一份训练数据分别进行训练,得到第j个备选算法的N个模型;根据M份测试数据,确定第j个备选算法的N个模型中的每一个模型的损失值;根据第j个备选算法的N个模型的损失值,确定第j个备选算法的目标参数;根据G个目标参数,从G个备选算法中确定目标算法;其中,G为备选算法的数量。因此,本申请实施例的方案,只需要根据目标样本数据确定备选算法的目标参数,从而根据目标参数就可以选出性能最优的算法,而不需要反复尝试与探索。

Description

算法选择方法、装置和电子设备
技术领域
本申请属于通信技术领域,具体涉及一种算法选择方法、装置和电子设备。
背景技术
机器学习是一个利用已有数据寻找一个能够刻画数据特征函数的过程。目前监督类机器学习分为回归学习及预测学习,在监督学习领域已经存在各种各样的学习算法,例如决策树、线性回归、贝叶斯分类、逻辑回归、支持向量机、极端梯度提升(xgboost)、神经网络族等。
其中,各类算法在进行机器学习任务时各有优劣,一般在遇到选择哪类算法进行工程应用的问题时,工程师往往是基于经验或者选择当前流行的机器学习算法。然后,利用所选择的机器学习算法以及已知数据集进行训练,并在训练过程中利用训练出来的标签和真实标签的差异(类似于偏差)来进行参数调优,从而选出最优的参数模型。
但是,在实现本申请过程中,发明人发现:由于各个应用场景特性不尽相同,如果最后模型效果评价不好,例如出现算法选择不合适或者利用选择的算法训练模型的成本较大且难以工程实现时,往往需要重新去尝试另外的算法,浪费了时间与成本。
由此可见,现有技术中,往往基于经验或者采用尝试的方式选择某一应用场景所使用的算法,其准确度较低,且探索成本较高。
申请内容
本申请实施例的目的是提供一种算法选择方法、装置和电子设备,能够解决基于经验或者采用尝试的方式选择某一应用场景所使用的算法的准确度较低,且探索成本较高的问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,本申请实施例提供了一种算法选择方法,该方法包括:
将目标样本数据划分为N份训练数据和M份测试数据,其中,N大于1,M大于或等于1;
在j取1~G中的每一个整数时,执行如下过程:
针对第j个备选算法,通过每一份所述训练数据分别进行训练,得到第j个所述备选算法的N个模型;
根据所述M份测试数据,确定第j个所述备选算法的N个模型中的每一个模型的损失值;
根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数,其中,所述目标参数用于表示所述备选算法的性能优劣的评价值;
根据G个所述目标参数,从G个所述备选算法中确定目标算法;
其中,G为所述备选算法的数量。
第二方面,本申请实施例提供了一种算法选择装置,所述装置包括:
拆分模块,用于将目标样本数据划分为N份训练数据和M份测试数据,其中,N大于1,M大于或等于1;
第一参数确定模块,用于在j取1~G中的每一个整数时,执行如下过程:
针对第j个备选算法,通过每一份所述训练数据分别进行训练,得到第j个所述备选算法的N个模型;
根据所述M份测试数据,确定第j个所述备选算法的N个模型中的每一个模型的损失值;
根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数,其中,所述目标参数用于表示所述备选算法的性能优劣的评价值;
第一选择模块,用于根据G个所述目标参数,从G个所述备选算法中确定目标算法;
其中,G为所述备选算法的数量。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
在本申请实施例中,能够将目标样本数据划分为N份训练数据和M份测试数据,然后在j取1~G中的每一个整数时,针对第j个备选算法,通过每一份训练数据分别进行训练,得到第j个备选算法的N个模型,从而根据M份测试数据,确定第j个备选算法的N个模型中的每一个模型的损失值,并根据第j个备选算法的N个模型的损失值,确定第j个备选算法的目标参数,进而根据G个目标参数,从G个备选算法中确定目标算法,G为所述备选算法的数量。
其中,目标参数用于表示备选算法的性能优劣的评价值,因此,本申请的实施例,可以根据目标样本数据确定出多个备选算法中每一种备选算法的性能优劣指标,即目标参数,进而可以根据目标参数,从多个备选算法中选出一种性能最优的算法,以在目标应用场景下使用。
由此可见,本申请的实施例,只需要根据目标样本数据确定备选算法的目标参数,从而根据目标参数就可以选出在目标应用场景下性能最优的算法,而不需要反复尝试与探索,因此,本申请的实施例所选出的目标应用场景所使用的算法的准确度较高,探索成本较少。
附图说明
图1是本申请实施例提供的一种算法选择方法的流程图;
图2是本申请实施例中目标样本数据的划分示意图;
图3是本申请实施例中模型族与f*的示意图;
图4是本申请实施例中算法选择装置的结构框图;
图5表示本申请的实施例提供的电子设备的框图之一;
图6表示本申请的实施例提供的电子设备的框图之二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
参见图1,本发明一实施例提供了一种算法选择方法,所述方法可以包括以下步骤:
步骤101:将目标样本数据划分为N份训练数据和M份测试数据。
其中,N大于1,M大于或等于1。
在j取1~G中的每一个整数时,执行如下步骤102~104:
步骤102:针对第j个备选算法,通过每一份所述训练数据分别进行训练,得到第j个所述备选算法的N个模型。
步骤103:根据所述M份测试数据,确定第j个所述备选算法的N个模型中的每一个模型的损失值。
步骤104:根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数。
其中,所述目标参数用于表示所述备选算法的性能优劣的评价值。
另外,所述备选算法为适用于目标应用场景的算法,即所述多个备选算法能够实现相同的功能。例如在监督学习的应用场景下,可以使用决策树、线性回归、贝叶斯分类、逻辑回归、支持向量机、极端梯度提升、神经网络族等算法。但其中哪一种算法的性能最优,可以根据预先确定的目标样本数据确定。因此,上述目标参数用于表示所述备选算法的性能优劣的评价值,即通过目标参数的大小表示备选算法的性能优劣的程度。
由此可知,本申请的实施例,可以根据预先确定的目标样本数据,确定适用于目标应用场景的多个备选算法中每一种备选算法的性能优劣程度。
例如备选算法包括:xgboost、卷积神经网络(CNN)算法、融合算法(gbdt+lr)这三种算法,则在N=30,M=1时,需要针对xgboost算法,分别通过30份训练数据中每一份数据进行训练,从而得到xgboost算法的30个模型;同理,针对CNN算法分别通过30份训练数据中的每一份数据进行训练,从而得到CNN算法的30个模型,针对gbdt+lr分别通过30份训练数据中的每一份数据进行训练,得到gbdt+lr的30个模型。
然后,根据测试数据,分别计算xgboost算法的30个模型、CNN算法的30个模型、gbdt+lr的30个模型中每一个模型的损失值;进而,根据xgboost算法的30个模型的损失值,确定xgboost算法的目标参数,根据CNN算法的30个模型的损失值,确定CNN算法的目标参数,根据gbdt+lr的30个模型的损失值,确定gbdt+lr的目标参数。
由此可见,本申请的实施例,将预先确定的目标样本数据划分成N份训练数据和M份测试数据,从而针对各个备选算法通过每一份训练数据进行训练,得到各个备选算法的N个模型,进而通过M份测试数据,计算各个备选算法的每一个模型的损失值,从而可以根据同一个备选算法的N个模型的损失值,确定备选算法的目标参数。
其中,通过多份训练数据针对同一备选算法进行训练,从而可以获得该备选算法的多个模型,进而根据多个模型的损失值来确定该备选算法的目标参数,从而使得目标参数能够更加准确的表示备选算法的性能优劣程度。
可选的,在步骤101之前,所述方法还可包括:对目标样本数据进行数据清洗,从而利用进行数据清洗之后的目标样本数据执行步骤101~103。
其中,数据清洗的过程包括检查数据一致性,处理无效值和缺失值等。
因此,本申请实施例中,对目标样本数据进行标准化处理后,确定出的各个备选算法的目标参数能够更加准确的表示备选算法性能的优劣程度。
步骤105:根据G个所述目标参数,从G个所述备选算法中确定目标算法。
其中,G为所述备选算法的数量。
由上述可知,本申请实施例的算法选择方法,在本申请实施例中,能够将目标样本数据划分为N份训练数据和M份测试数据,然后在j取1~G中的每一个整数时,针对第j个备选算法,通过每一份训练数据分别进行训练,得到第j个备选算法的N个模型,从而根据M份测试数据,确定第j个备选算法的N个模型中的每一个模型的损失值,并根据第j个备选算法的N个模型的损失值,确定第j个备选算法的目标参数,进而根据G个目标参数,从G个备选算法中确定目标算法,G为所述备选算法的数量。
其中,目标参数用于表示备选算法的性能优劣的评价值,因此,本申请的实施例,可以根据目标样本数据确定出多个备选算法中每一种备选算法的性能优劣指标,即目标参数,进而可以根据目标参数,从多个备选算法中选出一种性能最优的算法,以在目标应用场景下使用。
由此可见,本申请的实施例,只需要根据目标样本数据确定备选算法的目标参数,从而根据目标参数就可以选出在目标应用场景下性能最优的算法,而不需要反复尝试与探索,因此,本申请的实施例所选出的目标应用场景所使用的算法的准确度较高,探索成本较少。
可选的,所述将目标样本数据划分为N份训练数据和M份测试数据,包括:
采用交叉验证法,将所述目标样本数据划分为N份训练数据和M份测试数据。
其中,用交叉验证的目的是为了得到可靠稳定的模型。即采用交叉验证法能够使得训练数据和测试数据更具有随机性,进而使得后续采用训练数据训练获得的模型更具有稳定性。
可选的,所述N份训练数据集中每一份训练数据集中的负目标样本数据的数量与预设数量之差小于预设值。具体的,例如所述N份训练数据集中每一份训练数据集中的负目标样本数据的数量相等。
由此可见,本申请的实施例中,设置各份训练数据中的负样本数据的数量近似相等,从而防止出现部分训练数据中没有负样本或者负样本不够导致模型训练失败的情况。
可选的,每一份所述测试数据包括输入数据和输出数据;根据所述M份测试数据,确定第j个所述备选算法的N个模型中其中一个模型的损失值的过程,包括:
在i取1~M中的每一个整数时,执行如下过程:
将第i份所述测试数据中的输入数据输入至第一模型中,输出第i份预测数据,其中,所述第一模型为所述第j个所述备选算法的N个模型中的其中一个;
将第i份所述测试数据中的输出数据和第i份所述预测数据,代入至预先确定的损失函数中,得到第i个损失值;
根据第1至第M个损失值,确定所述第一模型的损失值。
其中,在M等于1时,只需要将这一份测试数据中的输入数据输入至第一模型中,输出一份预测数据,从而将该份测试数据中的输出数据,与得到的预测数据,代入至预先确定的损失函数中,得到的损失值即为第一模型的损失值。
而在M大于1时,则需要针对每一份测试数据执行上述过程,从而得到与每一份测试数据对应的损失值,进而根据M份测试数据对应的损失值,确定第一模型的损失值。
可选的,所述损失函数为如下中的其中一种:
绝对值损失函数、平方损失函数、交叉熵损失函数、合页损失函数。
其中,第i份所述测试数据中的所述输入数据包括L个输入值,第i份所述测试数据中的输出数据包括与第i份所述测试数据中的所述输入值一一对应的输出值,第i份所述预测数据包括与第i份所述测试数据中的所述输出值一一对应的预测值,L大于零;
当上述损失函数为绝对值损失函数时,将第i份所述测试数据中的输出数据和第i份所述预测数据,代入至预先确定的损失函数中,得到第i个损失值,包括:
将第i份所述测试数据中包括的输出值,以及第i份所述预测数据中包括的预测值,代入绝对值损失函数
Figure BDA0002922443650000081
中,得到第i个损失值S(i);
其中,fi(k)表示第i份所述预测试数据中的第k个预测值,yi(k)表示第i份所述测试数据中的第k个输出值,k为1~L中的整数。
当上述损失函数为平方损失函数时,将第i份所述测试数据中的输出数据和第i份所述预测数据,代入至预先确定的损失函数中,得到第i个损失值,包括:
将第i份所述测试数据中包括的输出值,以及第i份所述预测数据中包括的预测值,代入平方损失函数
Figure BDA0002922443650000082
中,得到第i个损失值S(i);
其中,fi(k)表示第i份所述预测试数据中的第k个预测值,yi(k)表示第i份所述测试数据中的第k个输出值,k为1~L中的整数。
可选的,所述根据第1至第M个损失值,确定所述第一模型的损失值,包括:
计算第1至第M个损失值的第二平均值,并将所述第二平均值确定为所述第一模型的损失值。
即本申请实施例中,将第1至第M个损失值的平均值,作为第一模型的损失值,从而使得第一模型的损失值能够更加准确的表示第一模型对测试数据的预测结果与真实结果之间的偏差。
其中,可以理解的是,对于根据第1至第M个损失值,确定第一模型的损失值的方式并不局限于此。
可选的,所述根据所述N个模型的损失值,确定所述第一算法的目标参数,包括:
计算所述N个模型的损失值的第一平均值b;
计算所述N个模型的损失值的方差v;
将所述第一平均值b和所述方差v,代入至预设公式E=k1*b+k2*v,得到所述目标参数E;
其中,k1和k2分别为预先确定的权重。
另外,例如第p种备选算法的第q个模型的损失值为epq,则第p种备选算法的N个模型的第一平均值
Figure BDA0002922443650000091
第p种备选算法的N个模型的方差
Figure BDA0002922443650000092
p为整数,q为1~N的整数,N为训练数据的份数(即一种备选算法的模型的数量)。
此外,偏差:描述的是预测值与真实值之间的差距,偏差越大,越偏离真实数据。方差:描述的是预测值的变化范围,即离散程度,也就是离其期望值的距离,方差越大,数据的分布越分散。
在机器学习模型中,估计模型的偏差表示模型太简单而带来的估计不准确的部分,模型过于简单,一般来说对数据的敏感性较差,整体模型的评估表现效果可能距离真实的数据较远;模型的方差表示的是由于模型太复杂而带来的更大的变化空间和不确定性,模型过于复杂,模型对于数据的敏感性强,评估的模型波动较大,亦会影响估计模型到真实模型的距离。
而在本申请的实施例中,一种备选算法的N个模型可以组成该备选算法的模型族,例如图3所示,f*表示真正能够刻画数据特征的函数,点f1*以及在第一圆形301覆盖范围内的其他点表示第一备选算法的模型族,点f2*以及在第二圆形302覆盖范围内的其他点表示第二备选算法的模型族,点f3*以及在第三圆形303覆盖范围内的其他点表示第三备选算法的模型族。由图3中可以看出,第一圆形301、第二圆形302和第三圆形303覆盖范围内的各个模型,到f*的距离实际上由两部分构成,一部分是整个模型族到f*的平均距离,另一部分是模型族自身模型的方差。
因此,在根据一种备选算法的N个模型的损失值,确定用于表示该备选算法的性能优劣的评价值时,可以综合考虑这N个模型的损失值的平均值和方差,即采用一种备选算法的N个模型的损失值的平均值和方差之和,可以更加准确的表示该备选算法的性能优劣程度,从而可以从多个备选算法中选出性能最优的算法作为目标应用场景所使用的算法。
可选的,所述根据G个所述目标参数,从G个所述备选算法中确定目标算法,包括:
选择所述目标参数最小的备选算法,以作为所述目标算法。
其中,当采用一种备选算法的N个模型的损失值的平均值和方差之和,作为该备选算法的目标参数时,目标参数越小则表示该备选算法的性能越高,因此,在此种情况下,目标参数最小的备选算法,即为多个备选算法中性能最优的备选算法(即目标算法)。
可选的,所述方法还包括:
计算所述目标算法的N个模型中每一个模型的参数信息,其中,所述参数信息包括准确率、召回率、综合评价指标中的其中一种;
根据所述目标算法的N个模型的所述参数信息,从所述目标算法的N个模型中选出一个模型,以作为所述目标应用场景所使用的目标模型。
其中,上述综合评价指标也可称为F值(Fsocre)
另外,可以在根据目标算法对每一份训练数据进行训练后获得的数据,计算该目标算法的每一个模型的准确率、召回率以及综合评价指标,从而可以根据准确率、召回率、综合评价指标中的其中一种,从目标算法中的N个模型中选出一个模型作为目标应用场景所使用的目标模型。
例如在目标应用场景下,比较看重模型的准确率,则可以从目标算法的N个模型中选择准确率最高的模型,以作为目标应用场景所使用的目标模型;或者目标场景下比较看重模型的召回率,则可以目标算法的N个模型中选择召回率最高的模型,以作为目标应用场景所使用的目标模型;或者,在目标应用场景下,比较看重模型的综合评价指标,则可以从目标算法的N个模型中选择综合评价指标最高的模型,以作为目标应用场景所使用的目标模型。
可选的,所述根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数,包括:
将第j个所述备选算法的N个模型的损失值进行数据归一化处理;
根据进行数据归一化处理之后的第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数
其中,在前述M大于1时,即在测试数据存在多份时,若多份测试数据可能包括不同场景下的数据,例如第一份测试数据是关于房价数据,第二份测试数据是关于手机价钱的数据,这两份数据本身在数量级上就相差较大,因此,利用这两份测试数据在同一个模型下的损失值也会相差较大。此时,若直接利用一种备选算法的N个模型的损失值计算该备选算法的目标参数,会削弱数量级较小的损失值的作用,放大数量级较大的损失值的作用,从而使得最终确定的该备选算法的目标参数不准确。
而本申请实施例中,可以对同一备选算法的N个模型的损失值分别进行归一化处理,从而使得该备选算法的N个模型的损失值处于同一个数量级别上,进而使得目标参数可以更加准确的表示备选算法的性能优劣程度。
即上述归一化处理能够实现在模型族内部(即一种备选算法的N个模型内部)标准化,以及回归指标的钝化,从而更好的对各个备选算法进行评估。
综上所述,本申请实施例的算法选择方法的具体实施方式可如下所述:
第一步:数据准备。
在将目标样本数据进行数据清洗后,如图2所示,将目标样本数据随机分为训练数据集和测试数据集,然后将训练数据随机平均分为30份(或30份以上数据,30为经验数字,一般认为30及以上样本量的统计指标能够描述整体分布),并使用负样本等深思想,保证每份训练数据中存在相等数量的负样本,从而防止出现部分训练数据中没有负样本或者负样本不够导致模型训练失败的情况。
即最终将目标样本数据划分成30份训练数据,1份测试数据。
第二步:确定备选算法以及超参数。
备选算法的选择理论上可穷举所有机器学习模型,但为了减少计算成本,一般根据相应的应用场景或者根据工程界的流行应用选择所需的分类或回归算法;例如可以将xgboost、CNN算法、gbdt+lr这三种算法作为备选算法。其中,各个备选算法的超参数采用经验值。
第三步:训练过程及损失评估,即针对每一种备选算法执行如下过程:
首先,采用备选算法以及该算法的超参数,对每一份训练数据进行训练,得到该备选算法的30个模型,其中,一种备选算法的30个模型可以组成该备选算法的模型族。
然后,将测试数据中包括的L个输入值分别输入至每一个模型,得到对应于每一个模型的L个预测值,然后针对每一个模型执行如下过程:
将测试数据中的L个输出值以及与其中一个模型对应的L个预测值,输入至预先确定的损失函数
Figure BDA0002922443650000121
中,得到该模型的损失值e,其中,f(k)表示第k个预测值,y(k)表示第k个输出值。
由此可见,一种备选算法,通过训练数据训练可以获得30个模型,而每一个模型可以通过测试数据计算出一个损失值,因此,一种备选算法会对应存在30个模型的损失值。
第四步:根据如下公式计算每一种备选算法的目标参数E:
Figure BDA0002922443650000122
其中,Ep表示第p种备选算法的目标参数,
Figure BDA0002922443650000123
epq表示第p种备选算法的第q个模型的损失值,p为整数,q为1~30的整数,k1和k2分别为预先确定的权重。
第五步
选择目标参数最小的备选算法,以作为目标应用场景使用的算法。
第六步
根据目标算法的30个模型的准确率、召回率、Fsocre中的其中一种,从目标算法的30个模型中选出一个模型作为目标应用场景使用的模型。
由上述可知,本申请的实施例,利用不同的数据集在不同备选算法上的表现,定义相应备选算法下学习到的机器学习模型函数和真实函数的距离,选择性能最优的备选算法作为后续工程应用的方向,进而选择该备选算法中最优的模型作为基础进行后续建设。因此,本申请的实施例,能够使机器学习工程师在算法选择时期从各种备选算法里选择一种比较贴切当前应用场景的算法进行使用,从而减少后续的重复探索成本,提高建模成功及工程应用的能力,增强模型稳定性和泛化能力。
需要说明的是,本申请实施例提供的算法选择方法,执行主体可以为算法选择装置,或者,或者该算法选择装置中的用于执行加载算法选择方法的控制模块。本申请实施例中以算法选择装置执行加载算法选择方法为例,说明本申请实施例提供的算法选择方法。
参见图4,本发明一实施例提供了一种算法选择装置,所述算法选择装置400可以包括以下模块:
拆分模块401,用于将目标样本数据划分为N份训练数据和M份测试数据,其中,N大于1,M大于或等于1;
第一参数确定模块402,用于在j取1~G中的每一个整数时,执行如下过程:
针对第j个备选算法,通过每一份所述训练数据分别进行训练,得到第j个所述备选算法的N个模型;
根据所述M份测试数据,确定第j个所述备选算法的N个模型中的每一个模型的损失值;
根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数,其中,所述目标参数用于表示所述备选算法的性能优劣的评价值;
第一选择模块403,用于根据G个所述目标参数,从G个所述备选算法中确定目标算法;
其中,G为所述备选算法的数量。
可选的,所述N份训练数据集中每一份训练数据集中的负目标样本数据的数量与预设数量之差小于预设值。
可选的,每一份所述测试数据包括输入数据和输出数据;所述第一参数确定模块402根据所述M份测试数据,确定第j个所述备选算法的N个模型中其中一个模型的损失值时,具体用于:
在i取1~M中的每一个整数时,执行如下过程:
将第i份所述测试数据中的输入数据输入至第一模型中,输出第i份预测数据,其中,所述第一模型为所述第j个所述备选算法的N个模型中的其中一个;
将第i份所述测试数据中的输出数据和第i份所述预测数据,代入至预先确定的损失函数中,得到第i个损失值;
根据第1至第M个损失值,确定所述第一模型的损失值。
可选的,所述第一参数确定模块402在根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数时,具体用于:
计算第j个所述备选算法的N个模型的损失值的第一平均值b;
计算第j个所述备选算法的N个模型的损失值的方差v;
将所述第一平均值b和所述方差v,代入至预设公式E=k1*b+k2*v,得到第j个所述备选算法的目标参数E;
其中,k1和k2分别为预先确定的权重。
可选的,所述装置还包括:
第二参数确定模块404,用于计算所述目标算法的N个模型中每一个模型的参数信息,其中,所述参数信息包括准确率、召回率、综合评价指标中的其中一种;
第二选择模块405,用于根据所述目标算法的N个模型的所述参数信息,从所述目标算法的N个模型中选出一个模型,以作为目标应用场景所使用的目标模型。
可选的,所述第一参数确定模块402在所述根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数时,具体用于:
将第j个所述备选算法的N个模型的损失值进行数据归一化处理;
根据进行数据归一化处理之后的第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数。
本申请实施例中的算法选择装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的算法选择装置可以为具有操作***的装置。该操作***可以为安卓(Android)操作***,可以为ios操作***,还可以为其他可能的操作***,本申请实施例不作具体限定。
本申请实施例提供的算法选择装置能够实现图1的方法实施例实现的各个过程,为避免重复,这里不再赘述。
由上述可知,本申请实施例的算法选择装置,能够将目标样本数据划分为N份训练数据和M份测试数据,然后在j取1~G中的每一个整数时,针对第j个备选算法,通过每一份训练数据分别进行训练,得到第j个备选算法的N个模型,从而根据M份测试数据,确定第j个备选算法的N个模型中的每一个模型的损失值,并根据第j个备选算法的N个模型的损失值,确定第j个备选算法的目标参数,进而根据G个目标参数,从G个备选算法中确定目标算法,G为所述备选算法的数量。
其中,目标参数用于表示备选算法的性能优劣的评价值,因此,本申请实施例的算法选择装置,可以根据目标样本数据确定出多个备选算法中每一种备选算法的性能优劣指标,即目标参数,进而可以根据目标参数,从多个备选算法中选出一种性能最优的算法,以在目标应用场景下使用。
由此可见,本申请实施例的算法选择装置,只需要根据目标样本数据确定备选算法的目标参数,从而根据目标参数就可以选出在目标应用场景下性能最优的算法,而不需要反复尝试与探索,因此,本申请的实施例所选出的目标应用场景所使用的算法的准确度较高,探索成本较少。
可选的,本申请实施例还提供一种电子设备,如图5所示,该电子设备500包括处理器510,存储器520,存储在存储器520上并可在所述处理器510上运行的程序或指令,该程序或指令被处理器510执行时实现上述算法选择方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要注意的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图6为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、以及处理器610等部件。
本领域技术人员可以理解,电子设备600还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理***与处理器610逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器610,用于执行如下过程:
将目标样本数据划分为N份训练数据和M份测试数据,其中,N大于1,M大于或等于1;
在j取1~G中的每一个整数时,执行如下过程:
针对第j个备选算法,通过每一份所述训练数据分别进行训练,得到第j个所述备选算法的N个模型;
根据所述M份测试数据,确定第j个所述备选算法的N个模型中的每一个模型的损失值;
根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数,其中,所述目标参数用于表示所述备选算法的性能优劣的评价值;
根据G个所述目标参数,从G个所述备选算法中确定目标算法;
其中,G为所述备选算法的数量。
由上述可知,本申请实施例的电子设备600,能够将目标样本数据划分为N份训练数据和M份测试数据,然后在j取1~G中的每一个整数时,针对第j个备选算法,通过每一份训练数据分别进行训练,得到第j个备选算法的N个模型,从而根据M份测试数据,确定第j个备选算法的N个模型中的每一个模型的损失值,并根据第j个备选算法的N个模型的损失值,确定第j个备选算法的目标参数,进而根据G个目标参数,从G个备选算法中确定目标算法,G为所述备选算法的数量。
其中,目标参数用于表示备选算法的性能优劣的评价值,因此,本申请实施例的电子设备600,可以根据目标样本数据确定出多个备选算法中每一种备选算法的性能优劣指标,即目标参数,进而可以根据目标参数,从多个备选算法中选出一种性能最优的算法,以在目标应用场景下使用。
由此可见,本申请实施例的电子设备600,只需要根据目标样本数据确定备选算法的目标参数,从而根据目标参数就可以选出在目标应用场景下性能最优的算法,而不需要反复尝试与探索,因此,本申请的实施例所选出的目标应用场景所使用的算法的准确度较高,探索成本较少。
可选的,所述N份训练数据集中每一份训练数据集中的负样本数据的数量与预设数量之差小于预设值。
可选的,每一份所述测试数据包括输入数据和输出数据;处理器610在根据所述M份测试数据,确定第j个所述备选算法的N个模型中其中一个模型的损失值时,具体用于:
在i取1~M中的每一个整数时,执行如下过程:
将第i份所述测试数据中的输入数据输入至第一模型中,输出第i份预测数据,其中,所述第一模型为所述第j个所述备选算法的N个模型中的其中一个;
将第i份所述测试数据中的输出数据和第i份所述预测数据,代入至预先确定的损失函数中,得到第i个损失值;
根据第1至第M个损失值,确定所述第一模型的损失值。
可选的,处理器610在根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数时,具体用于:
计算第j个所述备选算法的N个模型的损失值的第一平均值b;
计算第j个所述备选算法的N个模型的损失值的方差v;
将所述第一平均值b和所述方差v,代入至预设公式E=k1*b+k2*v,得到第j个所述备选算法的目标参数E;
其中,k1和k2分别为预先确定的权重。
可选的,处理器610还用于:
计算所述目标算法的N个模型中每一个模型的参数信息,其中,所述参数信息包括准确率、召回率、综合评价指标中的其中一种;
根据所述目标算法的N个模型的所述参数信息,从所述目标算法的N个模型中选出一个模型,以作为目标应用场景所使用的目标模型。
可选的,处理器610在根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数时,具体用于:
将第j个所述备选算法的N个模型的损失值进行数据归一化处理;
根据进行数据归一化处理之后的第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述算法选择方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述算法选择方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为***级芯片、***芯片、芯片***或片上***芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (10)

1.一种算法选择方法,其特征在于,所述方法包括:
将目标样本数据划分为N份训练数据和M份测试数据,其中,N大于1,M大于或等于1;
在j取1~G中的每一个整数时,执行如下过程:
针对第j个备选算法,通过每一份所述训练数据分别进行训练,得到第j个所述备选算法的N个模型;
根据所述M份测试数据,确定第j个所述备选算法的N个模型中的每一个模型的损失值;
根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数,其中,所述目标参数用于表示所述备选算法的性能优劣的评价值;
根据G个所述目标参数,从G个所述备选算法中确定目标算法;
其中,G为所述备选算法的数量。
2.根据权利要求1所述的算法选择方法,其特征在于,所述N份训练数据集中每一份训练数据集中的负样本数据的数量与预设数量之差小于预设值。
3.根据权利要求1所述的算法选择方法,其特征在于,每一份所述测试数据包括输入数据和输出数据;
根据所述M份测试数据,确定第j个所述备选算法的N个模型中其中一个模型的损失值的过程,包括:
在i取1~M中的每一个整数时,执行如下过程:
将第i份所述测试数据中的输入数据输入至第一模型中,输出第i份预测数据,其中,所述第一模型为所述第j个所述备选算法的N个模型中的其中一个;
将第i份所述测试数据中的输出数据和第i份所述预测数据,代入至预先确定的损失函数中,得到第i个损失值;
根据第1至第M个损失值,确定所述第一模型的损失值。
4.根据权利要求1所述的算法选择方法,其特征在于,所述根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数,包括:
计算第j个所述备选算法的N个模型的损失值的第一平均值b;
计算第j个所述备选算法的N个模型的损失值的方差v;
将所述第一平均值b和所述方差v,代入至预设公式E=k1*b+k2*v,得到第j个所述备选算法的目标参数E;
其中,k1和k2分别为预先确定的权重。
5.根据权利要求1所述的算法选择方法,其特征在于,所述方法还包括:
计算所述目标算法的N个模型中每一个模型的参数信息,其中,所述参数信息包括准确率、召回率、综合评价指标中的其中一种;
根据所述目标算法的N个模型的所述参数信息,从所述目标算法的N个模型中选出一个模型,以作为目标应用场景所使用的目标模型。
6.根据权利要求1所述的算法选择方法,其特征在于,所述根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数,包括:
将第j个所述备选算法的N个模型的损失值进行数据归一化处理;
根据进行数据归一化处理之后的第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数。
7.一种算法选择装置,其特征在于,所述装置包括:
拆分模块,用于将目标样本数据划分为N份训练数据和M份测试数据,其中,N大于1,M大于或等于1;
第一参数确定模块,用于在j取1~G中的每一个整数时,执行如下过程:
针对第j个备选算法,通过每一份所述训练数据分别进行训练,得到第j个所述备选算法的N个模型;
根据所述M份测试数据,确定第j个所述备选算法的N个模型中的每一个模型的损失值;
根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数,其中,所述目标参数用于表示所述备选算法的性能优劣的评价值;
第一选择模块,用于根据G个所述目标参数,从G个所述备选算法中确定目标算法;
其中,G为所述备选算法的数量。
8.根据权利要求7所述的算法选择装置,其特征在于,所述N份训练数据集中每一份训练数据集中的负目标样本数据的数量与预设数量之差小于预设值。
9.根据权利要求7所述的算法选择装置,其特征在于,每一份所述测试数据包括输入数据和输出数据;所述第一参数确定模块根据所述M份测试数据,确定第j个所述备选算法的N个模型中其中一个模型的损失值时,具体用于:
在i取1~M中的每一个整数时,执行如下过程:
将第i份所述测试数据中的输入数据输入至第一模型中,输出第i份预测数据,其中,所述第一模型为所述第j个所述备选算法的N个模型中的其中一个;
将第i份所述测试数据中的输出数据和第i份所述预测数据,代入至预先确定的损失函数中,得到第i个损失值;
根据第1至第M个损失值,确定所述第一模型的损失值。
10.根据权利要求7所述的算法选择装置,其特征在于,所述第一参数确定模块在根据第j个所述备选算法的N个模型的损失值,确定第j个所述备选算法的目标参数时,具体用于:
计算第j个所述备选算法的N个模型的损失值的第一平均值b;
计算第j个所述备选算法的N个模型的损失值的方差v;
将所述第一平均值b和所述方差v,代入至预设公式E=k1*b+k2*v,得到第j个所述备选算法的目标参数E;
其中,k1和k2分别为预先确定的权重。
CN202110121910.5A 2021-01-28 2021-01-28 算法选择方法、装置和电子设备 Pending CN112766402A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110121910.5A CN112766402A (zh) 2021-01-28 2021-01-28 算法选择方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110121910.5A CN112766402A (zh) 2021-01-28 2021-01-28 算法选择方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN112766402A true CN112766402A (zh) 2021-05-07

Family

ID=75706552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110121910.5A Pending CN112766402A (zh) 2021-01-28 2021-01-28 算法选择方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN112766402A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626331A (zh) * 2021-08-12 2021-11-09 曙光信息产业(北京)有限公司 通信算法的选择方法、装置、计算机设备及存储介质
CN114331238A (zh) * 2022-03-17 2022-04-12 北京航天晨信科技有限责任公司 智能模型算法优选方法、***、存储介质及计算机设备
CN116700736A (zh) * 2022-10-11 2023-09-05 荣耀终端有限公司 一种应用推荐算法的确定方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626331A (zh) * 2021-08-12 2021-11-09 曙光信息产业(北京)有限公司 通信算法的选择方法、装置、计算机设备及存储介质
CN114331238A (zh) * 2022-03-17 2022-04-12 北京航天晨信科技有限责任公司 智能模型算法优选方法、***、存储介质及计算机设备
CN116700736A (zh) * 2022-10-11 2023-09-05 荣耀终端有限公司 一种应用推荐算法的确定方法及装置
CN116700736B (zh) * 2022-10-11 2024-05-31 荣耀终端有限公司 一种应用推荐算法的确定方法及装置

Similar Documents

Publication Publication Date Title
CN112766402A (zh) 算法选择方法、装置和电子设备
CN110766080B (zh) 一种标注样本确定方法、装置、设备及存储介质
CN108197652B (zh) 用于生成信息的方法和装置
CN114265979B (zh) 确定融合参数的方法、信息推荐方法和模型训练方法
CN111435463B (zh) 数据处理方法及相关设备、***
CN111178537B (zh) 一种特征提取模型训练方法及设备
CN112785005B (zh) 多目标任务的辅助决策方法、装置、计算机设备及介质
CN113240155A (zh) 预测碳排放量的方法、装置及终端
CN112561082A (zh) 生成模型的方法、装置、设备以及存储介质
CN116596095B (zh) 基于机器学习的碳排放量预测模型的训练方法及装置
CN111611390B (zh) 一种数据处理方法及装置
CN111159481B (zh) 图数据的边预测方法、装置及终端设备
CN113378067B (zh) 基于用户挖掘的消息推荐方法、设备、介质
CN114970357A (zh) 节能效果评价方法、***、装置及存储介质
CN115034379A (zh) 一种因果关系确定方法及相关设备
CN113869377A (zh) 训练方法、装置及电子设备
CN113961765B (zh) 基于神经网络模型的搜索方法、装置、设备和介质
CN111062449A (zh) 预测模型的训练方法、兴趣度预测方法、装置和存储介质
CN113409096B (zh) 目标对象识别方法、装置、计算机设备及存储介质
CN115618065A (zh) 一种数据处理方法及相关设备
CN113807391A (zh) 任务模型的训练方法、装置、电子设备及存储介质
CN109436980A (zh) 电梯部件的状态检测方法和***
CN114841265A (zh) 模型训练方法、装置、电子设备和可读存储介质
CN112767134A (zh) 样本筛选方法、装置和电子设备
CN118228993A (zh) 需求优先级的确定方法、装置、计算机设备和存储介质

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