一种自动多阀值特征过滤方法及装置与流程

文档序号:11277083阅读:244来源:国知局
一种自动多阀值特征过滤方法及装置与流程

本发明属于人工智能技术领域,尤其涉及一种自动多阀值特征过滤方法及装置。



背景技术:

超大规模机器学习算法是当前互联网公司实现搜索查询结果排序、互联网广告点击率预测、商品个性化推荐、语音识别、智能问答等系统的基础技术支撑。不断扩大的数据规模在提升算法应用效果的同时,也对大规模数据处理带来了极大的理论和工程实践的挑战。高效的数据处理成为互联网大数据应用的核心技术。

互联网数据通常都非常稀疏,所以在使用互联网数据对机器学习模型进行训练后,会得到稀疏模型,而且稀疏模型方便后续存储和预测。在极度稀疏的互联网数据训练中应用高效的特征过滤算法,可以有效地去除不相关的特征和冗余特征,提高学习算法的泛化性能和运行效率,对于训练机器学习模型具有较大的帮助。

互联网公司用于机器学习模型训练的大规模数据,一般由若干样本数据组成,每个样本由固定数目的特征集合组成。以下是一个例子:

一个样本特征:{feature_1,feature_2,…,feature_n};

由于互联网大数据样本特征非常稀疏,大部分特征(feature)都是0,所以可以应用某种机制把某些特征过滤掉,不参与后续的模型训练,这样将会极大的提升机器学习模型的训练效率。

现有的特征过滤方法通常通过人工设置一个固定的阈值进行过滤,例如:

设置一个固定的过滤阈值r;

根据样本数据算得梯度g;

根据某维梯度值gi和其他模型参数算得一个值x,比较x与r的大小,如果x小于r则过滤掉该维特征。

可见现有的特征过滤方法中用于过滤的阈值需要人工指定,所以过滤的效果强依赖人的经验,过滤效果不稳定,因为过滤的阈值不能根据样本数据自动调整,导致训练得到的模型预测精度降低;并且阈值只有一个而且是固定的,不能根据训练的情况动态调整阈值,所以不能很好地过滤所有特征。由于阈值的大小不好确定,如果阈值选择不好,会导致训练得到的机器学习模型不可靠,预测精度降低。



技术实现要素:

本发明的目的是提供一种自动多阀值特征过滤方法及装置,以解决现有技术的特征过滤方法只能使用固定阀值进行特征过滤,造成训练效率不高及训练得到的机器学习模型不够精确的问题。

为了实现上述目的,本发明技术方案如下:

一种自动多阀值特征过滤方法,用于在机器学习模型训练时对样本数据进行特征过滤,所述特征过滤方法包括:

根据上一轮迭代的结果计算本轮迭代的特征过滤阈值及特征相关值;

根据计算得到的特征过滤阈值和特征相关值,对样本进行特征过滤。

进一步地,所述特征过滤阀值为样本数据中各维度特征在上一轮迭代时得到的梯度中最大梯度与样本数据数量的比值。

进一步地,所述根据上一轮迭代的结果计算本轮迭代的特征相关值,包括:

根据上一轮迭代的结果计算本轮迭代样本数据各维度特征的梯度;

根据各维度特征的梯度计算对应的特征相关值。

进一步地,所述各维度特征的特征相关值为各维度的梯度的线性函数。

进一步地,所述根据计算得到的特征过滤阈值和特征相关值,对样本进行特征过滤,包括:

如果各维度特征相关值小于本维度特征过滤阈值,则本维特征被过滤掉,不参与后续迭代计算,否则保留本维特征,继续参与后续迭代计算。

本发明同时提出了一种自动多阀值特征过滤装置,用于在机器学习模型训练时对样本数据进行特征过滤,所述特征过滤装置包括:

计算模块,用于根据上一轮迭代的结果计算本轮迭代的特征过滤阈值及特征相关值;

特征过滤模块,用于根据计算得到的特征过滤阈值和特征相关值,对样本进行特征过滤。

进一步地,所述特征过滤阀值为样本数据中各维度特征在上一轮迭代时得到的梯度中最大梯度与样本数据数量的比值。

进一步地,所述计算模块在根据上一轮迭代的结果计算本轮迭代的特征相关值时,执行如下步骤:

根据上一轮迭代的结果计算本轮迭代样本数据各维度特征的梯度;

根据各维度特征的梯度计算对应的特征相关值。

进一步地,所述各维度特征的特征相关值为各维度的梯度的线性函数。

进一步地,所述特征过滤模块根据计算得到的特征过滤阈值和特征相关值,对样本进行特征过滤,执行如下步骤:

如果各维度特征相关值小于本维度特征过滤阈值,则本维特征被过滤掉,不参与后续迭代计算,否则保留本维特征,继续参与后续迭代计算。

本发明提出了一种自动多阀值特征过滤方法及装置,突破了现有人工设置单阈值进行特征过滤的方式,可以根据每批样本数据的迭代结果自动计算出多个阈值来过滤特征,极大的提升了训练速度和训练得到的机器学习模型的精准度。

附图说明

图1为本发明自动多阀值特征过滤方法流程图;

图2为本发明自动多阀值特征过滤装置结构示意图。

具体实施方式

下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。

互联网业务中有大量原始用户数据,比如在广告点击和商品推荐业务中为了提升点击率和商品推荐的精度会使用大量原始样本数据训练一个机器学习模型。样本数据有多维特征,比如价格、商品类目等,这些特征对效果的提升不一样,有的特征可能对效果没有提升作用,可以把这个特征过滤掉,而有效果的特征会保留下来,这些保留下来的特征最后通过训练会得到不同的权重,这些权重就是得到的机器学习模型对应的模型参数。在机器学习模型的训练过程中,需要通过不断迭代计算来得到机器学习模型对应的模型参数。本发明的总体思路就是在机器学习模型训练的每一轮迭代的过程中,根据当前模型参数来计算特征过滤值,并使用计算得到的特征过滤值来进行特征过滤。

