机器学习模型训练方法和装置与流程

文档序号:15020781发布日期:2018-07-25 00:39阅读:212来源:国知局

本发明涉及计算机技术领域,特别是涉及一种机器学习模型训练方法和装置。



背景技术:

机器学习的过程,通常是指计算机根据输入的样本数据,通过一系列算法对输入的样本数据进行分析,以构建初始模型,并通过迭代训练来更新初始模型的模型参数,以得到最终合适的模型。

传统方法中,是通过梯度下降法(gradient descent)来对模型参数进行更新。其中,使用梯度下降法更新模型参数时,会计算损失函数的梯度,根据该梯度来对模型参数进行迭代更新,以将模型进行逐渐收敛来提高模型的准确率。

然而,传统的基于梯度下降法更新模型参数的方法,每次迭代对模型的准确率提高程度比较小,需要迭代更新的次数比较多,因而,需要耗费机器中较多资源来进行迭代更新。



技术实现要素:

基于此,有必要针对目前基于梯度下降法更新模型参数时,需要耗费机器中较多资源来进行迭代更新的技术问题,提供一种机器学习模型训练方法和装置。

一种机器学习模型训练方法,包括:

获取在本轮清洗脏样本数据前已有的纯净样本数据;

根据所述已有的纯净样本数据和机器学习模型的当前模型参数,确定所述机器学习模型的损失函数的第一二阶平均梯度;

获取本轮从脏样本数据中取部分脏样本数据清洗后得到的纯净样本数据;

根据本轮清洗得到的所述纯净样本数据和所述当前模型参数,确定所述损失函数的第二二阶平均梯度;

根据所述第一二阶平均梯度和所述第二二阶平均梯度,获得所述损失函数的整体二阶平均梯度;

根据所述整体二阶平均梯度调整所述当前模型参数;

当调整后的模型参数不满足训练结束条件时,将下一轮作为本轮,返回所述获取在本轮清洗脏样本数据前已有的纯净样本数据的步骤以继续训练,直至调整后的模型参数满足训练结束条件。

一种机器学习模型训练装置,包括:

样本数据获取模块,用于获取在本轮清洗脏样本数据前已有的纯净样本数据;

二阶平均梯度确定模块,用于根据所述已有的纯净样本数据和机器学习模型的当前模型参数,确定所述机器学习模型的损失函数的第一二阶平均梯度;

所述样本数据获取模块还用于获取本轮从脏样本数据中取部分脏样本数据清洗后得到的纯净样本数据;

所述二阶平均梯度确定模块还用于根据本轮清洗得到的所述纯净样本数据和所述当前模型参数,确定所述损失函数的第二二阶平均梯度;根据所述第一二阶平均梯度和所述第二二阶平均梯度,获得所述损失函数的整体二阶平均梯度;

模型参数调整模块,用于根据所述整体二阶平均梯度调整所述当前模型参数;当调整后的模型参数不满足训练结束条件时,将下一轮作为本轮,通知所述样本数据获取模块工作,直至调整后的模型参数满足训练结束条件。

上述机器学习模型训练方法和装置,根据已有纯净数据计算损失函数的第一二阶平均梯度,以及通过本轮清洗得到的纯净样本数据计算损失函数的第二二阶平均梯度,进而得到在当前模型参数下,损失函数的整体二阶平均梯度,通过损失函数的整体二阶平均梯度来对当前模型参数进行更新调整。其中,根据二阶平均梯度来更新模型参数对模型进行收敛的速度,比梯度下降法对模型进行收敛的速度更快,所需的迭代更新的次数就会减少,进而减少了模型参数更新过程中对机器资源的损耗。

附图说明

图1为一个实施例中电子设备的内部结构示意图;

图2为一个实施例中机器学习模型训练方法的流程示意图;

图3为一个实施例中损失函数的第二二阶平均梯度确定步骤的流程示意图;

图4为另一个实施例中机器学习模型训练方法的流程示意图;

图5为一个实施例中机器学习模型训练装置的结构示意图;

