CN106169096A - 一种机器学习系统学习性能的评估方法 - Google Patents
一种机器学习系统学习性能的评估方法 Download PDFInfo
- Publication number
- CN106169096A CN106169096A CN201610471449.5A CN201610471449A CN106169096A CN 106169096 A CN106169096 A CN 106169096A CN 201610471449 A CN201610471449 A CN 201610471449A CN 106169096 A CN106169096 A CN 106169096A
- Authority
- CN
- China
- Prior art keywords
- group
- segmentation rules
- machine learning
- index set
- learning system
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种机器学习系统学习性能的评估方法,根据用户给定的评估次数,将数据集切分成多组不同的训练集和验证集;针对多组训练集和验证集中的每一组,使用训练集(验证集)对机器学习系统进行训练,得到机器学习模型;再使用验证集(训练集)对机器学习模型进行测试,得到机器学习系统性能的单次估计;当多组训练集和验证集全部用完后,将机器学习系统性能的所有估计平均起来作为系统性能的最终估计;同时等待用户是否采纳当前的估计;若用户需要增大评估次数,则在原有基础上,逐步增加余下的训练集和测试集,并执行机器学习系统的训练和测试,直至计算出新的性能估计;若用户采纳当前的估计,则返回当前的机器学习系统性能的估计。
Description
技术领域
本发明涉及机器学习系统的评估技术,具体为一种机器学习系统学习能力的评估方法。
背景技术
机器学习系统是对数据进行智能处理和分析的重要系统。它基于现有的数据集进行学习,并将学习到的模型运用到未来的信息预测之中。随着数据时代的到来,机器学习系统在各种各样的自动化场景中大量涌现,例如,基于机器学习算法构建的垃圾邮件过滤系统、句子情感分类系统等均属于机器学习系统的范畴。
伴随着互联网时代的到来,大量的机器学习系统也被相应的开发出来。这些机器学习系统的性能各异。因此,系统的开发者以及使用者必须使用含有多条记录的数据集来对这些机器学习系统的性能进行客观的估计,并从中选择出性能显著优越的机器学习系统。这就需要系统使用者对数据集进行合理地切分和利用,以便于精准地估计机器学习系统的实际性能。
目前常用的数据集切分技术是m×2交叉验证方法。具体来说,基于m×2交叉验证方法,含有多条记录的数据集被随机地切分成m组训练集和验证集。训练集和验证集的大小是相同的。对于其中的每一组,机器学习系统首先使用训练集来学习出模型,然后,使用验证集来估计机器学习系统的性能;然后,反过来使用验证集来学习模型,并使用训练集来估计系统的性能。将m组训练集和测试集全部使用完后,总共可以得到2m个机器学习系统的性能估计。最后,使用这2m个估计的平均值作为机器学习系统的最终性能估计。
基于m×2交叉验证的数据切分方法的最大的问题在于,最终计算出的机器学习系统的性能估计具有较大的方差。这不利于使用者精准地估计机器学习系统的性能。究其本质,最主要的原因在于当数据集被随机切分成多组训练集和验证集时,多组训练集之间的记录重叠个数是随机的。这种随机性加大了机器学习系统的性能估计的方差。
针对上述问题,McCarthy于1976年提出了一种改进方案。该方案被称为balancedHalf-sample replication。见文献:
McCarthy,P.J.(1976).The Use of Balanced Half-Sample Replication inCross-Validation Studies.Journal of the American Statistical Association,71(355),596-604.doi:10.2307/2285588。
上述文献所给方法控制了多组训练集之间的记录重叠个数。不过,该方法无法满足用户进一步增大评估次数m的要求。也就是说,假设用户已确定评估次数m并根据他们的方法得到了系统的性能估计;若用户希望进一步增加评估次数m来考察系统的性能,该方法就必须摒弃原来已经构造好的m组训练集和测试集,并重新开始计算数据集的切分方式和性能估计。
发明内容
本发明所提供的一种控制机器学习系统性能精度的方法,主要是针对原有的m×2交叉验证方法进行改进。这种改进主要针对原有方法中存在的两个问题:
1)原有的m×2交叉验证方法中,多组训练集之间的记录重叠个数存在很大的随机性,降低了机器学习系统的性能估计的精度;
2)McCarthy提出的均衡m×2交叉验证方法中,当用户增加评估次数后,所有已构造好的训练集和验证集被全部摒弃,且所有的计算需要重头开始。
本发明是采用以下技术方案实现的:一种机器学习系统学习性能的评估方法,包括如下步骤:
A.接受用户需要评估的机器学习系统、含有n条记录的数据集Dn以及评估次数参数m;所述数据集Dn={zi:zi=(xi,yi),i=1,...,n},其中,zi是数据集Dn中的第i条记录;xi和yi分别为记录zi的预测变量和响应变量;
B.设置指标集组B=({1,2,...,n})和切分规则组P=();指标集组是指标集的子集的集合;所述指标集是每个记录数据集Dn中zi的下标所组成的集合,记为I={1,2,...,n};指标集组中的每一个元素都是指标集I的一个子集,指标集组所有元素的并集=I且指标集组中任意两个不相同的元素的交集为空集,同时指标集组中每个元素所包含的指标个数相同,而指标集组B=({1,2,...,n})则是将整个指标集作为一个元素的集合;所述切分规则组是指包含零个或多个切分规则的集合;所述切分规则指的是由符号’+’和’-’组成的一个序列,序列中’+’和’-’出现的次数相同,且至少出现一次;P=()表示不包含任何切分规则,即为空切分规则组;
C.设置索引变量startIndex=1以及endIndex=m;
D.设置变量α从startIndex开始加一递增,直至大于endIndex结束;在每次递增时,分别执行下述的a)-e)步:
a)如果α为2的幂数,执行下述的i-iii步:
i.对指标集组B执行扩展操作,即指标集组B中的每个元素按照从前向后的顺序都分裂成一对大小相等的子集;新形成的多个子集共同构成新的指标集组B2α并将B2α赋给B,即:B←B2α;扩展后得到的每对子集的并集等于该对子集所对应的原指标集组B中的元素,且每对子集的交集为空集;
ii.如果切分规则组为空,则不进行整体逐元素扩展;如果切分规则组不为空,则对切分规则组中的每一条规则依次进行2次整体逐元素扩展,即将每一条切分规则中的每个符号由左至右分别重复一遍,重复后得到的符号分别列于与其对应的被重复符号的右侧进而形成一个新的切分规则,所有新形成的切分规则共同构成一个新的切分规则组Pα,并将Pα赋给P,即:P←Pα;
iii.将切分规则(+,-)进行α次整体扩展,形成新的规则R;并将R追加到切分规则组P的末尾;所述切分规则的α次整体扩展是指将切分规则(+,-)整体重复α次后形成一条新的切分规则;
b)如果α不为2的幂数,则对切分规则组P中的第条规则和第条规则进行加法运算,形成新的切分规则R;并将R追加到切分规则组P的末尾;切分规则的加法运算是指将两条长度相同的切分规则中相同位置的符号按照“相同符号得+,不同符号得-”的运算得到一个新规则;
c)根据上述步骤所得到的指标集组B以及切分规则组P中的最后一条切分规则R,使用训练指标集的组合规则和验证指标集的组合规则生成相应的训练指标集I(T)和验证指标集I(V);切分规则R所包含的符号个数与指标集组B的元素个数相同;所述训练指标集的组合规则为Ij表示指标集组B中的第j个元素,该公式表示将指标集组中与切分规则R中所有’+’符号的序号相对应的所有元素求并集;所述验证集的指标集I(V)的组合规则为该公式表示将指标集组B中与切分规则R中所有’-’符号的序号相对应的所有元素求并集;
d)根据训练指标集I(T)和验证指标集I(V),抽取出相应的记录形成训练集T={zi:i∈I(T),zi∈Dn}和验证集V={zi:i∈I(V),zi∈Dn};I(T)∪I(V)=I且I(T)∩I(V)=Φ;
e)使用训练集T来训练机器学习系统,并使用验证集V进行测试,计算出性能估计然后使用验证集V对机器学习系统进行训练,并使用训练集T进行测试,计算出另一个性能估计
E.计算所有估计值的平均值并将提供给用户。
下面对前述提到的一些概念通过举例做进一步的说明。指标集组:如一个大小为K的指标集组定义为Bk=(I1,I2,...Ij...Ik),其中,为指标集I的一个子集,且I1∪I2∪...∪IK=I及满足当j≠k时,Ij∩Ik=Φ(Φ为空集)且|Ij|=|Ik|;
指标集组的扩展操作:指标集组BK的扩展操作指将BK中的元素Ij按照j=1,...,K的顺序分裂成两个大小相等的子集I'2j-1和I'2j,并形成新的指标集组B2K=(I'1,I'2,...,I'2K)。其中,Ij=I'2j-1∪I'2j,|I'2j-1|=|I'2j|且I'2j-1∩I'2j=Φ;
切分规则:切分规则指的是由符号’+’和’-’组成的一个序列,将其记为R。例如:R=(+,-,+,-);R(j)来表示切分规则R中的第j个元素;
切分规则的K次整体扩展:切分规则的K次整体扩展指将给定的切分规则整体扩展K次后形成一条新的规则。例如,对切分规则(+,-,+,-)进行2次整体扩展,形成规则(+,-,+,-,+,-,+,-);
切分规则的K次逐元素扩展:切分规则的K次逐元素扩展指将给定的规则中的每个符号依次扩展出K个后形成一条新的规则。例如,对于切分规则(+,-,+,-)进行2次逐元素扩展,形成规则(+,+,-,-,+,+,-,-);
切分规则的加法运算:两条切分规则的加法运算指的是将两条切分规则中相同位置的符号按照“相同符号得+,不同符号得-”的运算得到的新规则。例如,规则(+,-,+,-)和规则(+,-,-,+)进行加法运算后,得到新规则(+,+,-,-)。需要注意,进行加法运算的两条规则的长度必须相同;
切分规则组:如将一个大小为K的切分规则组记为Pk=(R1,R2,...Rj...Rk)为,其中,Rj是第j条切分规则;P0=()为空切分规则组;
训练集和验证集:训练集T={zi:i∈I(T),zi∈Dn},其中,为训练指标集;同理,验证集V={zi:i∈I(V),zi∈Dn},其中,为验证指标集;一组训练指标集I(T)和验证指标集I(V)要满足I(T)∪I(V)=I且I(T)∩I(V)=Φ;
上述技术方案具有如下优点:1)所产生的m×2交叉验证的多组训练集和验证集中,多组训练集之间的记录重叠个数是确定的数值;即,这种做法减少了原有的m×2交叉验证中多组训练集的记录重叠个数的随机性;2)所得到的机器学习系统的性能估计有着更高的精度,具体表现在:在性能估计的偏差不变的前提下,该估计的方差较原来的要小;有效解决了本发明所提出的第一个问题。
进一步的,在步骤E之后还包括以下步骤:
F.等待用户是否继续进行评估;
G.若用户需要继续评估,并选定要追加的评估次数m1,则设置startIndex=m+1及endIndex=m+m1,然后转到第D步开始执行;
H.若用户停止评估,则结束。
采用上述步骤具有如下优点:当使用者需要追加评估次数来提高估计精度时,不需要改变已经切分好的多组训练集和验证集;这有效地提高了算法的运行效率,降低了算法的运行时间;有效解决了本发明所提出的第二个技术问题。
本发明在满足用户自主设置评估次数的基础上,给出高精度的机器学习系统性能的估计。因此,本发明可以为大型的数据挖掘公司有效甄别性能显著优良的机器学习系统提供可靠的保障。
附图说明
图1本发明实施例流程示意图。
图2泛化误差估计间的协方差与记录重叠个数的关系示意图。
具体实施方式
机器学习系统的性能通常用泛化误差来刻画。从理论上讲,泛化误差是一个机器学习系统在数据总体上的损失值的均值。由于实际中无法获得数据总体,我们只能使用含多条记录的数据集来估计泛化误差。泛化误差的一个估计值的精度主要由该估计与真实值的偏差以及该估计值本身的方差两方面来决定。一个好的估计值所具有的偏差较小且方差也较小。
为了准确地估计机器学习系统的泛化误差,使用者需要通过特定的数据切分方法将数据集切分成多组训练集和验证集。目前,m×2交叉验证方法是常用的数据切分方法之一。这主要是因为m×2交叉验证方法在机器学习算法选择中具有较好的效果。具体可参考:
McCarthy,P.J.(1976).The Use of Balanced Half-Sample Replication inCross-Validation Studies.Journal of the American Statistical Association,71(355),596-604.doi:10.2307/2285588;
Dietterich,T.G.(1998).Approximate statistical tests for comparingsupervised classification learning algorithms.Neural Computation,10(7),1895-1923;
Alpaydm,E.(1999).Combined 5×2cv F test for comparing supervisedclassification learning algorithms.Neural Computation,11(8),1885-1892;
Yildiz,O.T.(2013).Omnivariate rule induction using a novel pairwisestatistical test.Knowledge and Data Engineering,IEEE Transactions on,25(9),2105-2118;
等工作。
基于m×2交叉验证方法,数据集被随机切分成m组训练集和验证集。在每一组中,训练集和验证集中所含的记录个数均相同,为n/2,其中,n为数据集D所含记录个数。也就是说,在对机器学习系统性能进行估计时,每次训练模型均使用了n/2条记录。训练模型所使用的记录个数决定了系统的泛化误差估计的偏差。具体参考:
Nadeau,Claude,and Yoshua Bengio,"Inference for the GeneralizationError."Neural Information Processing Systems(2000).
本发明所给的数据切分方法,并未更改训练模型所使用的记录个数。因此,基于本发明的数据切分方法所产生的泛化误差的估计与基于m×2交叉验证所产生的泛化误差估计的偏差是相同的。
在m×2交叉验证方法,使用者通常采用使用m次重复实验来降低泛化误差估计的方差。显然,我们可以得到此时泛化误差估计的方差的如下分解式:
其中,Ti和Vi为第i组训练集和验证集;和分别为使用Ti和Vi训练模型所得到的泛化误差估计;为最终得到的泛化误差估计的平均值。在上面的方差分解式中,只和Ti与Vi中的记录个数有关。具体参考:
Nadeau,Claude,and Yoshua Bengio,"Inference for the GeneralizationError."Neural Information Processing Systems(2000)。
本发明所给的数据切分方法,Ti和Vi中的记录个数与m×2交叉验证中Ti和Vi的记录个数是相同的,因此,基于本发明的泛化误差估计的方差中是不变的。
本发明所给出的数据切分方法是改进了m×2交叉验证的泛化误差估计的方差中的协方差一项。在m×2交叉验证中,m次切分均建立在相同的数据集上,多组训练集间肯定存在记录重叠;因为m次切分是随机的,所以记录重叠的个数也是随机的。记录重叠个数的随机性会体现在这个协方差项上。
为了分析记录重叠个数对协方差项的影响,我们先假设m=2,即:仅对数据集进行两次切分。具体实验过程和性质如下所述:
当给定一个数据集,我们将其进行2次随机地切分,形成T1和V1以及T2和V2。因为两次切分都是建立在相同的数据集上,所以T1和T2中会存在重叠的记录,并且记录重叠的个数x是一个随机值,且介于0和n/2之间。为了估计机器学习系统的泛化误差,我们使用T1训练模型,然后在V1来计算泛化误差的估计接着,我们将V1上训练模型,然后在T1上计算估计最后,我们计算泛化误差的两个单次估计值的平均值采用同样的方法,我们在T2和V2上可以计算出和
我们发现,和的协方差是关于记录重叠个数x的对称下凸函数,且该函数的对称轴为n/4。例如,在该函数在某一个大小为500的回归数据集上的图像如图2所示。图2中横轴为记录重叠个数x,纵轴为两个泛化误差估计的协方差值
基于上述协方差函数的性质,我们知道,对于一般的m的取值,我们只要保证m组切分中,任意两个训练集间的重叠个数均为n/4,便可使协方差项达到最小值,进而有效地减少泛化误差估计的方差。本发明给出的数据切分算法便可以保证任意两个训练集之间的重叠个数为n/4。
本发明要解决的第一个核心问题是:如何保证任意两组训练集直线的重叠个数为n/4?
实际上,本发明借助了统计学中正交实验设计方法所用的常用工具:二水平正交表。我们所使用的二水平正交表为类型正交表,其中p为大于1的正整数。该类型正交表具有2p行以及2p-1列,表中的元素具有两种水平值:’+’和’-’。例如,当p=3时,正交表OA(8,27)如表1所示。
表1:正交表OA(8,27)
类型的二水平正交表具有很好的正交性。该正交性表现在正交表中任意两列所含符号对的出现的次数是相同的,均为2p-2次。例如,在OA(8,27)上,任意两列中,四种符号对(+,+),(+,-),(-,+)和(-,-)均出现了两次。
基于二水平正交表的正交性,我们只要将指标集切分成含2p个元素的指标集组,并将指标集组中的每一个指标集和正交表的一行进行对应,然后再按照每一列中的符号+和符号-来拼合成训练指标集合验证指标集:当符号为’+’时,把相应行所对应的指标集合并到训练指标集中;当符号为’-’时,把相应行所对应的指标集合并到验证指标集中。遍历所有的列,我们便可以将数据集切分成2p-1种不同的训练集和验证集,而且可以任意两个训练集间的记录重叠个数是n/4。
本发明要解决的第二个核心问题是:当使用者增加评估次数,即m的值后,如何有效利用已经切分好的多组训练集和测试集,而不是重头开始?
当用户进一步发出增加评估次数m的命令后,算法需要自适应m值的动态变化,并且保证已经切分好的训练集和验证集不变。为此,我们应用了二水平正交表的一套按列扩展的构造算法。在具体实现时,我们随着正交表行数的增加,对所用的指标集组也进行对应的扩展。这样就可以保持原有的数据切分不变,然后根据正交表中新增加的列来构造后续的切分。
下面,我们通过一个简单的例子来说明本发明所给数据切分方法的运行过程。
假设给定一个含有80个记录的数据集D,来评测某个机器学习系统的性能。假设用户初始设置评估次数为m=3。最初,我们设置指标集组B=({1,2,...,80})、切分规则组P=()以及性能估计组E=()。设置startIndex=1以及endIndex=3表明算法需要给出第1次到第5次的数据切分方式。
构造算法从第α=1次开始构造:
由于1=20为2的幂数,需要执行:
1.扩展指标集组B,这里可以采用随机地方式将{1,2,...,80}切分成大小相等的两个子集;为了便于表述,我们假设切分完后的两个子集为I1={1,...,40}及I2={41,...,80},并设置B=(I1,I2);
2.由于切分规则组为空,则我们不执行整体逐元素操作;
3.将切分规则(+,-)进行1次整体扩展,形成规则R=(+,-),然后追加到P的末尾,得到P=((+,-));
4.根据B=(I1,I2)和P中的最后一条规则R=(+,-),可以构造I(T)=I1={1,...,40}以及I(V)=I2={41,...,80};
根据I(T)和I(V)中的指标从D中抽取出训练集和验证集,并对所给机器学习系统的性能进行估计,得到和放入到性能估计组中,得到此处提到的性能估计组是由多个性能估计形成的一个元组,一般可记为K为性能估计组的大小。
5.
此时,第一次构造完成。在第一次构造中,所用的指标集组和切分规则组可以归纳成表2和表3。表3中每一列为一条切分规则,每一行为规则中对应的元素。从表2和表3可见,指标集组中的指标集个数与规则组中每个规则所含的元素个数是相同的。训练集和验证集是将每个指标集与切分规则的每个元素相对应来进行拼合的。
表2:第一次切分所使用的指标集组
指标集编号 | 指标值 |
I1 | 1,2,…,40 |
I2 | 41,42,…,80 |
表3:第一次切分所用的切分规则组
下面,我们给出α=2时的构造:
由于2=21为2的幂数,因此需要执行:
1.扩展指标集组B=({1,...,40},{41,...,80}):我们简单地将{1,...,40}扩展为{1,...,20}以及{21,...,40},将{41,...,80}扩展为{41,...,60}以及{61,...,80},并更新B=({1,...,20},{21,...,40},{41,...,60},{61,...,80});
2.对切分规则组P=((+,-))中的规则进行逐元素扩展,得到新的切分规则组P=((+,+,-,-));
3.将切分规则(+,-)进行2次整体扩展,形成规则R=(+,-,+,-),然后追加到P的末尾,得到P=((+,+,-,-),(+,-,+,-));
4.根据B=({1,...,20},{21,...,40},{41,...,60},{61,...,80})和P中的最后一条规则R=(+,-,+,-),可以构造I(T)={1,...,20}∪{41,...,60}={1,...,20,41,...,60}以及I(V)={21,...,40}∪{61,...,80}={21,...,40,61,...,80};
5.根据I(T)和I(V)中的指标从D中抽取出训练集和验证集,并对所给机器学习系统的性能进行估计,得到和放入到性能估计组中,得到
在第2次构造中,指标集组和切分规则组分别为表4和表5.
表4:第二次切分所使用的指标集组
指标集编号 | 指标值 |
I1 | 1,2,…,20 |
I2 | 21,22,…,40 |
I3 | 41,42,…,60 |
I4 | 61,62,…,80 |
表5:第二次切分所用的切分规则组
下面我们给出α=3时的构造:
由于3不是2的幂数,因此需要执行:
1.从P=((+,+,-,-),(+,-,+,-))中取出第2条规则(+,-,+,-)和第1条规则(+,+,-,-),并进行加法运算,得到新的规则R=(+,-,-,+),放入到切分规则组中,得到P=((+,+,-,-),(+,-,+,-),(+,-,-,+));
2.根据B=({1,...,20},{21,...,40},{41,...,60},{61,...,80})和P中的最后一条规则R=(+,-,-,+),可以构造I(T)={1,...,20,61,...,80}以及I(V)={21,...,40,41,...,60};
3.根据I(T)和I(V)中的指标从D中抽取出训练集和验证集,并对所给机器学习系统的性能进行估计,得到和放入到性能估计组中,得到
第3次构造完成,所使用的指标集组和切分规则组分别为表6和表7。
表6:第三次切分所使用的指标集组
指标集编号 | 指标值 |
I1 | 1,2,…,20 |
I2 | 21,22,…,40 |
I3 | 41,42,…,60 |
I4 | 61,62,…,80 |
表7:第三次切分所用的切分规则组
由于用户初始输入的评估次数m=3,因此,构造完成。此时,将中的所有估计值进行平均得到输出给用户。接着,等待用户进一步的指令。
假设用户输入继续评估的指令,并追加m1=2次评估,则设置startIndex=4以及endIndex=5。
针对第α=4次构造,执行如下的步骤:
由于4=22为2的幂数,因此需要执行:
1.扩展指标集组B,扩展完后,B=(I1,I2,...,I8),I1到I8的取值具体如表8所示:
表8:第四次切分所使用的指标集组
指标集编号 | 指标值 | 指标集编号 | 指标值 |
I1 | 1,2,…,10 | I5 | 41,42,…,50 |
I2 | 11,12,…,20 | I6 | 51,52,…,60 |
I3 | 21,22,…,30 | I7 | 61,62,…,70 |
I4 | 31,32,…,40 | I8 | 71,72,…,80 |
2.对切分规则组P=((+,+,-,-),(+,-,+,-),(+,-,-,+))中的规则进行逐元素扩展,得到新的切分规则组P=((+,+,+,+,-,-,-,-),(+,+,-,-,+,+,-,-),(+,+,-,-,-,-,+,+));
3.将切分规则(+,-)进行4次整体扩展,形成规则R=(+,-,+,-,+,-,+,-),然后追加到P的末尾,得到新的切分规则组P,如表9所示;
表9:第四次切分所用的切分规则组
4.根据B=(I1,I2,...,I8)和P中的最后一条规则R=(+,-,+,-,+,-,+,-),可以构造:
I(T)={1,...,10,21,...,30,41,...,50,61,...,70}
I(V)={11,...,20,31,...,40,51,...,60,71,...,80}
5.根据I(T)和I(V)中的指标从D中抽取出训练集和验证集,并对所给机器学习系统的性能进行估计,得到和放入到性能估计组中,得到
第4次构造执行完成,下面执行第α=5次:
由于5不是2的幂数,因此需要执行如下步骤:
1.从P中取出第4条规则(+,-,+,-,+,-,+,-)和第1条规则(+,+,+,+,-,-,-,-),并进行加法运算,得到新的规则R=(+,-,+,-,-,+,-,+),放入到切分规则组P中;P中所含的切分规则,如表10所示:
表10:第四次切分所用的切分规则组
2.根据表8所给的B=(I1,I2,...,I8)和P中的最后一条规则R=(+,-,+,-,-,+,-,+),可以构造:
I(T)={1,...,10,21,...,30,51,...,60,71,...,80}
I(V)={11,...,20,31,...,40,41,...,50,61,...,70}
3.根据I(T)和I(V)中的指标从D中抽取出训练集和验证集,并对所给机器学习系统的性能进行估计,得到和放入到性能估计组中,得到
此时,用户追加的性能评估完成。此时,将E中的所有估计值进行平均得到输出给用户。接着,等待用户进一步的指令。
用户输入退出指令,则退出计算。
我们总结一下5次构造中所生成的训练指标集和验证指标集,如表11所示。
表11:训练指标集和验证指标集
组数 | I(T) | I(V) |
i=1 | 1,…,10,11,…,20,21,…,30,31,…,40 | 41,…,50,51,…,60,61,…,70,71,…,80 |
i=2 | 1,…,10,11,…,20,41,…,50,51,…,60 | 21,…,30,31,…,40,61,…,70,71,…,80 |
i=3 | 1,…,10,11,…,20,61,…,70,71,…,80 | 21,…,30,31,…,40,41,…,50,51,…,60 |
i=4 | 1,…,10,21,…,30,41,…,50,61,…,70 | 11,…,20,31,…,40,51,…,60,71,…,80 |
i=5 | 1,…,10,21,…,30,51,…,60,71,…,80 | 11,…,20,31,…,40,41,…,50,61,…,70 |
从表11中可以看出,任意两组训练集之间,记录重叠个数均为40/4=10个。这验证了本发明算法的正确性。
下面我们给出一个实际数据上的例子来说明本发明对性能估计方差的影响:
我们需要评估的机器学习系统为光学字母识别系统。该系统会将每一个字母图片分为两类:第一类表明所给字母图片属于A-M中的一个字母;第二类表明所给字母图片属于N-Z中的一个字母。我们分别用支持向量机和k-近邻两种机器学习算法来构建出两个不同的机器学习系统,记为svm-sys和knn-sys.
我们采用UCI库中的letter数据集作为评测数据集来评测svm-sys和knn-sys的性能。数据的具体介绍见:http://archive.ics.uci.edu/ml/datasets/Letter+ Recognition。为了满足系统评估的需要,我们需要将Letter数据集中的A-M归为一类,将N-Z归为另一类。为了对比m×2交叉验证以及本发明的切分方法,我们需要通过多次重复来计算出每种切分方法所得性能估计的方差。为此,我们从Letter中有放回地抽取1000个数据集,每个数据集上包含500条记录。在每个数据集上执行100次本发明的方法以及m×2交叉验证方法。我们采用0-1损失来计算系统性能的估计值。最终,得到如表12所示的性能估计的方差值。
表12:Letter数据上机器学习系统性能估计方差对比
从表12中可以看出,本发明所给方法可以有效地减少机器学习系统性能估计的方差。进而给使用者提供更为精准的性能估计指标,使使用者可以从多个系统性能中有效地甄别出性能优良的机器学习系统。
本发明的详细步骤和特征已经在发明内容和图一中给出。上述的分析过程也给出了本发明算法核心步骤的解释。基于上述的分析,我们认为,在本发明中最应该保护的是数据集的切分按照正交表的列进行构造(技术方案中的c步)以及数据子块和正交表构造动态扩展(技术方案中的a和b两步)两个步骤。
Claims (2)
1.一种机器学习系统学习性能的评估方法,其特征在于,包括如下步骤:
A.接受用户需要评估的机器学习系统、含有n条记录的数据集Dn以及评估次数参数m;所述数据集Dn={zi:zi=(xi,yi),i=1,...,n},其中,zi是数据集Dn中的第i条记录;xi和yi分别为记录zi的预测变量和响应变量;
B.设置指标集组B=({1,2,...,n})和切分规则组P=();指标集组是指标集的子集的集合;所述指标集是每个记录数据集Dn中zi的下标所组成的集合,记为I={1,2,...,n};指标集组中的每一个元素都是指标集I的一个子集,指标集组所有元素的并集=I且指标集组中任意两个不相同的元素的交集为空集,同时指标集组中每个元素所包含的指标个数相同,而指标集组B=({1,2,...,n})则是将整个指标集作为一个元素的集合;所述切分规则组是指包含零个或多个切分规则的集合;所述切分规则指的是由符号’+’和’-’组成的一个序列,序列中’+’和’-’出现的次数相同,且至少出现一次;P=()表示不包含任何切分规则,即为空切分规则组;
C.设置索引变量startIndex=1以及endIndex=m;
D.设置变量α从startIndex开始加一递增,直至大于endIndex结束;在每次递增时,分别执行下述的a)-e)步:
a)如果α为2的幂数,执行下述的i-iii步:
ⅰ.对指标集组B执行扩展操作,即指标集组B中的每个元素按照从前向后的顺序都分裂成一对大小相等的子集;新形成的多个子集共同构成新的指标集组B2α并将B2α赋给B,即:B←B2α;扩展后得到的每对子集的并集等于该对子集所对应的原指标集组B中的元素,且每对子集的交集为空集;
ii.如果切分规则组为空,则不进行整体逐元素扩展;如果切分规则组不为空,则对切分规则组中的每一条规则依次进行2次整体逐元素扩展,即将每一条切分规则中的每个符号由左至右分别重复一遍,重复后得到的符号分别列于与其对应的被重复符号的右侧进而形成一个新的切分规则,所有新形成的切分规则共同构成一个新的切分规则组Pα,并将Pα赋给P,即:P←Pα;
iii.将切分规则(+,-)进行α次整体扩展,形成新的规则R;并将R追加到切分规则组P的末尾;所述切分规则的α次整体扩展是指将切分规则(+,-)整体重复α次后形成一条新的切分规则;
b)如果α不为2的幂数,则对切分规则组P中的第条规则和第条规则进行加法运算,形成新的切分规则R;并将R追加到切分规则组P的末尾;切分规则的加法运算是指将两条长度相同的切分规则中相同位置的符号按照“相同符号得+,不同符号得-”的运算得到一个新规则;
c)根据上述步骤所得到的指标集组B以及切分规则组P中的最后一条切分规则R,使用训练指标集的组合规则和验证指标集的组合规则生成相应的训练指标集I(T)和验证指标集I(V);切分规则R所包含的符号个数与指标集组B的元素个数相同;所述训练指标集的组合规则为Ij表示指标集组B中的第j个元素,该公式表示将指标集组中与切分规则R中所有’+’符号的序号相对应的所有元素求并集;所述验证集的指标集I(V)的组合规则为该公式表示将指标集组B中与切分规则R中所有’-’符号的序号相对应的所有元素求并集;
d)根据训练指标集I(T)和验证指标集I(V),抽取出相应的记录形成训练集T={zi:i∈I(T),zi∈Dn}和验证集V={zi:i∈I(V),zi∈Dn};I(T)∪I(V)=I且I(T)∩I(V)=Φ;
e)使用训练集T来训练机器学习系统,并使用验证集V进行测试,计算出性能估计然后使用验证集V对机器学习系统进行训练,并使用训练集T进行测试,计算出另一个性能估计
E.计算所有估计值的平均值并将提供给用户。
2.如权利要求1所述的一种机器学习系统学习性能的评估方法,其特征在于,在步骤E之后还包括以下步骤:
F.等待用户是否继续进行评估;
G.若用户需要继续评估,并选定要追加的评估次数m1,则设置startIndex=m+1及endIndex=m+m1,然后转到第D步开始执行;
H.若用户停止评估,则结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610471449.5A CN106169096B (zh) | 2016-06-24 | 2016-06-24 | 一种机器学习系统学习性能的评估方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610471449.5A CN106169096B (zh) | 2016-06-24 | 2016-06-24 | 一种机器学习系统学习性能的评估方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106169096A true CN106169096A (zh) | 2016-11-30 |
CN106169096B CN106169096B (zh) | 2018-07-24 |
Family
ID=58065935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610471449.5A Active CN106169096B (zh) | 2016-06-24 | 2016-06-24 | 一种机器学习系统学习性能的评估方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106169096B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598682A (zh) * | 2016-12-22 | 2017-04-26 | 广州酷狗计算机科技有限公司 | 组件升级方法及装置 |
CN109409533A (zh) * | 2018-09-28 | 2019-03-01 | 深圳乐信软件技术有限公司 | 一种机器学习模型的生成方法、装置、设备及存储介质 |
CN109685089A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 评估模型性能的系统及方法 |
CN110059766A (zh) * | 2019-04-26 | 2019-07-26 | 兰州大学 | 一种运用k临近算法进行降水类型分类的方法 |
CN111512381A (zh) * | 2018-01-08 | 2020-08-07 | 国际商业机器公司 | 用于癌症概率的库筛选 |
CN112598082A (zh) * | 2021-01-07 | 2021-04-02 | 华中科技大学 | 基于非校验集预测图像识别模型泛化误差的方法及系统 |
CN113742216A (zh) * | 2021-07-26 | 2021-12-03 | 科大讯飞股份有限公司 | 一种检测机器学习引擎的效率的方法、装置和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838730A (zh) * | 2012-11-21 | 2014-06-04 | 大连灵动科技发展有限公司 | 一种特征评价选择方法 |
WO2015030828A1 (en) * | 2013-08-30 | 2015-03-05 | Hewlett Packard Development Company, L.P. | Maintain a service on a cloud network based on a scale rule |
CN104914870A (zh) * | 2015-07-08 | 2015-09-16 | 中南大学 | 基于岭回归超限学习机的户外机器人局部路径规划方法 |
WO2015184729A1 (en) * | 2014-06-05 | 2015-12-10 | Tsinghua University | Method and system for hyper-parameter optimization and feature tuning of machine learning algorithms |
-
2016
- 2016-06-24 CN CN201610471449.5A patent/CN106169096B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838730A (zh) * | 2012-11-21 | 2014-06-04 | 大连灵动科技发展有限公司 | 一种特征评价选择方法 |
WO2015030828A1 (en) * | 2013-08-30 | 2015-03-05 | Hewlett Packard Development Company, L.P. | Maintain a service on a cloud network based on a scale rule |
WO2015184729A1 (en) * | 2014-06-05 | 2015-12-10 | Tsinghua University | Method and system for hyper-parameter optimization and feature tuning of machine learning algorithms |
CN104914870A (zh) * | 2015-07-08 | 2015-09-16 | 中南大学 | 基于岭回归超限学习机的户外机器人局部路径规划方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598682A (zh) * | 2016-12-22 | 2017-04-26 | 广州酷狗计算机科技有限公司 | 组件升级方法及装置 |
CN106598682B (zh) * | 2016-12-22 | 2019-11-05 | 广州酷狗计算机科技有限公司 | 组件升级方法及装置 |
CN109685089A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 评估模型性能的系统及方法 |
CN109685089B (zh) * | 2017-10-18 | 2020-12-22 | 北京京东尚科信息技术有限公司 | 评估模型性能的系统及方法 |
CN111512381A (zh) * | 2018-01-08 | 2020-08-07 | 国际商业机器公司 | 用于癌症概率的库筛选 |
CN111512381B (zh) * | 2018-01-08 | 2024-03-29 | 国际商业机器公司 | 用于癌症概率的库筛选 |
CN109409533B (zh) * | 2018-09-28 | 2021-07-27 | 深圳乐信软件技术有限公司 | 一种机器学习模型的生成方法、装置、设备及存储介质 |
CN109409533A (zh) * | 2018-09-28 | 2019-03-01 | 深圳乐信软件技术有限公司 | 一种机器学习模型的生成方法、装置、设备及存储介质 |
CN110059766A (zh) * | 2019-04-26 | 2019-07-26 | 兰州大学 | 一种运用k临近算法进行降水类型分类的方法 |
CN112598082B (zh) * | 2021-01-07 | 2022-07-12 | 华中科技大学 | 基于非校验集预测图像识别模型泛化误差的方法及系统 |
CN112598082A (zh) * | 2021-01-07 | 2021-04-02 | 华中科技大学 | 基于非校验集预测图像识别模型泛化误差的方法及系统 |
CN113742216A (zh) * | 2021-07-26 | 2021-12-03 | 科大讯飞股份有限公司 | 一种检测机器学习引擎的效率的方法、装置和存储介质 |
CN113742216B (zh) * | 2021-07-26 | 2023-12-01 | 科大讯飞股份有限公司 | 一种检测机器学习引擎的效率的方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106169096B (zh) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106169096B (zh) | 一种机器学习系统学习性能的评估方法 | |
Chen et al. | A rough set approach to feature selection based on ant colony optimization | |
Niedermeier | Invitation to fixed-parameter algorithms | |
Gomariz et al. | Clasp: An efficient algorithm for mining frequent closed sequences | |
Amasyali et al. | Classifier ensembles with the extended space forest | |
Mei et al. | A fuzzy approach for multitype relational data clustering | |
Smith et al. | Partitioning networks with node attributes by compressing information flow | |
Cheng et al. | A local cores-based hierarchical clustering algorithm for data sets with complex structures | |
Sánchez et al. | Efficient algorithms for a robust modularity-driven clustering of attributed graphs | |
Cheng et al. | A hierarchical clustering algorithm based on noise removal | |
Chen et al. | Mining maximum consensus sequences from group ranking data | |
CN107392048B (zh) | 一种数据可视化中的差分隐私保护方法及其评价指标 | |
Ladd et al. | Exploring and analyzing network data with Python | |
Cacace et al. | A local ordered upwind method for Hamilton-Jacobi and Isaacs equations | |
Guillemot | Parameterized complexity and approximability of the longest compatible sequence problem | |
Li et al. | Certainty weighted voting-based noise correction for crowdsourcing | |
Tayal et al. | A new MapReduce solution for associative classification to handle scalability and skewness in vertical data structure | |
Müller et al. | Extracting knowledge from life courses: Clustering and visualization | |
Chen et al. | Clustering high dimensional categorical data via topographical features | |
CN106383738A (zh) | 任务处理方法和分布式计算框架 | |
Asbeh et al. | Learning latent variable models by pairwise cluster comparison: Part i-theory and overview | |
Pimentel et al. | Efficient estimation of node representations in large graphs using linear contexts | |
Laha et al. | A novel sandwich algorithm for empirical Bayes analysis of rank data | |
Herrera et al. | Ensemble-based classifiers | |
Zhang et al. | A collaborative filtering recommendation system by unifying user similarity and item similarity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |