一种面向词和组合词的垃圾短信文本特征选择方法与流程

文档序号:11286275阅读:317来源:国知局
一种面向词和组合词的垃圾短信文本特征选择方法与流程

本发明涉及一种特征选择方法,具体是一种面向词和组合词的垃圾短信文本特征选择方法,属于基于文本内容的垃圾短信识别技术领域。



背景技术:

常用的文本表示模型主要有两个特点,分别为高维度和高稀疏性。如果直接使用文本表示模型将原始文本数据转换成结构化数据,不仅会增加分类器的学习和预测的计算量,降低分类模型的训练和测试效率,而且会导致分类模型过拟合,模型方差较大,泛化能力较差,对测试样本的预测准确率不高。因此,研究人员越来越关注在不降低预测准确率的前提下降低特征维度,从而提高分类模型预测性能的研究。常用特征降维方法主要有两种:一种是特征选择,另一种是特征提取。特征选择方法是从原始的特征集中选取一定数目的子集,而特征提取是对原始特征集中的特征进行组合和变换。

文档频率是一种简单而又高效的特征选择方法。yang和pedersen经过研究发现,文档频率能够在不降低分类器分类准确率的情况下,将文本表示模型的维度降低到到原来的十分之一,进一步,即使维度降低到原来的百分之一,分类器的分类准确率也不会降低很多。

除了文档频率之外,还有许多基于信息论或统计学的特征选择方法。最为常用的主要有:信息增益(informationgain)、卡方检验(chi-square)、互信息(mutualinformation)、几率比(oddsratio)、基于模糊度量的特征选择(ambiguitymeasure,am)、改进的基尼指数(improvedginiindex)、基于泊松分布的度量(measureusingpoissondistribution)、基于二项假设检验的特征选择(bi-test)等。

文本特征选择与扩展是研究和建立分类模型的前提,精简的、有区分性的特征有助于提高分类算法的性能,是分类算法性能上限的决定性因素。在文本分类中,统计阈值、信息增益和几率比是常用的特征选择方法。简单的基于统计阈值的方法选择的特征不具有区分性;由于中文文本的复杂性,简单的基于分词结果选择特征可能并不可靠;组合词特征往往能更准确地描述垃圾短信所特有的信息;短信文本长度具有一定的区分性;传统的基于几率比的方法没有考虑某种类别下特征词的0概率现象所带来的几率比不可计算问题;基于统计阈值、信息增益和几率比的方法在阈值设定上比较困难。本发明针对这些问题提出解决方法和改进,并提出基于rf和lr的特征选择算法。



技术实现要素:

发明目的:短信文本预处理是选择短信文本特征项的基础,预处理结果的好坏将直接影响特征选择与扩展的有效性和准确性,本发明针对现有的垃圾短信分类问题中短信文本预处理的不足,使用一种较为完善的预处理方法。

技术方案:一种面向词和组合词的垃圾短信文本特征选择方法,包括以下六个方面:

(1)短信文本预处理,主要的预处理内容包括:分词、短信文本统一转简体表述、号码等脱敏字符串转单字符、去除停用词;

(2)基于统计阈值和平均信息增益的频繁词特征选择,其中统计阈值衡量特征词在垃圾短信中出现的高频性,信息增益体现特征词对短信的区分能力。阈值是可调参数,根据阈值选择频繁词作为特征词集,根据特征词集的平均信息增益变化情况决定是否继续调整阈值;

(3)基于n-gram算法的双字词和组合词特征选择,基于n-gram算法产生文字片断序列,根据步骤(2)得到的最优统计阈值过滤掉非频繁序列,将剩余的序列构建关联矩阵,矩阵元素为对应行列组合序列在垃圾短信文本中的出现频度,根据一定的标准筛选组合文字序列;

(4)非修饰性实词组合成元组特征,遍历所有的垃圾短信文本寻找名词+动词\形容词组合,根据一定的标准对所得元组特征进行筛选;

(5)基于累积信息增益的特征选择,对由以上步骤得到的词和组合词特征的合并结果,选择累积信息增益达到原始特征词信息增益总和的95%的特征词,进而构建特征词向量;