图6为另一个实施例中机器学习模型训练装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为一个实施例中电子设备的内部结构示意图。该电子设备可以是终端或者服务器。终端可以是个人计算机或者移动电子设备,移动电子设备包括手机、平板电脑、个人数字助理或者穿戴式设备等中的至少一种。服务器可以用独立的服务器或者是多个物理服务器组成的服务器集群来实现。如图1所示,该电子设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该电子设备的非易失性存储介质可存储操作系统和计算机可读指令,该计算机可读指令被执行时,可使得处理器执行一种机器学习模型训练方法。该电子设备的处理器用于提供计算和控制能力,支撑整个电子设备的运行。该电子设备的内存储器可存储计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种机器学习模型训练方法。该电子设备的网络接口用于连接网络进行通信。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图2为一个实施例中机器学习模型训练方法的流程示意图。本实施例主要以该方法应用于上述图1中的电子设备来举例说明。参照图2,该机器学习模型训练方法具体包括如下步骤:

S202,获取在本轮清洗脏样本数据前已有的纯净样本数据。

具体地,电子设备可以根据全部样本数据进行机器学习训练得到机器学习模型的初始模型,并对全部样本数据逐轮进行脏样本数据的清洗,以对初始模型进行逐轮调整收敛,提高模型的准确率。其中,对模型进行调整收敛,可以通过对该模型的模型参数进行调整来实现。

在每轮清洗脏样本数据的过程中,电子设备可以获取在本轮清洗脏样本数据前已有的纯净样本数据。在一个实施例中,已有的纯净样本数据,可以是在本轮清洗脏样本数据之前,已经经过清洗得到的符合要求的样本数据。脏样本数据,可以是全部样本数据中尚未被清洗的样本数据。

比如,第一轮清洗前,脏样本数据可以为全部样本数据100条,不存在已有的纯净样本数据,第一轮清洗10条脏样本数据,得到10条清洗后的纯净样本数据,那么在第二轮清洗前,已有纯净数据则为这10条经过清洗得到的纯净样本数据,脏样本数据则为100-10=90条。

S204,根据已有的纯净样本数据和机器学习模型的当前模型参数,确定机器学习模型的损失函数的第一二阶平均梯度。

其中,当前模型参数,指本轮进行模型参数调整前,机器学习模型的模型参数。损失函数,用于评价机器学习模型的预测值和真实值的不一致程度,损失函数值越小,机器学习模型的性能就越好。

梯度,为一个向量,用于表示损失函数值变化最大的方向和损失函数值的最大变化率。二阶梯度,指根据损失函数的二阶导数或近似二阶导数得到的损失函数值的最大变化方向和最大变化率。其中,近似二阶导数,指对损失函数通过非二次求导得到的、与对损失函数进行二次求导得到的二阶导数在梯度属性上相近似的导数。

损失函数的第一二阶平均梯度,指分别根据本轮清洗脏样本数据前至少一个已有的纯净样本数据,求取的该机器学习模型的损失函数在当前模型参数下的至少一个的二阶梯度的平均值。

S206,获取本轮从脏样本数据中取部分脏样本数据清洗后得到的纯净样本数据。

其中,脏样本数据,指本轮清洗前,全部样本数据中除在本轮清洗脏样本数据前已有的纯净样本数据之外的样本数据,可以理解,这里的脏样本数据指当前全部脏样本数据。

比如,全部样本数据有100条,本轮清洗脏样本数据前已有的纯净样本数据有20条,那么,脏样本数据则为100-20=80条。部分脏样本数据,指从当前全部脏样本数据中按照预设规则抽取的一部分脏样本数据。比如,从80条脏样本数据中抽取10条脏样本数据,所抽取的10条脏样本数据即为部分脏样本数据。

电子设备可以对本轮从脏样本数据中抽取的部分脏样本数据进行清洗,得到本轮清洗后的纯净样本数据。电子设备也可以直接从样本数据清洗设备中获取对本轮从脏样本数据中抽取的部分样本数据清洗后得到的纯净样本数据。