如图1所示,本实施例自动多阀值特征过滤方法,包括:

步骤s1、根据上一轮迭代的结果计算本轮迭代的特征过滤阈值及特征相关值。

本实施例以一个典型的机器学习过程为例,假设机器学习模型的估计函数为:

hθ(x)=θ0+θ1x1+…+θnxn公式1

其中θ为模型参数,x为样本特征,两者都为矢量,xi为第i维特征。

在机器学习中还定义了损失函数j(θ)来评估θ是否比较好,调整θ以使得j(θ)取得最小值。为了达到这个目的,需要根据最小二乘法或梯度下降法进行迭代直到最终收敛取得一个θ值使得j(θ)最小。

本实施例以梯度下降法为例,计算第k轮梯度gk的公式如下:

关于机器学习模型的训练过程以及梯度下降方法这里不再赘述,本实施例利用上述过程中迭代结果来计算特征过滤阈值。具体计算方法如下:

假设第k轮迭代的特征过滤阈值为rk,则:

其中,l为样本数量,g(k-1)i为第k-1轮第i维特征对应的梯度值。

需要说明的是,本实施例根据原始样本数据样本数量l以及梯度gk计 算出特征过滤阀值rk,该计算可以采用多种算法实现,并不依赖某种特定的算法。例如还可以根据梯度gk以及样本特征的维度来进行计算,或者是根据梯度gk以及样本特征的显著性参数来进行计算,这里不一一赘述。

同理,本实施例还需要计算出第k轮第i维特征对应的特征相关值ski,计算公式如下:

ski=gki+δ公式4

其中,δ为固定常数。可见本实施例特征过滤阈值rk根据上一轮迭代的梯度g(k-1)i来计算,而特征相关值根据本轮的梯度gki来计算,各维度特征的特征相关值为各维度的梯度的线性函数。

为此需要根据公式2先计算出本轮迭代的梯度gk,关于梯度的计算,这里不再赘述。在第一轮迭代的时候,由于没有上一轮的梯度数据,不进行特征过滤。

需要说明的是,本实施例特征过滤阈值与特征相关值的计算参数需要统一,即特征过滤阈值根据梯度来计算,则特征相关值也根据梯度来计算,但是具体的计算公式根据训练模型的不同,可以设计的不一样,即使是训练相同模型也可以设计的不一样。比如在逻辑斯特回归(lr)模型训练中,固定阈值过滤特征的kkt方法,计算相关值的公式就是:si=gi+δ。本实施例特征相关值与此不同之处在于,对每轮迭代计算不同的特征相关值。本发明并不限于具体的特征过滤阈值与特征相关值的计算方法。

步骤s2、根据计算得到的特征过滤阈值和特征相关值,对样本进行特征过滤。

步骤s1已经计算得到特征过滤阈值和特征相关值,本步骤通过比较特征过滤阈值gki和过滤阈值ski之间的大小,对样本进行特征过滤。具体地:

如果ski小于gki,则第i维特征被过滤掉,不参与后续计算,否则保留第i维特征,继续参与后续计算。

通过特征过滤后,原始样本数据将有部分维度的特征被过滤掉,过滤完成后的数据将作为新的样本数据导入系统进行下一轮迭代,直到达到迭代终止条件。

需要说明的是,由于特征过滤阀值gki以及样本数据的每维特征的特征相关值ski都和梯度gki相关,而梯度gki是根据样本数据、损失函数和模型参数算得的,每轮迭代中的样本数据和模型参数都不同,因此每轮迭代中算出来的特征过滤阀值和样本数据的每维特征的相关值ski都不同。

容易理解的是,随着迭代次数的增加,被过滤掉的无效特征会越来越多,每轮迭代中计算出来的特征过滤阀值也会越来越精确,这会极大地加快训练的速度。

关于迭代计算的终止条件,根据具体的算法而定,例如完成上一轮迭代后不再有新的特征被过滤掉,或者迭代次数超过设定的最大值,这里不再赘述。迭代完成后保留下来的特征最后通过训练会得到不同的模型参数,根据这些模型参数就得到机器学习模型。

如图2所示,与上述方法对应地,本实施例同时提出了一种自动多阀值特征过滤装置,用于在机器学习模型训练时对样本数据进行特征过滤,该装置包括:

计算模块,用于根据上一轮迭代的结果计算本轮迭代的特征过滤阈值及特征相关值;

特征过滤模块,用于根据计算得到的特征过滤阈值和特征相关值,对样本进行特征过滤。

在本实施例中,特征过滤阀值为样本数据中各维度特征在上一轮迭代时得到的梯度中最大梯度与样本数据数量的比值。计算模块根据上一轮迭代的结果计算本轮迭代的特征过滤阈值及特征相关值,其中计算模块在根据上一轮迭代的结果计算本轮迭代的特征相关值时,执行如下步骤:

根据上一轮迭代的结果计算本轮迭代样本数据各维度特征的梯度;

根据各维度特征的梯度计算对应的特征相关值。

本实施例第k轮第i维特征对应的特征相关值ski根据公式4来进行计算,各维度特征的特征相关值为各维度的梯度的线性函数。

在本实施例中,特征过滤模块根据计算得到的特征过滤阈值和特征相关值,对样本进行特征过滤,执行如下步骤:

如果各维度特征相关值小于本维度特征过滤阈值,则本维特征被过滤 掉,不参与后续迭代计算,否则保留本维特征,继续参与后续迭代计算。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

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