(6)基于垃圾短信分类评价指标的特征工程优化,提出一种面向垃圾短息分类的评价指标,基于评价指标对特征工程进行优化,主要包括加入信息量特征、基于改进几率比的特征选择、基于随机森林和逻辑回归的特征选择。

所述内容(1)短信文本预处理,主要的预处理内容包括:分词、短信文本统一转简体表述、号码等脱敏字符串转单字符、去除停用词,具体为:

(1.1)使用ansj对短信文本分词,保留词性标注;

(1.2)短信文本统一转简体表述、号码等脱敏字符串转单字符;

(1.3)根据停用词表去除停用词。

所述内容(2)基于统计阈值和平均信息增益的频繁词特征选择,其中统计阈值衡量特征词在垃圾短信中出现的高频性,信息增益体现特征词对短信的区分能力。阈值是可调参数,根据阈值选择频繁词作为特征词集,根据特征词集的平均信息增益变化情况决定是否继续调整阈值,具体为:

(2.1)初始化阈值为150;

(2.2)扫面垃圾短信文本分词结果集,统计每条短信中每个词在垃圾短信文本中出现的次数,删掉那些次数小于当前阈值的词语,得到频繁词作为当前特征词集;

(2.3)计算当前特征词集中特征词的平均信息增益;

(2.4)以步长50增大阈值,重复(2.2)和(2.3),直到平均信息增益增长趋缓或者下降甚至为负为止。

所述内容(3)基于n-gram算法的双字词和组合词特征选择,基于n-gram算法产生文字片断序列,根据步骤(2)得到的最优统计阈值过滤掉非频繁序列,将剩余的序列构建关联矩阵,矩阵元素为对应行列组合序列在垃圾短信文本中的出现频度,根据一定的标准筛选组合文字序列,具体为:

(3.1)在原始垃圾短信文本上运行4-gram算法,产生所有长度为2的文字片断序列;

(3.2)预过滤,统计所有文字片断序列的频度,根据频度阈值400删除频度小于该阈值的文字片断序列;

(3.3)将剩余的文字片断序列构建关联矩阵,矩阵中每个元素是对应行列组合文字序列的频度;

(3.4)根据关联矩阵中元素的值筛选组合文字序列,如果大于0.6×max(countofgramrow,countofgramcol)(countofgramrow和countofgramcol分别为行列文字片断序列的频度),则保留该组合文字序列。

(3.5)最后,删除参与合并的文字片断序列。

所述内容(4)非修饰性实词组合成元组特征,遍历所有的垃圾短信文本寻找名词+动词\形容词组合,根据一定的标准对所得元组特征进行筛选,具体为:在使用ansj进行分词时,保留了词性标注,遍历所有的垃圾短信文本寻找满足上述条件的元组特征,根据0.6×max(名词,动词或者形容词)的阈值进行筛选。

所述内容(5)基于累积信息增益的特征选择,对由以上步骤得到的词和组合词特征的合并结果,选择累积信息增益达到原始特征词信息增益总和的95%的特征词,进而构建特征词向量,具体为:

(5.1)计算所有特征的信息增益g(d,ai),i=1,2,3,…m,共m个特征,d为训练集,ai为第i个特征词,如果某个特征的信息增益为负,则删除该特征,并且不参与累加求和,否则累加到信息增益和sumofig中;

(5.2)将剩余特征按照信息增益倒序排列,从大到小累加当前特征的信息增益直至和达到0.95×sumofig为止;

(5.3)选取参与累加的特征为最终的特征选择结果。

所述内容(6)基于垃圾短信分类评价指标的特征工程优化,提出一种面向垃圾短息分类的评价指标,基于评价指标对特征工程进行优化,包括加入信息量特征、基于改进几率比的特征选择、基于随机森林和逻辑回归的特征选择,具体为:

(6.1)提出面向垃圾短信分类的评价指标,包括准确率accuracy、正确率召回率其中tp为真实类别为1(垃圾短信)并且预测为1的样本数目,fp为真实类别为0而预测为1的样本数目,fn为真实类别为1而预测为0的样本数目;

(6.2)加入基于文本长度的信息量特征其中l代表文本长度,k为调节因子,b为信息量平衡滑子,使用增量式学习算法online-lr作分类,分析各项指标的变化情况,验证该特征的有效性;

(6.3)基于改进几率比做特征选择,几率比计算公式为:其中,pos表示正样本,如垃圾短信,neg表示负样本,如正常短信,tk为特征词,log为以2为底的对数,改进几率比在计算概率时分子加1,即:考察特征词的绝对几率比,通过对绝对几率比求和,然后选择特征并累积它们的绝对几率比和直到达到原始总和的95%,使用增量式学习算法online-lr作分类,分析各项指标的变化情况,验证基于改进几率比进行特征选择的有效性;count(垃圾短信,wordi)表示在垃圾短信中词汇wordi出现的频度。

(6.4)基于随机森林和逻辑回归做特征选择,分别基于随机森林和逻辑回归做特征选择,使用增量式学习算法online-lr作分类,分析比较各项指标,决定采用何种特征选择方法。

本发明采用上述技术方案,具有以下有益效果:

1.文本预处理一方面提高了特征选择的准确性和有效性,另一方面,避免了重要信息的丢失;

2.基于统计阈值和平均信息增益的特征选择方法所选择的特征较简单基于统计阈值的方法更具有区分性;

3.使用基于n-gram算法的双字词和组合词特征选择以及把非修饰性实词组合成元组特征的方法,有效避免了仅仅基于分词结果进行特征选择的信息损失,并且所选择的组合词特征更准确地描述了垃圾短信所特有的信息;

4.平均信息增益不能代表所有的特征词,提出基于累计信息增益对以上所选特征词的合并结果做进一步选择,该方法克服了基于信息增益阈值设定较为困难的问题;

5.加入基于文本长度的信息量特征,提高了分类性能,提出改进几率比的特征选择算法,解决了几率比在特征0概率情况下的不可计算问题,提出基于rf和lr的特征选择算法,实现了对特征的有效降维。

附图说明

图1为特征词平均信息增益和维度关于频度阈值结果图,(a)为特征词维度关于频度阈值折现图,(b)平均信息增益大于频度阈值折线图;

图2为非修饰性实词组合成元组特征示例;

图3为原始特征的信息增益和删除负信息增益后信息增益降序排列图,(a)为原始所有特征信息增益图,(b)为删除负信息增益特征后信息增益降序排列图;

图4为online-lr信息量特征权重关于迭代次数变化折线图;

图5为原始特征词几率比分析图,(a)为原始特征词几率比图,(b)原始特征词绝对几率比图,(c)原始特征词绝对几率比降序排列图;

图6为基于rf的特征重要性分布图,(a)基于rf的特征重要性分布图,(b)基于rf的特征重要性降序排列图;

图7为online-lr的绝对特征权重和rf的特征重要性对比图,(a)基于rf的特征重要性图,(b)基于online-lr的绝对特征权重图,(c)基于rf的特征重要性降序排列图,(d)基于online-lr的绝对特征权重降序排列图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

(1)短信文本预处理

对于文本分类问题,文本预处理是分类的基础,预处理是否完善将直接影响分类的性能。文本预处理主要包括的内容有:文本分词、词性标注、特殊符号的处理、去除停用词等。对于中文文本,由于词语与词语之间没有空格等明显的切分标识,直到句子这个语言单位才有标点符号作为分隔,因此需要分词。

本发明所采用的分词工具是ansj分词器,使用该分词器的原因是ansj中文分词是一个主要应用于自然语言处理、高精度的中文分词工具,支持用户自定义词典的补充和词性标注,本发明获取的词特征和组合词特征都会加入到自定义词典中以使得对未来短信文本的分词有更好的针对性和准确性,并且本发明采用的字节级n元文法特征选择需要词性标注结果。使用ansj对短信文本分词示例如表1所示:

表1短信文本分词结果示例

分析表1中短信原文和分词结果可知:分词结果和词性标注都较为准确,这个短信之所以为垃圾短信,是因为存在广告信息,主要体现在“开始火热招生”和“欢迎前来报名”这些词汇上。“火热”、“招生”、“前来”、“报名”这些词语单独出现不具有垃圾短信的代表性,但是组合词“火热招生”、“前来报名”却携带了垃圾短信所特有的重要信息。将这些组合词加入词典用于分词,可以提高词特征选择的准确性和有效性,挖掘这些词和组合词特征就是接下来特征选择及扩展所要研究的工作。

