一种快速的结构化支持向量机文本分类优化算法的制作方法

文档序号:12121743阅读:296来源:国知局

本发明涉及文本分类领域,更具体地,涉及一种快速的结构化支持向量机文本分类优化算法。



背景技术:

随着互联网技术的迅速发展,随之带来的海量数据的分类、组织与管理,已经成为一个具有重要研究意义的课题。而这些数据中,文本数据是数量最大的一类,包括新闻报道、用户评论、邮件、广告等等。这些包含大量文字内容的传播载体,需要一个完善的分类机制对信息进行管理与过滤,因此文本分类应运而生。文本分类是指依据文本的内容,由计算机根据某种自动分类算法,把文本判分到预先定义好的类别,是信息存储、信息检索等领域的重要课题。近年来,基于统计理论和机器学习的方法被应用到文本分类中,取得了较好的效果,但在面向应用时,实际数据集的不平衡或偏斜问题成为一大新挑战。不平衡数据集在现在机器学习研究和应用中非常重要,在医疗诊断、文本分类、信息检索、推荐系统等热门领域中,对不平衡数据集的处理方法研究引起广泛重视。

传统的文本分类,是依靠一系列规则来处理的:如果某文本符合某一规则,那么将它归为某一类。这种基于知识工程的方法需要消耗大量的人力、时间,不具备可推广性。当下文本分类方法主要以统计理论为基础,利用机器学习方法来完成,能过获得较好的效果,但在实际应用过程中仍有许多缺陷。

首先,一般机器学习方法的研究背景一般是基于抽样的统计,这些样本往往满足一定的分布条件,但是在大数据环境下的数据集更倾向于全量数据分析,而非抽样统计,因此会带来了不少问题,比如数据噪声多,错误率较高,数据分布不平衡等。例如垃圾邮件的检测中,内容非法的邮件总是占少数的,这样的数据集中,正负样本数量相差很大。处理这样的数据集时,如果没有对算法加以修正和改进会造成精度和预想结果大相径庭。

不平衡数据集分为两类,第一种是类间的不均衡,表示不同类别的数据之间的样本数量不均衡,例如二分类问题中,两类样本数量的比例为99:1;第二种是类内的不均衡,指的是少数类的样本中包含一个少数有限样本子集。

其次,传统的文本分类器一般使用错误率作为评价指标,通过计算预测结果和实际结果之间的偏差来判定分类器的好坏。但在样本数量不平衡的情况下,这个评价指标有很大的缺陷。例如前文提到的邮件文本,样本极度不平衡的情况下若使用错误率进行评估,即使全部预测成正类(正常邮件)错误率仍会很低,这样的结果没有意义。因此在文本分类中,当错误率由于正负样本之间的大量失衡而不适合的时候,F值、AUC能够更好的评价分类器性能。下文会对这两种指标加以叙述。

第三,虽然采用F值、AUC能够作为好的评估指标,那么可以考虑通过直接优化F值或AUC来训练一个文本分类模型,一定程度上类似于Ranking SVM等方法,它们以降低训练误差为目标,但对于训练样本不平衡的情况下表现较差,分类器对小类样本所产生的训练实例区分不好,甚至视若无睹。可以想到,若以优化F值或AUC为目标,很容易造成过拟合的情况,使得最终结果适得其反。提出了以F值或AUC为目标的解决办法,但其优化速度过慢,计算复杂度很大。

现有技术中还有提出使用集成学习来对不同的分类器取长补短,即在对样本进行分类的时候,把若干个单个分类器集成起来,通过对多个分类器的分类结果进行某种组合来决定最终的分类,以取得比单个分类器更好的性能。但是并不是所有的集成方式都有效的,即使能够提高F值和AUC,但多种分类器的组合导致模型极为复杂,时间复杂度高,可解释差。



技术实现要素:

本发明提供一种快速的结构化支持向量机文本分类优化算法,该算法提高在文本数据集不平衡情况下的分类精度,有效提高分类性能。

为了达到上述技术效果,本发明的技术方案如下:

一种快速的结构化支持向量机文本分类优化算法,包括以下步骤:

S1:对结构化支持向量机的目标函数进行扩展得出结构化支持向量机的对偶形式;

S2:利用得出的对偶形式通过坐标上升法对结构化支持向量机的目标函数进行优化。

进一步地,所述步骤S1的具体过程如下:

S21:对结构化支持向量机的目标函数进行扩展有:

(1)

其中,y是某种结构化的标签,是实际标签,是预测标签,预测标签和真实标签之间差距造成的代价,是参数向量,是对模型的先验假设,是输入样本;

S22:为化简(1),令

=,可以得出: ,;

其中,,,,,;

S23:利用Fenchel对偶理论对上式进行处理得出结构化支持向量机的对偶形式:

,;

其中,是对偶目标函数,为拉格朗日乘子。

进一步地,所述步骤S2的过程如下:

用原始目标函数及其对偶形式之间的差值作为迭代次数截断条件,利用坐标上升法对目标函数进行迭代更新,通过多次迭代来进行目标函数的优化,提出的坐标上升方法具体的过程如下:

对梯度向量遍历其所有元素,沿索引选择最大的子元素,对于每个选定的索引j,通过固定一个变量来更新,用贪婪方法增加的值,直到迭代次数截断条件满足。

进一步地,在多项时间内优化目标函数,利用坐标上升法对目标函数进行迭代更新的过程如下:

S41:对偶目标函数的梯度向量中遍历下标j找到最大的子元素,其中,关于的梯度向量是:,求出其中最大的子元素,定义为:

(2)

S42:上式(2)是在结构化支持向量机中寻找约束条件,对于每一个训练样本()维护一个约束条件的集合,迭代求解每一个w,寻找与约束条件相背的最大值,不断更新的值,在其为最大值情况下的w是可接受的一定误差下的最优解,更新规则如下:

其中,参数满足,,,在迭代计算中使用和。

进一步地,在多项式时间内解出函数:

并以特定性能度量指标作为损失函数;

S51:以值作为损失函数:在文本分类中,值越大说明分类器的效果越好。为了使得目标函数值达到最大,则需要在a个正样本在被正确分为正样本时使得最大,以及d个负样本中被正确分为负样本时使得最小,为输入集合的第k个样本,其中正样本标注为1,负样本标注为-1,遍历样本求得达到最大值时预测标签y;

S52:以AUC作为损失函数:

AUC值更大的分类器效果更好。首先需要根据的值对所有正样本打分,根据值对所有负样本打分,将问题转化为样本得分的学习排序问题,目的是确保正样本的得分值比负样本的大,通过组成正样本和负样本的标签、得分二元组并遍历,即可得到错误率。

进一步地,对于每个选定的索引j,通过固定一个变量来更新的过程如下:

S61:确定更新规则:

其中,,表示维度的向量中第j个元素为1而其他元素全为零,在更新之前给定,,该规则能够确保在更新之后,仍然成立;

S62:将S61中确定的更新规则代入式子中:,得到关于的优化问题:,优化目标是找到某个,使得对偶目标函数最大化;

S63:在上述的优化问题中令的梯度为零,得到,进一步约束。

与现有技术相比,本发明技术方案的有益效果是:

本发明针对不平衡数据集的文本分类任务,用精确率、召回率、AUC等性能评估方法直接优化大类性能评价指标,该方法不同于大多数传统的文本分类算法:代替学习一个单一规则来预测单个样本的标签,该方法将学习问题形式化为在数据集中的所有样本上的一个多元预测问题,区别于传统方法将降低总体分类错误率为目标的思想,提高在文本数据集不平衡情况下的分类精度,有效提高分类性能;参考基于Structural SVM的稀疏逼近算法,该方法不仅有较好的时间复杂度,可以用于从精确率、召回率计算出来的评价指标,如F值,以及AUC的优化,降低了时间复杂度并获得了更好的效果。

附图说明

图1为本发明过程的流程图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

如图1所示,一种快速的结构化支持向量机文本分类优化算法,包括以下步骤:

S1:对结构化支持向量机的目标函数进行扩展得出结构化支持向量机的对偶形式;

S2:利用得出的对偶形式通过坐标上升法对结构化支持向量机的目标函数进行优化。

在文本分类中,支持向量机SVM(Support Vector Machine)的实现即是在数据集中寻找最大超平面的过程,它是针对线性可分情况进行分析的。对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能。

将SVM的目标函数做一些扩展,可以得到:

是某种结构化的标签,预测标签和真实标签之间差距造成的代价是非凸离散的,是对模型的先验假设,在接下来的优化中可以起到加速作用,

是为了找到最接近真实标签的。其中,,在此定义:

,,,。那么此时上述的目标函数简化为:

= (1)

可以看出:

