本发明涉及机器学习领域,涉及一种可避免过拟合的文本分类系统。
背景技术:
现今,过拟合在机器学习是个很严重的问题,产生的原因为,在实际使用中,因为大部分文本分类方法都采用了向量空间模型,即把每一篇文档看作一个词袋,每个词作为特征。必然会导致冗余向量的产生,并且会产生一个高维稀疏矩阵。但是过分地追求训练集的准确率,会加大模型的复杂性,学习无法学习趋势,而只是将训练数据中的非可预测的特征。如果数据未出现,表现性变差,成为了过拟合。
技术实现要素:
有鉴于此,本发明提供一种解决或部分解决上述问题的可避免过拟合的文本分类系统。
为达到上述技术方案的效果,本发明的技术方案为:一种可避免过拟合的文本分类系统,包含:
文本分类系统包含过拟合率判断模块、文本分类模块;
过拟合率判断模块用于判断过拟合的严重程度,使用过拟合率ro来判断,
过拟合率ro的定义如下:
其中,o表示测试误差,z表示训练误差,u表示训练集的规模或者迭代次数;过拟合率的正负由测试误差决定,并且与测试误差的正负相反;当过拟合率小于零时,随着训练集的规模或者迭代次数的增大,测试误差o也增大了,过拟合率ro的值越小,那么过拟合的程度越严重;如果需要进一步降低测试误差o,通过增加补偿项以增大训练误差z以避免过拟合;当过拟合率等于0,训练集合增加,测试误差不再变化;
过拟合率大于零,表示随着训练规模的增大,测试误差降低;当过拟合率维持正数,不再存在过拟合的问题;训练样本等同于训练样本集合;
文本分类模块负责对文本进行分类,分为两步,第一步,预处理过程,第二步,具体的处理过程;
预处理过程中,定义文本分类模块的输入以及输出,文本分类模块的输入为训练样本集合d={(x1,y1),...,(xi,yi),...,(xm,ym)},其中,d为训练样本集合,(x1,y1),...,(xi,yi),...,(xm,ym)为训练样本,x={x1,...,xi,...,xm}为训练样本点,y={y1,,...,yi,...,ym}为训练样本集合的类别标签,x为训练样本点,y为训练样本点的类别标签,为使用分类器后对样本点的分类结果,m为训练样本点的个数;具有相同下标的训练样本点与类别标签为相互对应的,即第i个训练样本点xi的分类结果为yi,i为=1,…,m;文本分类模块的输出为分类器
在具体的处理过程中,具体步骤如下:
3)初始化训练样本的权重值为
4)开始迭代,设置迭代的总次数为t,t为正整数;迭代的参数为t,t为正整数,表示处于第t次迭代,t=1,…,t;
2.a)输入参数λ以及训练样本集合d,选择d的子集d’,选择训练样本点的个数为c=m×λ,其中,0<λ≤1,具体过程为,将训练样本集合d={(x1,y1),...,(xm,ym)}作为待选择的集合,每次从待选择的集合中选择一个训练样本点,选择的次数为c,c为正整数,选择的步骤为:
首先,初始化n=0,n表示选择的计数参数,用于计算已经选择的训练样本的个数,为正整数;
iv.为每一个训练样本(xi,yi)赋值选择权重qi,i=1,…,m,
v.生成随机数p,随机数p等于rand(0,qm),即随机产生在0到qm之间的一个数赋值给p,利用选择权重q划分区间集合,区间集合包含的区间为[q0,q1][q1,q2]、[q2,q3],…,[qi,qi+1],…,[qm-1,qm],区间[qi,qi+1]对应于训练样本(xi,yi);qi为第i个选择权重;
vi.判断随机数o属于区间集合中包含的区间,从训练样本集合d中调出选择的训练样本放入训练样本集合的子集d',设定两个整数l、r,l初始为0,r初始等于m-1,分别与区间集合中包含的区间[q0,q1]、[qm-1,qm]对应,并且满足ql≤r以及qr>r:循环1的过程为,取中间数
当跳出循环1,将区间[ql,ql+1]从区间集合去除,将(xl,yl)加入训练样本的子集d’,n=n+1,并且转到第i步;
当n的值等于c时,训练样本集合d的子集d’被选择完毕;
2.b)将训练样本集合d的子集d’以及第t次迭代第i个训练样本点xi的权重wi(t)作为输入参数,进行分类,分类迭代式为h(t)=l(d’,wt(t)),l表示对权重值为wi(t)、训练样本集合d的子集d’进行学习训练,h(t)为弱分类器h的第t次迭代分类结果,文本分类模块中采用了elm模型作为弱分类器h的学习训练模型,第t次迭代分类的误差e(t)为:
h(t)(xi)表示对第t次迭代使用弱分类器h对训练样本点xi进行分类结果,h(t)(xi)≠yi表示第i个训练样本点xi的分类结果不等于相应的分类标签yi,
2.c)计算弱分类器h在第t次迭代的权重β(t),计算式如下:
在每一次迭代,都通过上式计算弱分类器h在第t次迭代的权重β(t);β表示弱分类器h的权重;
2.d)重新调整训练样本的权重,调正的公式如下:
根据上一步的弱分类器h在第t次迭代的权重β(t)的值,对其进行限制,h(t)(xi)表示弱分类器h在第t次迭代对第i个样本点xi的分类后的类别标签,xi表示第i个样本点,yi表示第i个类别标签;
2.e)对下一轮的训练样本权重
t=t+1,当t等于t时,跳出迭代;
最后,计算分类器的分类器
本发明的有益成果为:本发明提供的一种可避免过拟合的文本分类系统,本发明的方法对过拟合问题进行了定量描述,使用了描述过拟合问题的参数ro,ro为过拟合率,用于描述过拟合问题是否发生、严重程度,并且本方法还针对提高过拟合问题中的分类准确率,提出新的方法。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,能实现同样功能的产品属于等同替换和改进,均包含在本发明的保护范围之内。具体方法如下:
实施例1:一般来说,文本分类方法采用了向量空间模型,在向量空间模型中,包含多个词袋,且词袋包含多个词,所述词袋代表一篇文档,词代表特征;所述向量空间模型中会导致冗余向量的产生,并且产生高稀疏矩阵,所述冗余向量与所述高稀疏矩阵都会导致过拟合的产生;
所述过拟合问题可以解释为,训练集的准确率会提升学习模型的复杂度,从而所述学习模型只记录了训练数据中的非可预见特征;所述学习模型处理新数据时,效果不好的现象;
深度神经网络作为一个复杂的机器学习模型,里面包含过大的参数量,易陷入过拟合;
所述过拟合问题的一般解决方案为,采用可以采用特征降维、正则化及随机丢弃(dropout)神经元的方法;现今,缺乏所述过拟合问题的定量描述方法;
本发明提供了解决所述过拟合问题的定量描述方法,在这其中提出了过拟合率的参数,过拟合率用来描述过拟合问题是否发生以及其的严重程度;并且本发明设计了一种新的算法adabelm来避免过拟合问题以及提高分类的准确率;
过拟合率的定义如下:
其中,使用ro来表示过拟合率,y表示测试误差,z表示训练误差,u表示训练集的规模,或者迭代次数;所述过拟合率的正负由所述测试误差决定,并且与所述测试误差的正负相反;
当所述过拟合率小于零时,表示随着所述训练集的规模或者所述迭代次数的增大,所述测试误差也增大了;即所述过拟合率的值越小,那么过拟合的程度越严重;
在避免所述过拟合的问题的前提下,通过增加补偿项以增大训练误差z,从而降低所述测试误差y;
所述过拟合率大于零,表示随着所述训练规模的增大,所述测试误差降低;
adaboost算法由kearns以及valiant提出。具体过程如下:
在初始时,训练样本集合p={(x1,y1),...,(xm,ym)}都被赋予相同大小的权重,该权重为初始权重分布d1;权重的分配为重复进行的,第t次权重分配为dt,并且弱分类器ht:x→y从训练样本集合以及分布dt中产生,弱分类器ht的错误率也被计算;其中,x={x1,...,xm}为样本点,y={y1,...,ym}为训练样本集合的类别标签,y1,...,ym={0,1,...,c},m为所述样本点的个数,为正整数;没有被正确分类的样本的权重的值增加,被正确分类的样本的权重的值减少;在下一个循环中dt+1的值被更新,从而从训练样本集合以及dt+1,新的基本机产生;上述过程共重复t次循环,t为正整数,最终模型是由第t个弱学习器进行大多数选举得到的;算法的目的为从训练样本集合中学习一系列弱分类器或基本分类器,然后将弱分类器或基本分类器组合成一个强分类器。用步骤描述以下过程为:
预处理为,定义算法的输入与算法的输出,算法的输入为训练样本集合d={(x1,y1),...,(xm,ym)},迭代的次数t;算法的输出为分类器
1)初始化训练样本的权重值为
2)进行t次迭代,设当前迭代的次数为t,t=1,...,t
3.a)对于权重分配dt以及wi(t),得到弱分离器h(t)=l(dt,wt(t)),l表示对权重值为wi(t)、权重分布为dt的训练样本集合进行学习训练,h(t)为弱分类器,弱分类器可以为将训练样本x分类为-1或者1,分类的误差e(t)为:
其中,i函数表示对wi(t)的限制,h(t)(xi)表示弱分类器h在第t次迭代对xi的分类后的类别标签,xi表示第i个样本点,yi表示第i个类别标签;将弱分类器分类不正确的训练样本对应的权重相加;
2.b)计算弱分类器的权重β(t),计算式如下:
在t轮迭代,都通过上式计算弱分类器的权重β(t);
2.c)重新调整训练样本的权重,调正的公式如下:
根据上一步的弱分类器的权重β(t)的值,对其进行限制,h(t)(xi)表示弱分类器h在第t次迭代对xi的分类后的类别标签,xi表示第i个样本点,yi表示第i个类别标签;将分类结果不正确的弱分类器的权重当作e的指数,然后与
最后,对下一轮的训练样本权重
组合分类器,得到新的分类器
实施例2:极限学习机的机制,elm模型;
elm是一种具有快速训练训练集的单层前馈网络,在网络中只有三个层:输入层theinputlayer,隐藏层thehiddenlayer和输出层theoutputlayer。假设有n个任意的样本(xi,ti),其中xi=[xi1,xi2,...,xin]t∈rn,ti=[ti1,ti2,...,tin]t∈rm。对于一个有l个隐层节点的单隐层神经网络可以表示为
其中,g=g(x)为激活函数,wi=[wi,1,wi,2,···,wi,n]t为输入权重,βi为输出权重,bi是第i个隐层单元的偏置。wi·xj表示wi和xj的内积。
单隐层神经网络学习的目标是使得输出的误差最小,可以表示为
即存在βi,wi和bi,使得
可以矩阵表示为
hβ=t
其中,h是隐层节点的输出,β为输出权重,t为期望输出。
为了能够训练单隐层神经网络,我们希望得到
其中,i=1,|,l,这等价于最小化损失函数
传统的一些基于梯度下降法的算法,可以用来求解这样的问题,但是基本的基于梯度的学习算法需要在迭代的过程中调整所有参数。而在elm算法中,一旦输入权重wi和隐层的偏置bi被随机确定,隐层的输出矩阵h就被唯一确定。训练单隐层神经网络可以转化为求解一个线性系统hβ=t。并且输出权重β可以被确定
其中,h+是矩阵h的moore-penrose广义逆。且可证明求得的解
本发明能够避免过拟合的问题,得到效果好的文本分类方法,采用了极限学习机作为基分类器,并且采用了训练子集作为基分类器,参数λ用来控制训练集的规模;其中,0<λ≤1,具体解释为,当0<λ<1时,为每一个基分类器选择训练样本的一个子集作为训练集,当λ=1时,使用整个训练集。对于训练子集的选择。对于没有被选择的数据,增大其在下一轮循环中被选中的概率。本发明不仅可以有效地处理大数据问题,同时能够避免过拟合问题。
所述方法分为两步,第一步,预处理过程,第二步,具体的处理过程;
所述预处理过程中,定义所述方法的输入以及输出,输入为训练样本集合d={(x1,y1),...,(xm,ym)},其中,d为训练样本集合,(x1,y1),...,(xm,ym)为训练样本,x={x1,...,xm}为样本点,y={y1,...,ym}为所述训练样本集合的类别标签,y1,...,ym={0,1,...,c},m为所述样本点以及训练样本的个数,x为样本点,y为类别标签,为使用分类器后对样本点的分类结果,相同下标的样本点与类别标签为相互对应的;输出为算法的输出为分类器
在具体的处理过程中,具体步骤如下:
5)初始化训练样本的权重值为
6)开始迭代,设置迭代的总次数为t;迭代的参数为t,表示出于第t轮迭代,t为正整数,表示出于第t轮迭代,t=1,…,t;
2.a)输入参数λ以及训练样本集合d,选择d的子集,选择训练样本点的个数为c=m×λ,0<λ≤1,具体过程为,将所述训练样本集合d={(x1,y1),...,(xm,ym)}作为待选择的集合,每次从所述待选择的集合中选择一个训练样本点,选择的次数为c,c为正整数,选择的步骤为:初始化整数n=0,n表示选择的计数参数,用于计算已经选择的训练样本的个数;
vii.为每一个训练样本点(xi,yi)赋值选择权重qi,i=1,…,m,
viii.生成随机数o,所述随机数o等于rand(0,qm),即随机产生在0到qm之间的一个数,利用选择权重qi划区间集合,其包含的区间为[q0,q1][q1,q2]、[q2,q3],…,[qi,qi+1],…,[qm-1,qm],区间[qi,qi+1]对应于训练样本点(xi,yi),当所述随机数r属于[qi,qi+1],选择训练样本点(xi,yi),当r在区间[qi,qi+1]之间,将区间[qi,qi+1]从所述区间集合中去除,此时n=n+1,并且转到第i步;
ix.判断所述随机数o属于区间集合中包含的哪个区间,从所述训练样本集合d中调出对应的训练样本放入训练样本集合的子集d|,设定两个整数l、r,l初始为0,r初始等于m-1,分别表示与区间集合中包含的区间[q0,q1]、[qm-1,qm]对应,并且满足qlr以及qrr:所述循环1的过程为,取中间数
将区间[ql,ql+1]从所述区间集合去除,将(xl,yl)加入训练样本的子集,n=n+1,并且转到第i步;
当n的值等于c时,训练样本的子集被选择完毕;
2.b)将训练样本的子集以及训练wi(t)作为输入参数,进行分类,分类迭代式为h(t)=l(d^,wt(t)),l表示对权重值为wi(t)、权重分布为dt的训练样本集合进行学习训练,h(t)为弱分类器h的第t次迭代分类结果,所述方法中采用了elm模型作
为所述弱分类器h的学习训练模型,第t次迭代分类的误差e(t)为:
h(t)(xi)表示对第t次迭代使用弱分类器h样本点xi进行分类结果,h(t)(xi)≠yi表示第i个样本点xi分类结果不等于相应的分类标签yi,
2.c)计算弱分类器h在第t次迭代的权重β(t),计算式如下:
在每一轮迭代,都通过上式计算弱分类器h在第t次迭代的权重β(t);β表示弱分类器h的权重;
2.d)重新调整训练样本的权重,调正的公式如下:
根据上一步的弱分类器h在第t次迭代的权重β(t)的值,对其进行限制,h(t)(xi)表示弱分类器h在第t次迭代对第i个样本点xi的分类后的类别标签,xi表示第i个样本点,yi表示第i个类别标签;
2.e)对下一轮的训练样本权重
本发明的有益成果为:本发明提供的一种可避免过拟合的文本分类系统,本发明的方法对过拟合问题进行了定量描述,使用了描述过拟合问题的参数ro,ro为过拟合率,用于描述过拟合问题是否发生、严重程度,并且本方法还针对提高过拟合问题中的分类准确率,提出新的方法。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。