同时,从分词结果可见有许多停用词,这些词所包含的信息很少,对短信不具有区分性,例如“的”、“里”、“开始”等等,需要对停用词进行过滤。除了停用词,短信文本还包含中文和英文,简体和繁体形式,以及特殊字符等。考虑到短信特定的不规则表达在很大程度上是识别垃圾短信一个重要的特征,所以勿过分清洗,草率地清洗数据很可能导致重要信息的丢失,因此本发明主要的预处理内容包括:短信文本统一转简体表述、号码等脱敏字符串转单字符、去除停用词。短信文本清洗示例如表2所示:

表2短信文本清洗示例

分析表2可知:原始短信实例的文本中存在英文字母(如数字表示中将“0”写成“o”)、繁体字、特殊字符(如“x”的含义为“某”)、停用词,其中需要注意的是:“·”是特殊字符,夹杂在词语中间,会对分词产生影响,在分词时可以先将其去除,但是它作为特殊字符含有垃圾短信识别的重要信息,所以不能清洗,应将其追加到文本字符中(只追加一次)。

(2)基于统计阈值和平均信息增益的频繁词特征选择

针对简单的基于统计阈值的方法选择的特征不具有区分性提出基于统计阈值和平均信息增益的频繁词特征选择方法,在该方法中,阈值是可调参数,如何设置该参数是需要解决的问题,阈值设置得太大,挖掘的特征词过少,会损失很重要的信息,进而会降低分类准确率,阈值设置得太小,又会导致特征维度过大,分类模型容易过拟合并且增加模型训练的时空开销,本发明提出的解决方案是基于统计阈值和平均信息增益相结合的方法。具体步骤为:

(2.1)初始化阈值为150;

(2.2)扫描垃圾短信文本分词结果集,统计每条短信中每个词在垃圾短信文本中出现的次数,删掉那些次数小于当前阈值的词语,得到频繁词作为当前特征词集;

(2.3)计算当前特征词集中特征词的平均信息增益;

(2.4)以步长50增大阈值,重复(2.2)和(2.3),直到平均信息增益增长趋缓或者下降甚至为负为止。

使用该方法选择频繁词特征,平均信息增益和特征词数目关于阈值的图表如图1和表3所示:

表3特征词平均信息增益和维度关于频度阈值结果表

分析表3和图1可知:当频度阈值较小时,特征词维度很大(1365),此时平均信息增益为正,并且在频度阈值小于等于400的时候,随着频度阈值的增大平均信息增益也在增大,但是当频度阈值达到450开始,平均信息增益变成了负值。这说明基于阈值的垃圾短信特征词挖掘在阈值为400时,所选取的特征词对短信识别能力最强,这些特征词在正常短信中出现,但总体还是有作用于短信分类的。但是当频度阈值达到450时,平均情况下,所选择的特征词反而起“副作用”,即基于这些词对短信文本进行划分之后数据集的不确定性反而有所增大,这是因为虽然这些词在垃圾短信中频繁出现,但其中的一部分在正常短信中也以较高的频率出现,事实上,这些词语属于通用词汇,没有携带垃圾短信的特有信息。频度阈值设置得越大,所选择的特征词中这些通用词语的占比越大,因为有些词语总是以较高的频率同时出现在垃圾短信和正常短信中的。同时,在频度阈值设置为400时,特征词数目为615,这样的特征维度是较好的。另外,从图1中第一幅图可见特征词数目随着频度阈值的增大下降趋缓,这说明总有几乎确定数目的词语频繁的出现在垃圾短信中,这些词语,要么是极大携带垃圾短信色彩的词语,要么是通用词语。从频度阈值为700的特征词中,可以发现这个事实。从以上的分析可见,仅仅基于分词和信息增益挖掘频繁词是不够的,还需要使用其他特征选择方法,挖掘更有区分性的词和组合词特征。

(3)基于n-gram算法的双字词和组合词特征选择

使用ansj分词结果进行频繁词特征选择。但是由于中文文本中字词分隔不明显,词序和语序的自由度比较高,并且歧义较多,因此分词技术存在一定的误差,而基于统计学的n-gram算法就绕过了分词的障碍,具有很高的实用性,再则,为更准确地描述垃圾短信文本特征,还需要合并特征词。因此本发明使用基于n-gram算法的双字词特征与组合词特征选择方法作为补充。