定义Ⅰ、Fenchel对偶理论是由德国数学家Werner Fenchel提出的凸函数优化理论。定义函数的Fenchel共轭为:。

根据共轭函数的定义,是对求上确界,于是一定有,即Fenchel不等式(Young-Fenchel inequality),它表明了函数及其共扼函数之间的不等式关系。

定理Ⅰ:Fenchel不等式表明,任何在函数的定义域中的和函数的定义域中的点,都有:

。 (2)

当且仅当时该式的相等情况成立。

定理Ⅱ:Fenchel对偶不等式(Fenchel Duality inequality)表明,令,是两个闭凸函数,且是大小为的矩阵,那么可以得到:

。 (3)

其中,,。当且仅当时该式的相等情况成立。由定理Ⅰ由可知范式的Fenchel对偶形式(即Fenchel共轭)就是,因此, 即为:

。 (4)

由[1]中关于Fenchel共轭对的证明已知的Fenchel共轭是,的Fenchel共轭是。那么可以得到的Fenchel共轭为:

。 (5)

此外,的Fenchel共轭是。其中为指示函数,当为真时,反之则。为方便起见,令。易得:

因此,通过公式(5),可以求得的Fenchel共轭为:

(6)

通过(3)(4)和(6),可以得到Structured SVM的对偶形式:

(7)

以上,和原始目标函数的形式比起来,式子(7)中的对偶形式带有线性约束的平滑的二次函数,更容易优化。

对于前述式子(7)的优化问题,使用坐标上升法来对目标函数进行优化,其中用原始目标函数及其对偶形式之间的差值作为Early stopping条件,Early stopping是一种迭代次数截断的方法来防止过拟合的方法,即在模型对训练数据集迭代收敛之前停止迭代来防止过拟合。坐标上升法是机器学习中常用的方法,每次更新函数中的一个维度,通过多次的迭代以达到优化函数的目的。提出的坐标上升方法如算法Ⅰ所示,具体的过程如下:对梯度向量遍历其所有元素,沿索引选择最大的。对于每个选定的索引,通过固定某个变量来更新,用贪婪方法增加的值,直到early stopping条件满足。

对偶目标函数的梯度向量中遍历下标找到最大的子元素。特别的,关于的梯度向量是:

中最大的元素为:

定义:

。 (8)

对于式子(8),实际上即是Structured SVM中寻找条件约束。对于一个训练样本维护一个约束条件的集合,迭代求解每一个,寻找与约束条件相背的最大值,即“most violated constraint”。不断更新的值,在其最大值的情况下的是一定误差下的最优解。

对于常用的度量方法,已有多项式时间内的解决办法提出。它可以用这些推论来解(8),从而获得梯度向量中最大的元素值。比如将F值作为度量标准,实现办法如算法Ⅰ所示;若将AUC值作为度量标准,则可以用算法Ⅱ来解出(8)。

在得到对偶形式之前,我们首先介绍定义及其主要性质。

对于每个选定的索引,通过固定某个变量来更新。更新规则如下:

(9)

其中,表示维度的向量中第个元素为1而其他元素全为零。值得注意的是,在更新之前给定,,且。这个规则能够确保在更新之后,仍然成立。将(9)带入(7),可以得到关于的优化问题:

(10)

优化目标是找到某个,使得对偶目标函数最大化。

令(10)在的梯度为零,可得:

经过计算可得:

(11)

前面提到具有约束,因此需要进一步约束:

(12)

(12)中对的计算取决于和。然而,,且,因此这个计算会受的指数量级影响,计算复杂度很大。为了提高效率,引入一个辅助变量来减小计算的成本。前文定义过,。在迭代计算中使用和。

当(9)对进行更新时,可以得到和的更新规则:

(13)

(14)

此时,和更新的时间复杂度分别为。(12)可以简化为:

(15)

那么,更新时间复杂度减小到。

Early stopping的条件定义为原始目标函数及其对偶形式之间的差值:,是预先定义的容错度。假设是原始目标函数的最优值,根据定理Ⅱ,可以得到:

可以得知通过在约束下(9)的更新,算法Ⅱ能够确保在所有迭代过程中,约束条件,成立。换言之,迭代过程中总有成立。因此,结合原始目标函数和(7),可得:

(16)

根据定理Ⅰ,可以得到,当时等式成立。为了得到上界成立,可以令,则可得:

,(17)

因此,Early stopping条件设置为:,计算复杂度为。

相同或相似的标号对应相同或相似的部件;

附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

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