S208,根据本轮清洗得到的纯净样本数据和当前模型参数,确定损失函数的第二二阶平均梯度。

其中,二阶梯度,指根据损失函数的二阶导数或近似二阶导数得到的损失函数值的最大变化方向和最大变化率。其中,近似二阶导数,指对损失函数通过非二次求导得到的、与对损失函数进行二次求导得到的二阶导数在梯度属性上相近似的导数。损失函数的第二二阶平均梯度,指分别根据本轮清洗得到的纯净样本数据,求取的该机器学习模型的损失函数在当前模型参数下的至少一个的二阶梯度的平均值。

S210,根据第一二阶平均梯度和第二二阶平均梯度,获得损失函数的整体二阶平均梯度。

具体地,电子设备可以对第一二阶平均梯度和第二二阶平均梯度进行加权平均计算,得到损失函数的整体二阶平均梯度。

在一个实施例中,步骤S210包括:将第一二阶平均梯度和第二二阶平均梯度,分别按照相应的第一权重和第二权重加权求和,得到损失函数的整体二阶平均梯度。其中,第一权重,为本轮清洗脏样本数据前已有的纯净样本数据占全部样本数据的占比;第二权重,为本轮清洗脏样本数据前的脏样本数据占全部样本数据的占比。

其中,本轮清洗脏样本数据前的脏样本数据,指本轮清洗脏样本数据前,全部样本数据中除了本轮清洗脏样本数据前已有的纯净样本数据之外的样本数据。

在一个实施例中,可以根据以下公式计算出损失函数的整体二阶平均梯度:

其中,g(θ)为损失函数的整体二阶平均梯度,Rclean为在本轮清洗脏样本数据前已有的纯净数据,R为全部样本数据,|Rclean|为在本轮清洗脏样本数据前已有的纯净数据的数量,|R|为全部样本数据量,gc(θ)为损失函数的第一二阶平均梯度,c是clean的缩写,用于标注本轮清洗脏样本数据前已有的纯净数据;Rdirty为本轮清洗脏样本数据前的脏样本数据,|Rdirty|为在本轮清洗脏样本数据前已有的纯净数据的数量,gs(θ)为损失函数的第二二阶平均梯度,s是sample的缩写。其中,|R|=|Rdirty|+|Rclean|。为第一权重,为第二权重。

S212,根据整体二阶平均梯度调整当前模型参数。

其中,根据整体二阶平均梯度调整当前模型参数,指沿着损失函数的整体二阶平均梯度下降方向,以整体二阶平均梯度值为下降长度调整当前模型参数的值,以使损失函数值以最大变化率减小。

电子设备可以单独根据整体二阶平均梯度调整当前模型参数,也可以根据学习速率和整体二阶平均梯度调整当前模型参数。当根据学习速率和整体二阶平均梯度调整当前模型参数时,电子设备可以是沿着损失函数的整体二阶平均梯度下降方向,以学习速率和整体二阶平均梯度值的乘积为下降长度,来调整当前模型参数的值,以使损失函数值以最大变化率减小。

其中,学习速率,用于调节损失函数的梯度下降步幅。学习速率可以是固定值,也可以是在调整模型参数的过程中进行相应变化的动态值。

在一个实施例中,可以根据以下公式调整当前模型参数:

其中,θnew为调整后的模型参数,θ(d)为当前模型参数,γ为学习速率,为损失函数在当前模型参数θ(d)下的整体二阶平均梯度。

S214,当调整后的模型参数不满足训练结束条件时,将下一轮作为本轮,返回S202以继续训练,直至调整后的模型参数满足训练结束条件。

其中,训练结束条件,可以是迭代清洗的次数达到预设次数。具体地,电子设备可以判断迭代清洗的次数是否达到预设次数,若是,则判定调整后的模型参数满足训练结束条件。训练结束条件也可以是,在进行清洗更新后,损失函数值的变化率在一个预设范围内。具体地,电子设备可以判断损失函数值的变化率是否在一个预设范围内,若是,则可判定调整的模型参数满足训练结束条件。

上述机器学习模型训练方法,根据已有纯净数据计算损失函数的第一二阶平均梯度,以及通过本轮清洗得到的纯净样本数据计算损失函数的第二二阶平均梯度,进而得到在当前模型参数下,损失函数的整体二阶平均梯度,通过损失函数的整体二阶平均梯度来对当前模型参数进行更新调整。其中,根据二阶平均梯度来更新模型参数对模型进行收敛的速度,比梯度下降法对模型进行收敛的速度更快,所需的迭代更新的次数就会减少,进而减少了模型参数更新过程中机器资源的损耗。

此外,电子设备通过已有的纯净样本数据和本轮清洗得到的纯净样本数据;来求取损失函数的整体二阶平均梯度,保证了基于纯净的样本数据来调整模型参数,避免了基于纯净数据和脏数据的混合数据调整模型参数带来的错误影响,提高了模型参数调整的准确率。

在一个实施例中,步骤S204包括:将已有的纯净样本数据和机器学习模型的当前模型参数代入损失函数;求取代入已有的纯净样本数据和当前模型参数的损失函数的第一一阶偏导数和第一二阶偏导矩阵;根据第一二阶偏导矩阵的逆矩阵和第一一阶偏导数,确定机器学习模型的损失函数的第一二阶平均梯度。

其中,第一一阶偏导数,指在模型参数为当前模型参数时,求取的代入已有的纯净样本数据的损失函数的导数。第一二阶偏导矩阵,指在模型参数为当前模型参数时,对代入已有的纯净样本数据的损失函数进行二次求导得到的导数。其中,对损失函数进行二次求导得到的导数为矩阵。二次求导即对损失函数的第一一阶偏导数再求导数。第一二阶偏导矩阵的逆矩阵,可以是电子设备对第一二阶偏导矩阵进行逆运算得到逆矩阵。第一二阶偏导矩阵的逆矩阵,也可以是第一二阶偏导矩阵的逆矩阵的近似矩阵。已有的纯净样本数据为一条或多条。

当已有的纯净样本数据为一条时,电子设备可以直接将基于该已有的纯净样本数据求取的第一一阶偏导数和第一二阶偏导矩阵的逆矩阵乘积作为损失函数的第一二阶平均梯度。

当已有的纯净样本数据为多条时,电子设备则可以分别求取基于各条已有的纯净样本数据得到的第一一阶偏导数和第一二阶偏导矩阵的逆矩阵的乘积,得到损失函数的第一二阶分梯度,然后求取多个第一二阶分梯度的平均值,得到损失函数的第一二阶平均梯度。

在一个实施例中,步骤S204包括:按照以下公式计算机器学习模型的损失函数的第一二阶平均梯度:

其中,gc(θ)为第一二阶平均梯度;c是clean的缩写,表示用于计算第一二阶平均梯度的样本数据为纯净的数据;Rclean为已有的纯净样本数据;φ()表示损失函数;H(φ())表示损失函数的二阶偏导矩阵;为已有的纯净样本数据中第i个输入数据;为已有的纯净样本数据中第i个输出数据;θ为当前模型参数;为损失函数的第一二阶偏导矩阵的逆矩阵;为损失函数的第一一阶偏导数;则为第一二阶分梯度。

在一个实施例中,步骤S208包括:将本轮清洗得到的纯净样本数据和当前模型参数代入损失函数;求取代入本轮清洗得到的纯净样本数据和当前模型参数的损失函数的第二一阶偏导数和第二二阶偏导矩阵;根据第二二阶偏导矩阵的逆矩阵和第二一阶偏导数,确定损失函数的第二二阶平均梯度。

其中,第二一阶偏导数,指在模型参数为当前模型参数时,求取的代入本轮清洗得到的纯净样本数据的损失函数的导数。第二二阶偏导矩阵,指在模型参数为当前模型参数时,对代入本轮清洗得到的纯净样本数据的损失函数进行二次求导得到的导数,其中,对损失函数进行二次求导得到的导数为矩阵。其中,二次求导即对损失函数的第二一阶偏导数再求导数。其中,第二二阶偏导矩阵的逆矩阵,可以是电子设备对第二二阶偏导矩阵进行逆运算得到逆矩阵。第二二阶偏导矩阵的逆矩阵,也可以是第二二阶偏导矩阵的逆矩阵的近似矩阵。其中,本轮清洗得到的纯净样本数据为一条或多条。

当本轮清洗得到的纯净样本数据为一条时,电子设备可以直接将基于该本轮清洗得到的纯净样本数据求取的第二一阶偏导数和第二二阶偏导矩阵的逆矩阵的乘积作为损失函数的第二二阶平均梯度。

当本轮清洗得到的纯净样本数据为多条时,电子设备则可以分别求取基于各条本轮清洗得到的纯净样本数据得到的第二一阶偏导数和第二二阶偏导矩阵的逆矩阵的乘积,得到损失函数的第二二阶分梯度,然后求取多个第二二阶分梯度的平均值,得到损失函数的第二二阶平均梯度。

图3为一个实施例中根据第二二阶偏导矩阵的逆矩阵和第二一阶偏导数,确定损失函数的第二二阶平均梯度的步骤(简称损失函数的第二二阶平均梯度确定步骤)的流程示意图。如图3所示,损失函数的第二二阶平均梯度确定步骤具体包括以下步骤:

S302,获取本轮清洗得到的各纯净样本数据对应的脏样本数据的抽样概率。

其中,从全部脏样本数据中抽取部分脏样本数据进行清洗时,全部脏样本数据中的各个脏样本数据都对应于一个可以被抽取的概率,该概率即为抽样概率。其中,抽样概率与对脏样本数据被清洗干净后对模型准确率的提升程度成正比。比如,脏样本数据d1对应的抽样概率为60%,脏样本数据d2对应的抽样概率为50%,那么,对脏样本数据d1清洗后对模型准确率的提升程度比对脏样本数据d2清洗后对模型准确率的提升程度要高。

S304,对于本轮清洗得到的每条纯净样本数据,求取对应的第二二阶偏导矩阵的逆矩阵和第二一阶偏导数的乘积与对应的脏样本数据的抽样概率的比值。

其中,与本轮清洗得到的每条纯净样本数据对应的第二二阶偏导矩阵的逆矩阵和第二一阶偏导数,指将本轮清洗得到的每条纯净样本数据分别代入损失函数,求取的当前模型参数下损失函数的第二二阶偏导矩阵的逆矩阵和第二一阶偏导数。比如,本轮清洗得到的纯净样本数据c1所对应的第二二阶偏导矩阵的逆矩阵和第二一阶偏导数,即为将样本数据c1代入损失函数,求取的当前模型参数下损失函数的第二二阶偏导矩阵的逆矩阵和第二一阶偏导数。

与本轮清洗得到的每条纯净样本数据对应的脏样本数据,指与本轮清洗得到的每条纯净样本数据在本轮清洗前后具有状态转换关系的脏数据。即对本轮清洗前的脏样本数据进行清洗,得到本轮清洗后的对应的纯净样本数据。比如,本轮对脏样本数据d1进行清洗,得到纯净样本数据c1,则d1则为与本轮清洗得到的纯净样本数据c1对应的脏样本数据。

具体地,电子设备在获得本轮清洗得到的每条纯净样本数据所对应的第二二阶偏导矩阵的逆矩阵和第二一阶偏导数时,可以求取第二二阶偏导矩阵的逆矩阵和第二一阶偏导数的乘积,并求取该乘积与本轮清洗得到的该纯净样本数据所对应的脏样本数据的抽样概率的比值,得到至少一个比值。

S306,求各比值的平均值,得到损失函数的第二二阶平均梯度。

具体地,电子设备可以根据本轮从脏样本数据中取部分脏样本数据的数量,求取各个比值的平均值,得到损失函数的第二二阶平均梯度。

在一个实施例中,步骤S306包括:按照以下公式计算所述损失函数的第二二阶平均梯度:

其中,gs(θ)为第二二阶平均梯度;s为本轮清洗得到的纯净样本数据;c是clean的缩写,表示用于计算第二二阶平均梯度的样本数据为纯净的数据;p(i)为本轮抽取的第i个脏样本数据的抽样概率;φ()表示损失函数;H(φ())表示损失函数的二阶偏导矩阵;为本轮清洗得到的纯净样本数据中第i个输入数据;为本轮清洗得到的纯净样本数据中第i个输出数据;θ为当前模型参数;为损失函数的第二二阶偏导矩阵的逆矩阵;为损失函数的第二一阶偏导数。

本实施例中,对于本轮清洗得到的每条纯净样本数据,求取对应的第二二阶偏导矩阵的逆矩阵和第二一阶偏导数的乘积与对应的脏样本数据的抽样概率的比值,来求取损失函数的第二二阶平均梯度。其中,抽样概率与对脏样本数据被清洗干净后对模型准确率的提升程度成正比。即在求取损失函数的第二二阶平均梯度时,增加了对脏样本数据被清洗干净后对模型准确率的提升程度的考量,使得求取的损失函数的第二二阶平均梯度更加的准确。

在一个实施例中,脏样本数据包括用户特征样本数据和相应标定的用户画像标签。该方法还包括:当调整后的模型参数满足训练结束条件后,则获取用户特征数据,将用户特征数据输入已调整模型参数的机器学习模型,输出用户画像标签。

其中,用户画像是根据用户社会属性、生活习惯和消费行为等能够反映用户特征的数据而抽象出的一个标签化的用户模型。用户画像标签,是通过对用户信息分析而来的高度精炼的特征标识。

用户特征样本数据指表征用户特征的样本数据。在一个实施例中,用户特征样本数据包括用户的社会属性、生活习惯和消费行为等数据。

当调整后的模型参数满足训练结束条件后,即可以得到符合需求的用户画像机器学习模型。获取用户特征数据,将用户特征数据输入已调整模型参数的用户画像机器学习模型,则输出与该用户特征数据相应的用户画像标签。根据满足训练结束条件的模型参数对应的用户画像机器学习模型来输出与用户特征数据对应的用户画像标签,能够提高输出的用户画像标签的准确率。

在一个实施例中,如图4所示,提供了另一种机器学习模型训练方法,该方法包括以下步骤:

S402,获取在本轮清洗脏样本数据前已有的纯净样本数据。

S404,将已有的纯净样本数据和机器学习模型的当前模型参数代入损失函数。

S406,求取代入已有的纯净样本数据和当前模型参数的损失函数的第一一阶偏导数和第一二阶偏导矩阵。

S408,根据第一二阶偏导矩阵的逆矩阵和第一一阶偏导数,确定机器学习模型的损失函数的第一二阶平均梯度。

在一个实施例中,可以按照以下公式计算机器学习模型的损失函数的第一二阶平均梯度:

其中,gc(θ)为第一二阶平均梯度;c是clean的缩写,表示用于计算第一二阶平均梯度的样本数据为纯净的数据;Rclean为已有的纯净样本数据;φ()表示损失函数;H(φ())表示损失函数的二阶偏导矩阵;为已有的纯净样本数据中第i个输入数据;为已有的纯净样本数据中第i个输出数据;θ为当前模型参数;为损失函数的第一二阶偏导矩阵的逆矩阵;为损失函数的第一一阶偏导数。

S410,获取本轮从脏样本数据中取部分脏样本数据清洗后得到的纯净样本数据,其中,脏样本数据包括用户特征样本数据和相应标定的用户画像标签。

S412,将本轮清洗得到的纯净样本数据和当前模型参数代入损失函数。

S414,求取代入本轮清洗得到的纯净样本数据和当前模型参数的损失函数的第二一阶偏导数和第二二阶偏导矩阵。

S416,获取本轮清洗得到的各纯净样本数据对应的脏样本数据的抽样概率。

S418,对于本轮清洗得到的每条纯净样本数据,求取对应的第二二阶偏导矩阵的逆矩阵和第二一阶偏导数的乘积与对应的脏样本数据的抽样概率的比值。

