具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请的核心思想之一在于,提出一种利用训练数据训练模型的方法和系统,该方法或系统中首先进行特征列选择,通过计算每一个特征列的重要程度值并判断每一个特征列的重要程度值是否小于对应的阈值,选择出重要特征列和辅助特征列。之后将多个辅助特征列进行降维处理,最后将重要特征列和降维处理后的辅助特征列合并,并输入机器学习算法模型,对机器学习算法模型进行训练。
第一实施例
本申请第一实施例提出一种利用训练数据训练模型的方法,图1是本申请一实施例的训练数据的示意图。图2是利用训练数据训练模型的方法的流程图。本申请第一实施例提出的利用训练数据训练模型的方法可以用于训练各种机器学习算法模型,特别地,本申请第一实施例提出的利用训练数据训练模型的方法可以应用于具有高维稀疏特征的训练数据。如图1所示,所述的训练数据包括多个样本,每一个样本包括N个特征,所述多个样本中对应的特征构成N个特征列。
如图2所示,本申请第一实施例的利用训练数据训练模型的方法可以包括如下步骤:
S101,计算每一个特征列的重要程度值;
在这一步骤中,该重要程度值用于评估该特征列对该模型在训练后的预测准确度的重要程度。举例来说,该重要程度值可以是该特征列的信息值IV(Information Value,后称IV值)或信息增益IG(Information Gain,后称IG值)。
当该重要程度值为该特征列的信息值IV时,举例来说,以二分模型为例,可以通过如下公式计算:
WoE=ln(pctl Good/pctlBad) (1)
MIV=WoE*(pctlGood-pctlBad) (2)
IV=∑MIV (3)
该二分模型可以为国外广泛使用的信用卡评分模型,该二分模型尤其在信用风险评估以及金融风险控制领域更是得到了广泛的使用,其原理是将模型变量WoE编码方式离散化之后运用logistic回归模型进行的一种二分类变量的广义线性模型。在该模型中,每一个训练数据即是每一个信用卡用户的信息,该训练数据包括多个特征,例如信用卡用户的年龄、职业、性别等。每一个训练数据对应一个标签值,当该信用卡用户为违约用户时,该标签值记为1,当该信用卡用户为正常用户时,该标签值记为0。
在上述公式(1)中,WoE为显著性权重(Weight of Evidence),计算IV值之前首先需要进行WoE值计算。
公式(1)中的pctlGood和pctlBad分别是通过多个训练数据的特征列中的特征以及每一个数据对应的标签值计算得出。其中pctlGood表示将某一特征列(例如“信用卡用户的年龄”)进行离散处理后,每一个区间内对应的标签值为1的信用卡用户个数与全部区间内对应的标签值为1的信用卡用户个数,pctlBad表示每一个区间内对应的标签值为0的信用卡用户个数与全部区间内对应的标签值为0的信用卡用户个数。
例如,表1所示为将信用卡用户的年龄进行离散处理后获得的每个年龄区间对应的WoE值。
Age
|
#Good |
#Bad |
WoE |
0-10 |
50 |
200 |
=ln((50/100)/(200/1000))=ln((50/200)/(100/1000)) |
10-18 |
20 |
200 |
=ln((20/100)/(200/1000))=ln((20/200)/(100/1000)) |
18-35 |
5 |
200 |
=ln((5/100)/(200/1000))=ln((5/200)/(100/1000)) |
35-50 |
15 |
200 |
=ln((15/100)/(200/1000))=ln((15/200)/(100/1000)) |
50以上 |
10 |
200 |
=ln((10/100)/(200/1000))=ln((10/200)/(100/1000)) |
汇总 |
100 |
1000 |
|
表1
在完成WoE计算之后,通过公式(2)计算出针对每个年龄区间的MIV值,再通过公式(3)计算出每个年龄区间的MIV值的总和,从而得出该特征列的全部年龄区间的IV值。
当该重要程度值为该特征列的信息增益IG时,该信息增益Gain(S,A)被定义为:
在上述公式(4)中,其中Entropy(S)为数据集合S的熵,V(A)是某一特征列A所有可能值的集合,Sv是S中某一特征列A的值为v的子集,权值为某一特征列Sv的样例占原始样例S的比例|Sv|/|S|,即Gain(S,A)是由于给定特征列A的值而得到的关于目标函数值的信息。
在计算出IV值和/或IG值之后,可以对计算获得的IV值和/或IG值进行输出。图3所示为输出的结果的示意图,图3中,col列为特征名,IV为信息值,IG为信息增益。
以上对每一个特征列的IV值和IG值的计算方法进行了举例描述。本领域技术人员应当可以明确的是,本领域还有其他多种能够用于评估该特征列对该模型在训练后的预测准确度的重要程度的值,并且计算方法也多种多样,本申请并不特别限制该重要程度值的类型和计算方法。
步骤S102,判断每一个特征列的重要程度值是否小于对应的阈值;
在这一步骤中,举例来说,可以根据步骤S101中计算出的每一个特征列的重要程度值,判断该重要程度值是否小于对应的阈值。
例如,可以根据步骤S101中计算出的每一特征列的IV值,判断该IV值是否小于对应的阈值。特征列的IV值对应的阈值例如为第一阈值B,在这一步骤中,用每一个特征列的IV值与该第一阈值B进行比较。
同样地,可以根据步骤S101中计算出的每一特征列的IG值,判断该IG值是否小于对应的阈值。特征列的IG值对应的阈值例如为第二阈值C,在这一步骤中,用每一个特征列的IG值与该第二阈值C进行比较。
此外,还可以同时判断每一个特征列的IV值和IG值是否同时小于对应的阈值。例如,针对每一个特征列,判断该特征列的IV值是否小于上述的第一阈值B,再判断该特征列的IG值是否小于上述的第二阈值C。
步骤S103,当判断出所述N个特征列中的M个特征列的重要程度值小于对应的阈值时,将所述M个特征列进行降维处理,生成P个特征列,其中M<N,且P<M;
在这一步骤中,通过信息值和/或信息增益与对应的阈值比较,可以确定哪些特征列为重要特征,哪些特征列为辅助特征。即,哪些特征列对该模型在训练后的预测准确度影响较大,即可以视为重要特征,哪些特征列对该模型在训练后的预测准确度影响较小,即可以视为辅助特征。
如果仅用IV值进行比较,则可以认为IV值小于上述的第一阈值B的特征列为辅助特征,IV值大于或等于上述的第一阈值B的特征列为重要特征。
如果仅用IG值进行比较,则可以认为IG值小于上述的第二阈值C的特征列为辅助特征,IG值大于或等于上述的第二阈值C的特征列为重要特征。
如果同时用IV值和IG值进行比较,则可以认为IV值小于上述的第一阈值B的特征列为辅助特征,或者IG值小于上述的第二阈值C的特征列为辅助特征,只有IV值大于或等于上述的第一阈值B,且IG值大于或等于上述的第二阈值C的特征列才可以认为是重要特征。
以下通过一个示例,描述将所述M个信息值和/或信息增益小于对应阈值的特征列进行降维处理的步骤。
某个训练数据包括三个样本,每个样本包括N个特征,三个样本分别为:
A1(a11,a12,a13,......a1N)
A2(a21,a22,a23,......a2N)
A3(a31,a32,a33,......a3N)
在步骤S101中计算每一个特征列的重要程度值的步骤,例如是计算a11,a21,a31构成的特征列的信息值和/或信息增益、a12,a22,a32构成的特征列的信息值和/或信息增益、a13,a23,a33构成的特征列的信息值和/或信息增益,直到a1N,a2N,a3N构成的特征列的信息值和/或信息增益。
在步骤S103中,根据步骤S102中得出的每一个特征列的重要程度值是否小于对应的阈值,将多个特征列分为重要特征和辅助特征。在本示例中,重要特征例如是(a11,a21,a31)构成的特征列,以及(a12,a22,a32)构成的特征列.....直到(a1(N-M),a2(N-M),a3(N-M))构成的特征列;辅助特征是后M列即(a1(N-M+1),a2(N-M+1),a3(N-M+1))构成的特征列......直到(a1N,a2N,a3N)构成的特征列。
在步骤S103中,可以将M个重要程度值小于阈值得辅助特征进行降维处理,转换成P个特征列。即,原先的(a1(N-M+1),a1(N-M+2)......a1N)、(a2 (N-M+1),a2(N-M+2)......a2N)、(a3(N-M+1),a3(N-M+2)......a3N)可以分别经过降维处理,转换为(a’1(N-M+1),a’1(N-M+2)......a’1(N-M+P))、(a’2(N-M+1),a’2 (N-M+2)......a’2(N-M+P))、(a’3(N-M+1),a’3(N-M+2)......a’3(N-M+P))。
这一步骤S103例如可以通过minwise hashing算法实现。minwisehashing算法广泛的应用于海量数据下的信息检索,在这一算法中,将(b=64位)缩小到b位,降低了存储空间和计算时间。
该算法的实现例如为:
通过minwise hashing算法后,原先辅助特征被转化为一个k*2b维度的向量,其中k,b为算法指定参数,即,步骤S103中的P=k*2b。
另外,正如本领域技术人员所知,步骤S103并不限于通过minwisehashing算法完成,同样可以使用主成分分析算法(PCA)、Linear DiscriminantAnalysis(LDa)、局部线性嵌入(LLE)、拉普拉斯特征映射(LaplacianEigenmaps)等算法,在此并不特别限定。
步骤S104,将重要程度值大于或等于对应的阈值的(N-M)个特征列和降维处理后生成的P个特征列合并,得到(N-M+P)个特征列;
在这一步骤中,可以将步骤S102中判断出的重要程度值大于或等于对应的阈值的(N-M)个特征列与降维处理后生成的P个特征列合并,得到包括(N-M+P)个特征列的新的训练数据。
举例来说,重要程度大于或等于对应阈值的(N-M)个特征列例如为:
A1”(a11,a12......a1(N-M))
A2”(a21,a22......a2(N-M))
A3”(a31,a32......a3(N-M)),
上述降维处理后生成的辅助特征为:
A1”’(a’1(N-M+1),a’1(N-M+2)......a’1(N-M+P))
A2”’(a’2(N-M+1),a’2(N-M+2)......a’2(N-M+P))
A3”’(a’3(N-M+1),a’3(N-M+2)......a’3(N-M+P))
将上述重要程度值大于或等于对应的阈值的(N-M)个特征列和降维处理后生成的P个特征列合并的结果为:
A1””(a11,a12,......a1(N-M),......a1(N-M+P))
A2””(a21,a22,......a2(N-M),......a2(N-M+P))
A3””(a31,a32,......a3(N-M),......a3(N-M+P))
上述合并后生成的训练数据可以称为特征指纹。合并后生成的训练数据的特征维度为(N-M+P)个,短于原先的N个。以训练数据包括1亿特征列为例,取k=200,b=12,重要特征取前10000个特征列,所生成特征列为2000*2^12+10000=829100个,降维比约为829100/1000000000=0.008292,特征和数据不到原先的1%。
S105,将包括所述(N-M+P)个特征列的训练数据输入机器学习算法模型,训练所述机器学习算法模型。
在这一步骤中,将合并后的多个样本输入机器学习算法模型,对机器学习算法模型进行训练,或者使用机器学习算法模型进行预测。机器学习算法模型可以是分类算法模型或回归算法模型,例如逻辑回归(LR)算法模型、随机森林算法模型、Gradient Boost Decision Tree算法模型等等,本申请并不以此为限。
根据本申请第一实施例提出的利用训练数据训练模型的方法,通过判断每一个特征列的信息值和/或信息增益,采用保留重要特征、将辅助特征进行降维的方式,降低原本特征维度较高的训练数据的维度,在将该降维后的训练数据输入模型进行训练时,能够达到训练特征参数可控、训练数据大幅降低、运行效率提升的目的。同时由于本申请实施例的方法中保留了重要特征,而对辅助特征进行降维,最大限度地减小了该模型的预测准确度的降低程度。本申请提出的利用训练数据训练模型的方法应用在高维稀疏特征的训练数据中的效果尤其明显,例如在广告CTR数据中,通过上述的改动,在广告CTR的1亿特征数据上,AUC较全量训练提升2‰,数据大小为原先数据量1%。
第二实施例
本申请第二实施例提出一种利用训练数据训练模型的方法,图4所示为本申请第二实施例的利用训练数据训练模型的方法的流程图。本申请第二实施例提出的利用训练数据训练模型的方法可以用于训练各种机器学习算法模型,特别地,本申请提出的利用训练数据训练模型的方法可以应用于具有高维稀疏特征的训练数据。高维稀疏矩阵,例如总维度与有数值的维度的比例为100:1或者1000:1以上。所述的训练数据包括多个样本,每一个样本包括N个特征,所述多个样本中对应的特征构成N个特征列。
如图4所示,本申请第二实施例的利用训练数据训练模型的方法可以包括如下步骤:
S201,计算每一个特征列的信息值和/或信息增益;
在这一步骤中,该信息值(Information Value,后称IV值)或信息增益(Information Gain,后称IG值)均能够评估该特征列对该模型在训练后的预测准确度的重要程度。
当该重要程度值为该特征列的信息值IV时,举例来说,以二分模型为例,可以通过步骤S101中列出的公式(1)至公式(3)计算,通过上述方法计算出IV值和/或IG值之后,可以对计算获得的IV值和/或IG值进行输出。图3所示为输出的结果的示意图,图3中,col列为特征名,IV为信息值,IG为信息增益。
步骤S202,判断每一个特征列的信息值和/或信息增益是否小于对应的阈值;
在这一步骤中,举例来说,可以根据步骤S201中计算出的每一个特征列的信息值和/或信息增益,判断该信息值和/或信息增益是否小于对应的阈值。
例如,可以根据步骤S201中计算出的每一特征列的IV值,判断该IV值是否小于对应的阈值。特征列的IV值对应的阈值例如为第一阈值B,在这一步骤中,用每一个特征列的IV值与该第一阈值B进行比较。
同样地,可以根据步骤S201中计算出的每一特征列的IG值,判断该IG值是否小于对应的阈值。特征列的IG值对应的阈值例如为第二阈值C,在这一步骤中,用每一个特征列的IG值与该第二阈值C进行比较。
此外,还可以同时判断每一个特征列的IV值和IG值是否同时小于对应的阈值。例如,针对每一个特征列,判断该特征列的IV值是否小于上述的第一阈值B,再判断该特征列的IG值是否小于上述的第二阈值C。
步骤S203,当判断出所述N个特征列中的M个特征列的信息值和/或信息增益小于对应的阈值时,将所述M个特征列进行降维处理,生成P个特征列,其中M<N,且P<M;
在这一步骤中,通过信息值和/或信息增益与对应的阈值比较,可以确定哪些特征列为重要特征,哪些特征列为辅助特征。即,哪些特征列对该模型在训练后的预测准确度影响较大,即可以视为重要特征,哪些特征列对该模型在训练后的预测准确度影响较小,即可以视为辅助特征。
如果仅用IV值进行比较,则可以认为IV值小于上述的第一阈值B的特征列为辅助特征,IV值大于或等于上述的第一阈值B的特征列为重要特征。
如果仅用IG值进行比较,则可以认为IG值小于上述的第二阈值C的特征列为辅助特征,IG值大于或等于上述的第二阈值C的特征列为重要特征。
如果同时用IV值和IG值进行比较,则可以认为IV值小于上述的第一阈值B的特征列为辅助特征,或者IG值小于上述的第二阈值C的特征列为辅助特征,只有IV值大于或等于上述的第一阈值B,且IG值大于或等于上述的第二阈值C的特征列才可以认为是重要特征。
这一步骤S203例如可以通过minwise hashing算法实现。minwisehashing算法广泛的应用于海量数据下的信息检索,在这一算法中国,将(b=64位)缩小到b位,降低了存储空间和计算时间。
该算法可以使用与第一实施例提出的具体实现方式来实现,在此不再赘述。
通过minwise hashing算法后,原先辅助特征被转化为一个k*2b维度的向量,其中k,b为算法指定参数,即,步骤S203中的P=k*2b。
步骤S204,将重要程度值大于或等于对应的阈值的(N-M)个特征列和降维处理后生成的P个特征列合并,得到(N-M+P)个特征列;
在这一步骤中,可以将步骤S202中判断出的信息值和/或信息增益大于或等于对应的阈值的(N-M)个特征列与降维处理后生成的P个特征列合并,得到新的训练数据。
举例来说,信息值和/或信息增益大于或等于对应阈值的(N-M)个特征列例如为:
A1”(a11,a12......a1(N-M))
A2”(a21,a22......a2(N-M))
A3”(a31,a32......a3(N-M)),
上述降维处理后生成的辅助特征为:
A1”’(a’1(N-M+1),a’1(N-M+2)......a’1(N-M+P))
A2”’(a’2(N-M+1),a’2(N-M+2)......a’2(N-M+P))
A3”’(a’3(N-M+1),a’3(N-M+2)......a’3(N-M+P))
将上述信息值和/或信息增益大于或等于对应的阈值的(N-M)个特征列和降维处理后生成的P个特征列合并的结果为:
A1””(a11,a12,......a1(N-M),......a1(N-M+P))
A2””(a21,a22,......a2(N-M),......a2(N-M+P))
A3””(a31,a32,......a3(N-M),......a3(N-M+P))
上述合并后生成的训练数据可以称为特征指纹。合并后生成的训练数据的特征维度为(N-M+P)个,短于原先的N个。以训练数据包括1亿特征列为例,取k=200,b=12,重要特征取前10000个特征列,所生成特征列为2000*2^12+10000=829100个,降维比约为829100/1000000000=0.008292,特征和数据不到原先的1%。同时由于本申请实施例的方法中保留了重要特征,而对辅助特征进行降维,该特征指纹仍然可以全面反映原先的训练数据,并不会降低训练的准确度。
S205,将包括所述(N-M+P)个特征列的训练数据输入机器学习算法模型,训练所述机器学习算法模型。
在这一步骤中,将合并后的多个样本输入机器学习算法模型,对机器学习算法模型进行训练,或者使用机器学习算法模型进行预测。机器学习算法模型可以是分类算法模型或回归算法模型,例如逻辑回归(LR)算法模型、随机森林算法模型、Gradient Boost Decision Tree算法模型等等,本申请并不以此为限。
根据本申请第二实施例提出的利用训练数据训练模型的方法,通过判断每一个特征列的信息值和/或信息增益,采用保留重要特征、将辅助特征进行降维的方式,降低原本特征维度较高的训练数据的维度,在将该降维后的训练数据输入模型进行训练时,能够达到训练特征参数可控、训练数据大幅降低、运行效率提升的目的。同时由于本申请实施例的方法中保留了重要特征,而对辅助特征进行降维,该特征指纹仍然可以全面反映原先的训练数据,最大限度地减小了该模型的预测准确度的降低程度。本申请提出的利用训练数据训练模型的方法应用在高维稀疏特征的训练数据中的效果尤其明显,例如在广告CTR数据中,通过上述的改动,在广告CTR的1亿特征数据上,AUC较全量训练提升2‰,数据大小为原先数据量1%。
第三实施例
本申请第三实施例提出一种利用训练数据训练模型的方法,图5所示为本申请第三实施例的利用训练数据训练模型的方法的流程图。本申请第三实施例提出的利用训练数据训练模型的方法可以用于训练各种机器学习算法模型,特别地,本申请提出的利用训练数据训练模型的方法可以应用于具有高维稀疏特征的训练数据。高维稀疏矩阵,例如总维度与有数值的维度的比例为100:1或者1000:1以上。所述的训练数据包括多个样本,每一个样本包括N个特征,所述多个样本中对应的特征构成N个特征列。
如图5所示,本申请第三实施例的利用训练数据训练模型的方法可以包括如下步骤:
S301,计算每一个特征列的重要程度值;
S302,判断每一个特征列的重要程度值是否大于对应的阈值;
S303,当判断出所述N个特征列中的Q个特征列的重要程度值大于对应的阈值时,将所述Q个特征列进行升维处理,生成R个特征列,其中R>Q,且Q<N;
S304,将升维处理后生成的R个特征列和重要程度值小于或等于对应的阈值的特征列合并;以及
S305,将合并的训练数据输入机器学习算法模型,训练所述机器学习算法模型。
其中,步骤S301和步骤S305可与第二实施例中的步骤S201和S205相同或相似,在此不再赘述。
在步骤S302中,相比于步骤S102,本实施例中是判断重要程度值是否大于对应的阈值,具体的判断方式与步骤S102相似,在此不再赘述。
在步骤S303中,例如可以参考步骤S103中的方法,根据步骤S302中得出的每一个特征列的重要程度值是否大于对应的阈值,将多个特征列分为重要特征和辅助特征。在本示例中,重要特征例如是(a11,a21,a31)构成的特征列,以及(a12,a22,a32)构成的特征列.....直到(a1Q,a2Q,a3Q)构成的特征列;辅助特征是后N-Q列即(a1(Q+1),a2(Q+2),a3(Q+3))构成的特征列......直到(a1N,a2N,a3N)构成的特征列。
在步骤S303中,可以将Q个重要程度值大于阈值的重要特征进行升维处理,转换成R个特征列。即,原先的(a11,a12......a1Q)、(a21,a22......a2Q)、(a31,a32......a3Q)可以分别经过升维处理,转换为(a’11,a’12......a’1R)、(a’21,a’22......a’2R)、(a’31),a’32......a’3R)。
这一步骤S303例如可以通过minwise hashing算法实现。minwisehashing算法广泛的应用于海量数据下的信息检索,在这一算法中,通过参数的设定,将(b=64位)扩大到b位,提升重要特征的维度。
该算法的实现可以参考步骤S103所述,在此不再赘述。
在S304中,例如可以将升维处理后生成的R个特征列和重要程度值小于或等于对应的阈值的(N-Q)个特征列合并,可以参考步骤S103,在此不再赘述。
另外,在步骤S303中,当判断出所述N个特征列中的Q个特征列的重要程度值大于对应的阈值时,可以利用minwise Hashing算法对所述Q个特征列进行升维处理,生成R个特征列,其中P=k*2b,k和b为算法指定参数。
优选地,上述重要程度值可以为第二实施例中的信息值或信息增益。在此不再赘述。
另外,在步骤S302之后,该方法还可以包括:
S302a,当判断出所述N个特征列中的M个特征列的重要程度值小于对应的阈值时,将所述M个特征列进行降维处理,生成P个特征列,其中M<N,且P<M;
步骤S304即将升维处理后生成的R个特征列和重要程度值小于或等于对应的阈值的特征列合并的步骤例如可以包括:
将升维处理后生成的R个特征列和所述降维处理后生成的P个特征列合并,生成(R+P)个特征列。
在步骤S305中,例如,可以将上述合并的(R+P)个特征列训练数据输入机器学习算法模型,训练所述机器学习算法模型。
根据本申请第三实施例提出的利用训练数据训练模型的方法,通过判断每一个特征列的重要程度值,采用将重要特征升维的方式,对于较小规模的训练数据,能够升高重要程度值较高的训练数据的维度,提高模型训练的准确性的问题。
第四实施例
本申请第四实施例公开一种利用训练数据训练模型的系统,所述训练数据包括多个样本,每一个样本包括N个特征,所述多个样本中对应的特征构成N个特征列,如图6所示为本申请第四实施例的利用训练数据训练模型的系统以及训练数据的示意图。所述训练系统400包括:
第一计算模块401,用于计算每一个特征列的重要程度值;
第一判断模块402,用于判断每一个特征列的重要程度值是否小于对应的阈值;
第一降维模块403,用于当判断出所述N个特征列中的M个特征列的重要程度值小于对应的阈值时,将所述M个特征列进行降维处理,生成P个特征列,其中M<N,且P<M;
第一合并模块404,用于将重要程度值大于或等于对应的阈值的(N-M)个特征列和降维处理后生成的P个特征列合并;以及
第一训练模块405,用于将合并后的所述多个样本输入机器学习算法模型,训练所述机器学习算法模型。
根据本申请第四实施例提出的利用训练数据训练模型的系统,通过判断每一个特征列的重要程度值,采用保留重要特征、将辅助特征进行降维的方式,降低原本特征维度较高的训练数据的维度,在将该降维后的训练数据输入模型进行训练时,能够达到训练特征参数可控、训练数据大幅降低、运行效率提升的目的。同时由于本申请实施例的方法中保留了重要特征,而对辅助特征进行降维,降维后的数据能够最大限度地减小了该模型的预测准确度的降低程度。
第五实施例
本申请第五实施例公开一种利用训练数据训练模型的系统,所述训练数据包括多个样本,每一个样本包括N个特征,所述多个样本中对应的特征构成N个特征列,如图7所示为本申请第五实施例的利用训练数据训练模型的系统以及训练数据的示意图。所述训练系统500包括:
第一计算模块501,用于计算每一个特征列的重要程度值;
第一判断模块502,用于判断每一个特征列的重要程度值是否小于对应的阈值;
第一降维模块503,用于当判断出所述N个特征列中的M个特征列的重要程度值小于对应的阈值时,将所述M个特征列进行降维处理,生成P个特征列,其中M<N,且P<M;
第一合并模块504,用于将重要程度值大于或等于对应的阈值的(N-M)个特征列和降维处理后生成的P个特征列合并;以及
第一训练模块505,用于将合并后的所述多个样本输入机器学习算法模型,训练所述机器学习算法模型。
在一优选实施例中,所述训练数据还包括对应于每一个样本的标签值,所述重要程度值为信息值和/或信息增益,所述计算模块501包括:
信息值计算模块51,用于利用每一个样本对应的标签值和所述特征列中的多个特征,计算出所述特征列的信息值;和/或
信息增益计算模块52,用于利用每一个样本对应的标签值和所述特征列中的多个特征,计算出所述特征列的信息增益。
在一优选实施例中,所述信息值对应的阈值为第一阈值,所述信息增益对应的阈值为第二阈值。
在一优选实施例中,所述降维模块用于:
利用minwise Hashing算法对所述M个特征列进行降维处理,生成P个特征列,其中P=k*2b,k和b为算法指定参数。
在一优选实施例中,所述机器学习算法模型为分类算法模型或回归算法模型。
根据本申请第五实施例提出的利用训练数据训练模型的系统,通过判断每一个特征列的信息值和/或信息增益,采用保留重要特征、将辅助特征进行降维的方式,降低原本特征维度较高的训练数据的维度,在将该降维后的训练数据输入模型进行训练时,能够达到训练特征参数可控、训练数据大幅降低、运行效率提升的目的。同时由于本申请实施例的方法中保留了重要特征,而对辅助特征进行降维,该特征指纹仍然可以全面反映原先的训练数据,最大限度地减小了该模型的预测准确度的降低程度。本申请提出的利用训练数据训练模型的方法应用在高维稀疏特征的训练数据中的效果尤其明显,例如在广告CTR数据中,通过上述的改动,在广告CTR的1亿特征数据上,AUC较全量训练提升2‰,数据大小为原先数据量1%。
第六实施例
本申请第六实施例公开一种利用训练数据训练模型的系统,所述训练数据包括多个样本,每一个样本包括N个特征,所述多个样本中对应的特征构成N个特征列,如图8所示为本申请第六实施例的利用训练数据训练模型的系统以及训练数据的示意图。所述训练系统600包括:
第二计算模块601,用于计算每一个特征列的重要程度值;
第二判断模块602,用于判断每一个特征列的重要程度值是否小于对应的阈值;
升维模块603,用于当判断出所述N个特征列中的Q个特征列的重要程度值大于对应的阈值时,将所述Q个特征列进行升维处理,生成R个特征列,其中R>Q,且Q<N;
第二合并模块604,用于将将升维处理后生成的R个特征列和重要程度值小于或等于对应的阈值的(N-Q)个特征列合并,得到(R+N-Q)个特征列;以及
第二训练模块605,用于将包括所述(R+N-Q)个特征列的训练数据输入机器学习算法模型,训练所述机器学习算法模型。
在一优选实施例中,所述升维模块603用于:
利用minwise Hashing算法对所述M个特征列进行升维处理,生成R个特征列,其中P=k*2b,k和b为算法指定参数。
在一优选实施例中,所述机器学习算法模型为分类算法模型或回归算法模型。
在一优选实施例中,所述系统还包括:
第二降维模块602a,用于当判断出所述N个特征列中的M个特征列的重要程度值小于对应的阈值时,将所述M个特征列进行降维处理,生成P个特征列,其中M<N,且P<M;
所述第二合并模块604用于:
所述将升维处理后生成的R个特征列和所述降维处理后生成的P个特征列合并。
根据本申请第六实施例提出的利用训练数据训练模型的系统,通过判断每一个特征列的重要程度值,采用将重要特征升维的方式,对于较小规模的训练数据,能够升高重要程度值较高的训练数据的维度,提高模型训练的准确性的问题。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信号存储。信号可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信号。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种利用训练数据训练模型的方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。