n-gram算法的基本思想是:n-gram是将文本按字节流进行大小为n的滑动窗口操作,产生长度为n的字节片段序列,每个字节片断序列成为gram,然后对全部gram统计出现频度,并设定阈值进行过滤,形成频繁gram列表,该列表中的所有gram即可作为原始文本数据的特征向量空间。n-gram算法的优点有:(1)与语种无关,可以同时处理中英文和简繁体;(2)不需要对文本内容做语言学处理。

根据语言学统计,约70%的中文词语是双字词,并且双字词具有更好的区分性,因此在进行中文文本分解中,大多采用双字词,由于中文一个汉字两个字节,因此取n=4。

在垃圾短信文本中,往往多字词才是短信文本的核心特征,选择这些组合词特征有助于较大程度地提高分类性能。因此,本发明基于n-gram算法选择双字词特征和组合双字词特征,具体步骤如下:

(3.1)在原始垃圾短信文本上运行4-gram算法,产生所有长度为2的文字片断序列;

(3.2)预过滤,统计所有文字片断序列的频度,受到步骤2的启发,根据频度阈值400删除频度小于该阈值的文字片断序列;

(3.3)将剩余的文字片断序列构建关联矩阵,矩阵中每个元素是对应行列组合文字序列的频度;

(3.4)根据关联矩阵中元素的值筛选组合文字序列,如果大于0.6×max(countofgramrow,countofgramcol)(countofgramrow和countofgramcol分别为行列文字片断序列的频度),则保留该组合文字序列。

(3.5)最后,删除参与合并的文字片断序列。

基于该方法得到双字词和组合词特征,组合前后双字词和组合词特征分布及特征平均信息增益如表4所示:

表4基于n-gram算法选择双字词和组合词特征结果表

从实验结果来看,该方法通过合并双字特征词所产生的组合词特征很好描述了垃圾短信所特有的信息,最终构建的特征词集的平均信息增益相对于组合之前明显提高,可见基于该方法的特征选择能够在一定程度上提高特征对垃圾短信的区分能力。将步骤2和3的词特征进行合并,最终维度为:1368,平均信息增益为:2.3521×10-3,加入基于分词的频繁词特征反而使得平均信息增益有所提高,既不损失信息量,又加入组合词特征增强了特征对数据的区分性,这就证明两者的互补关系。

(4)非修饰性实词组合成元组特征

词组合特征能够有效地过滤掉垃圾短信文本中的冗余信息,从中提取稳定的组合词,这些组合词能够更为准确的描述文本特征,并且使用词组合特征可以有效地降低特征词向量的维度。分词和n-gram只能得到连续的文字片断序列,经研究发现非修饰性实词组合成元组特征有时也具有较好的区分性,如图2,使用这些元组特征可以避免中间词语的干扰,这也是垃圾短信的惯用手段。

step1:非修饰性实词组合成元组特征(名词+动词\形容词);

step2:转换成正则表达式模板,用于特征匹配。

在使用ansj进行分词时,保留了词性标注,遍历所有的垃圾短信文本寻找满足上述条件的元组特征,根据0.6×max(名词,动词或者形容词)的阈值进行筛选,共64个,将这些特征加入到由以上两节得到的特征词集中计算平均信息增益,分别为:2.3521×10-3和2.4017×10-3。可见,平均信息增益有所提高,进而证明该类元组特征的有效性。

(5)基于累积信息增益的特征选择

对由以上步骤得到的词和组合词特征的合并结果进行基于累积信息增益的特征选择,进而构建特征词向量。

以上步骤得到的特征词的数目有1432个,由于只是根据统计阈值和平均信息增益得到的,是否都对垃圾短信分类有贡献取决于每个特征词各自的信息增益。首先需要删除的就是那些信息增益为负的特征,经过筛选,共有388个特征词的信息增益为负值,这里选取信息增益为负且最小的10个非特殊符号特征词列表如表5所示:

表5信息增益为负且最小的10个非特殊符号特征词列表