S420,求各比值的平均值,得到损失函数的第二二阶平均梯度。

在一个实施例中,可以按照以下公式计算损失函数的第二二阶平均梯度:

其中,gs(θ)为第二二阶平均梯度;s为本轮清洗得到的纯净样本数据;c是clean的缩写,表示用于计算第二二阶平均梯度的样本数据为纯净的数据;p(i)为本轮抽取的第i个脏样本数据的抽样概率;φ()表示损失函数;H(φ())表示损失函数的二阶偏导矩阵;为本轮清洗得到的纯净样本数据中第i个输入数据;为本轮清洗得到的纯净样本数据中第i个输出数据;θ为当前模型参数;为损失函数的第二二阶偏导矩阵的逆矩阵;为损失函数的第二一阶偏导数。

S422,将第一二阶平均梯度和第二二阶平均梯度,分别按照相应的第一权重和第二权重加权求和,得到损失函数的整体二阶平均梯度。

其中,第一权重,为本轮清洗脏样本数据前已有的纯净样本数据占全部样本数据的占比。第二权重,为本轮清洗脏样本数据前的脏样本数据占全部样本数据的占比。

在一个实施例中,可以根据以下公式计算出损失函数的整体二阶平均梯度:

其中,g(θ)为损失函数的整体二阶平均梯度,Rclean为在本轮清洗脏样本数据前已有的纯净数据,R为全部样本数据,|Rclean|为在本轮清洗脏样本数据前已有的纯净数据的数量,|R|为全部样本数据量,gc(θ)为损失函数的第一二阶平均梯度,c是clean的缩写,用于标注本轮清洗脏样本数据前已有的纯净数据;Rdirty为本轮清洗脏样本数据前的脏样本数据,|Rdirty|为在本轮清洗脏样本数据前已有的纯净数据的数量,gs(θ)为损失函数的第二二阶平均梯度,s是sample的缩写。其中,|R|=|Rdirty|+|Rclean|。为第一权重,为第二权重。

S424,根据整体二阶平均梯度调整当前模型参数。

在一个实施例中,可以根据以下公式调整当前模型参数:

其中,θnew为调整后的模型参数,θ(d)为当前模型参数,γ为学习速率,为损失函数在当前模型参数θ(d)下的整体二阶平均梯度。

S426,判断调整后的模型参数是否满足训练结束条件,若否,则将下一轮作为本轮,返回步骤S402,若是,则进入步骤S428。

S428,获取用户特征数据,将用户特征数据输入已调整模型参数的机器学习模型,输出用户画像标签。

上述机器学习模型训练方法,根据已有纯净数据计算损失函数的第一二阶平均梯度,以及通过本轮清洗得到的纯净样本数据计算损失函数的第二二阶平均梯度,进而得到在当前模型参数下,损失函数的整体二阶平均梯度,通过损失函数的整体二阶平均梯度来对当前模型参数进行更新调整。其中,根据二阶平均梯度来更新模型参数对模型进行收敛的速度,比梯度下降法对模型进行收敛的速度更快,所需的迭代更新的次数就会减少,进而减少了模型参数更新过程中机器资源的损耗。

此外,电子设备通过已有的纯净样本数据和本轮清洗得到的纯净样本数据;来求取损失函数的整体二阶平均梯度,保证了基于纯净的样本数据来调整模型参数,避免了基于纯净数据和脏数据的混合数据调整模型参数带来的错误影响,提高了模型参数调整的准确率。

其次,在求取损失函数的第二二阶平均梯度时,增加了对脏样本数据被清洗干净后对模型准确率的提升程度的考量,使得求取的损失函数的第二二阶平均梯度更加的准确。

然后,根据满足训练结束条件的模型参数对应的用户画像机器学习模型来输出与用户特征数据对应的用户画像标签,能够提高输出的用户画像标签的准确率。

如图5所示,在一个实施例中,提供了一种机器学习模型训练装置500,该装置500包括:样本数据获取模块502、二阶平均梯度确定模块504以及模型参数调整模块506,其中:

样本数据获取模块502,用于获取在本轮清洗脏样本数据前已有的纯净样本数据。

二阶平均梯度确定模块504,用于根据已有的纯净样本数据和机器学习模型的当前模型参数,确定机器学习模型的损失函数的第一二阶平均梯度。

样本数据获取模块502还用于获取本轮从脏样本数据中取部分脏样本数据清洗后得到的纯净样本数据。

二阶平均梯度确定模块504还用于根据本轮清洗得到的纯净样本数据和当前模型参数,确定损失函数的第二二阶平均梯度;根据第一二阶平均梯度和第二二阶平均梯度,获得损失函数的整体二阶平均梯度。

模型参数调整模块506,用于根据整体二阶平均梯度调整当前模型参数;当调整后的模型参数不满足训练结束条件时,将下一轮作为本轮,通知样本数据获取模块502工作,直至调整后的模型参数满足训练结束条件。

在一个实施例中,二阶平均梯度确定模块504还用于将已有的纯净样本数据和机器学习模型的当前模型参数代入损失函数;求取代入已有的纯净样本数据和当前模型参数的损失函数的第一一阶偏导数和第一二阶偏导矩阵;根据第一二阶偏导矩阵的逆矩阵和第一一阶偏导数,确定机器学习模型的损失函数的第一二阶平均梯度。

在一个实施例中,二阶平均梯度确定模块504还用于按照以下公式计算机器学习模型的损失函数的第一二阶平均梯度:

其中,gc(θ)为第一二阶平均梯度;c是clean的缩写,表示用于计算第一二阶平均梯度的样本数据为纯净的数据;Rclean为已有的纯净样本数据;φ()表示损失函数;H(φ())表示损失函数的二阶偏导矩阵;为已有的纯净样本数据中第i个输入数据;为已有的纯净样本数据中第i个输出数据;θ为当前模型参数;为损失函数的第一二阶偏导矩阵的逆矩阵;为损失函数的第一一阶偏导数。

在一个实施例中,二阶平均梯度确定模块504还用于将本轮清洗得到的纯净样本数据和当前模型参数代入损失函数;求取代入本轮清洗得到的纯净样本数据和当前模型参数的损失函数的第二一阶偏导数和第二二阶偏导矩阵;根据第二二阶偏导矩阵的逆矩阵和第二一阶偏导数,确定损失函数的第二二阶平均梯度。

在一个实施例中,二阶平均梯度确定模块504还用于获取本轮清洗得到的各纯净样本数据对应的脏样本数据的抽样概率;对于本轮清洗得到的每条纯净样本数据,求取对应的第二二阶偏导矩阵的逆矩阵和第二一阶偏导数的乘积与对应的脏样本数据的抽样概率的比值;求各比值的平均值,得到损失函数的第二二阶平均梯度。

在一个实施例中,二阶平均梯度确定模块504还用于按照以下公式计算损失函数的第二二阶平均梯度:

其中,gs(θ)为第二二阶平均梯度;s为本轮清洗得到的纯净样本数据;c是clean的缩写,表示用于计算第二二阶平均梯度的样本数据为纯净的数据;p(i)为本轮抽取的第i个脏样本数据的抽样概率;φ()表示损失函数;H(φ())表示损失函数的二阶偏导矩阵;为本轮清洗得到的纯净样本数据中第i个输入数据;为本轮清洗得到的纯净样本数据中第i个输出数据;θ为当前模型参数;为损失函数的第二二阶偏导矩阵的逆矩阵;为损失函数的第二一阶偏导数。

如图6所示,在一个实施例中,脏样本数据包括用户特征样本数据和相应标定的用户画像标签。该装置500还包括:

用户画像标签输出模块508,用于当调整后的模型参数满足训练结束条件后,则获取用户特征数据,将用户特征数据输入已调整模型参数的机器学习模型,输出用户画像标签。

需要说明的是,本申请所使用的术语“第一”和“第二”仅用于区分,并不用于对顺序、大小、从属等方面的限定。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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