分析表5可知,这些词语是非常通用的词汇,使用这些特征词对数据集进行划分,结果集的不确定性有增无减。这些词语反而会干扰分类器的正确分类,所以应该删除。删除之后还剩1044个特征,按照累计信息增益做特征选择的思想,所有特征的信息增益图和删除负信息增益后信息增益降序排列图如图3所示。分析图3的第一幅图可知:特征词中有一定数量的特征词信息增益很大,大部分特征词的信息增益在0~0.05之间均匀分布,这说明基于以上几节所选择特征词的合理性。其次,从第二幅图可见,信息增益下降的还是比较快的,下降到第300个特征时,信息增益几近于0,由此可见,需要做特征降维,一方面几乎不会损失有用信息,另一方面可以提高分类算法的执行速度。下面给出最终特征词集中信息增益排名前10的非特殊符号特征词表:

表6信息增益排名前10的非特殊符号特征词表

显然,这些词语准确的描述了一些垃圾短信所特有的信息,广告和推广等等。最后,通过累计信息增益选择特征之后特征词数目为827,有效的实现了降维,并且保留了原始特征信息增益总量的95%。

(6)基于垃圾短信分类评价指标的特征工程优化

(6.1)加入信息量特征

正常短信通常位于一定长度范围内,既不会太长也不会太短:

其中,l代表文本长度,k为调节因子,b为信息量平衡滑子。为了避免过长短信和过短短信的文本越短的影响,k取所有短信文本的平均长度,随机选择训练子集,使用交叉验证的方法得到参数b的最优值为0.3。模糊性越大,特征缺失严重,文本长度特征相对重要。

由于文本长度信息量为新加入的特征,如果直接初始化权重为1,而其他特征的权重经过若干次迭代学习之后已经趋于稳定和具备区分性,相当于在未知的情况下,就直接认为该特征很重要,是不合理的,应该初始化为0,相当于从无到有增量式学习该特征的系数。实验表明,如果直接赋初值为1,迭代一次之后对测试数据集的准确率仅为14.29%。

表7online-lr加入信息量特征分类结果

由表7可见,加入这个特征之后,accuracy提高了约0.1%,对于14w条测试数据集来说,分类器分类正确的实例数目增加了140条左右。再则增加的是precision这项指标,对于垃圾短信分类的场景,即识别为垃圾短信的短信中真正为垃圾短信的比例提高了。由于recall在减小,因此可以得出产生上述结果的原因正是越来越多的垃圾短信被识别为正常短信。信息量特征权值变化曲线如图4所示。分析图4可知,文本长度特征的系数绝对值在不断变大。使用rf计算该特征的重要性为:0.1066,排名第2。

(6.2)基于改进几率比做特征选择

在几率比公式中:

若p(tk|pos)或者p(tk|neg)其中有一个等于0,该式不可计算。针对此问题,本文提出的改进方法是在计算概率的时分子加1,即:

当wordi在垃圾短信和正常短信中以接近的频率出现时,wordi的几率比近似为0,wordi对短信不具有区分性,而那些只在某一类短信中频繁出现的词语,它们的绝对几率比较大,这些词语对短信分类的贡献才较大,因此本文使用改进的绝对几率比对特征进行选择,绝对几率比越大,区分性越好,绝对值越趋近于0,该特征词越应该舍弃。当前特征词几率比分布如图5所示。

由于所选特征词最初是基于垃圾短信文本的频繁词挖掘,所以几率比中负的值较少,分析第一幅图可知,大部分几率比值均匀地分布在0~10之间,说明所选特征词大都具备区分能力,最后一幅图降序排列之后,也是缓慢的趋近于0,又充分说明了这一点。当然,存在一部分特征的几率比在接近于0,本文并没有寻则一个阈值去过滤特征,而是通过对绝对几率比求和,然后选择特征并累积它们的绝对几率比和直到达到原始总和的95%。

基于改进几率比进行特征选择之后,特征的维度为784,其中,按照绝对几率比排名前十的特征词如表8所示:

表8绝对几率比最大的10个非特殊符号特征词列表

在上述特征词集的基础上构造特征词向量,用于将原始数据文本集向量化表示,再使用online-lr增量式迭代学习,得到识别结果如表9所示:

表9online-lr基于改进几率比特征选择之后的分类结果

分析表9可知,使用基于绝对几率比做特征选择之后,模型充分训练之后,识别结果中准确率accuracy等指标较于之前又有所提高,说明模型的泛化能力增强,并且,在精度提高的同时,模型平均训练时间也较少了约20秒,平均测试时间也有所较少,在实时预测中,面对大规模数据集,这意味着时间性能的提高,因为毕竟计算量减小了。

(6.3)基于随机森林和逻辑回归做特征选择

随机森林是一种集成学习算法,它使用随机重采样技术和节点随机分裂技术构造多棵决策树,预测时采用多数表决的方式综合每一棵决策树的预测结果。随机森林能够分析具有复杂相互作用的特征,对特征噪声数据和缺失值不敏感,同时训练时间复杂度较低。随机森林最终的分类模型中还包含特征重要性值features_importances,可以用于做特征选择,近来,基于rf的特征选择方法广泛用于各种分类、预测当中。

在加入信息量特征和基于改进几率比做特征选择之后重构数据集,训练rf分类器,对测试集进行预测,结果如表10所示:

表10rf分类结果

对feature_importances作图,观察各个特征的重要性分布,然后对feature_importances降序排列,作图如6所示。

分析图6可知,特征词向量中绝大部分的特征的重要性在处于区间[0,0.05]内,其中还有一定量的特征重要性值为0,这些特征可以删除。当然,有些特征的重要性很大,这些特征词或特征量对短信识别的作用也较大。

对feature_importances降序排列,选择前10个非特殊符号特征词及其重要性值列表11:

表11基于rf的重要性最大的10个非特殊符号特征词表

易见这些特征词均为垃圾短信中最频繁出现的词语。本文提出基于随机森林的特征选择算法,该算法的基本思想是:把随机森林的分类准确率作为特征可分性的判断依据,基于随机森林分类模型中特征重要性值对特征进行降序排列,每次删除特征重要性最小的特征,逐次迭代,直到分类准确率不再提高为止。本文在计算分类准确率时采用n折交叉验证,即随机地把数据平均分成n等份,每个数据子集互不相交,把其中n-1份作为训练集,剩余一份作为测试集,计算n个测试集的平均分类准确率,如果平均分类准确率下降或者提高小于一定的阈值,就停止迭代。

lr在训练过程中对特征系数的求解本身就是一种对特征的选择过程,即只有对目标变量的贡献率达到一定程度的特征才会对回归模型具有较大的影响,对目标变量贡献很小或者没有贡献的特征可以直接删除。对online-lr模型训练所得到的当前最优特征权重系数进行分析,图7是与rf特征重要性的对比图。

分析图7可知,特征权重和重要性分布的非常相似,也是在0附近呈现带状分布,主要集中在区间[0,1]中,几乎相同的特征具有较大的绝对权重和重要性。特征绝对权重经过降序排列之后,下降的较为缓慢一些,说明增量式学习算法online-lr模型学习得比离线rf模型更为充分,结果更可靠。对绝对权重降序排列,选择前18个非特殊符号特征词及其权值列表12:

表12基于lr的绝对权值最大的18个非特殊符号特征词表

排名前18的权重系数全部为正值,针对的应该是一类短信区分性较大,根据词语语义分析,推断为垃圾短信。

lr模型偏差衡量模型对训练数据集的拟合程度,删除一个特征,偏差值减小,表明模型拟合程度变好,当前特征越不重要。本文提出基于逻辑回归的特征选择算法,其基本思想是:对于所有特征,比较删除该特征前后模型训练结果的偏差值,如果减小,则删除该特征并且重构数据集。

使用基于随机森林的特征选择算法作特征选择,经实验得,剩余特征维度为524,可见基于rf可以有效地对原始特征集进行降维。使用基于lr的特征选择算法作为特征选择,经实验得,剩余特征维度为711,相对于原始的784,降低了73维,可见基于lr的特征选择结果可能更加可靠。下面使用这两种方法得到的特征词集重新构造数据集,迭代训练online-lr分类模型相同次数,预测结果如表13所示:

表13rf和lr特征选择预测实验结果对比

分析表13可知,相同的迭代次数,使用基于逻辑回归的特征选择算法所得到的特征使得分类器的分类性能又有所提高,然而,基于rf的特征选择反而降低了各项指标值。表明在垃圾短信分类场景下,基于本文所提出的lr特征选择算法有助于提高识别性能。

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