基于Adaboost框架下自动编码器提升方法的文本分类

2016-06-21 07:02山东科技大学电气与自动化工程学院刘广秀宋单单
电子世界 2016年11期
关键词:文本分类

山东科技大学电气与自动化工程学院 刘广秀 宋单单

基于Adaboost框架下自动编码器提升方法的文本分类

山东科技大学电气与自动化工程学院 刘广秀 宋单单

【摘要】针对文本分类问题,使用深度学习算法中的自动编码器模型网络建造Adaboost框架下的弱分类器,并且在自动编码器神经网络部分引入噪声,引入神经元间歇性工作机制,更改不同参数以及层数构造弱分类器。利用神经网络的稀疏性提高分类器的泛化性,加入Adaboost框架实现深度学习的集成算法。

【关键词】SAE;Adaboost;文本分类;激励函数

0 引言

大数据时代的到来,网络的普及,信息量呈爆炸性趋势增长,人们迫切需要一种实用性技术来有效的地组织和管理信息。从大量的信息中获取有效信息变得尤为重要。文本挖掘、自然语言处理、信息检索等技术很好地解决了信息过载时代的文本数据管理问题,文本分类技术作为这些领域的重要基础,在近年来得到了快速发展和广泛关注[1]。文本分类的方法有很多,典型的有朴素贝叶斯分类器[9]、BP神经网络分类器、K近邻算法(KNN)、支持向量机(SVM)分类器等,这些分类器在文本分类中均取得了很好的效果。并且在传统分类器的使用上,有很多学者提出了改进方案,使得分类效果有所提升。比如基于深度信念网络的文本分类器算法[10],基于稀疏编码器的文本分类算法[7]等。深度学习作为一种新兴的多层神经网络降维算法,通过组建含有多个隐层的神经网络深层模型,对输入的高维数据逐层提取特征,以发现数据的低维嵌套结构,形成更加抽象有效的高层表示[8]。传统BP神经网络梯度越来越稀疏,易于收敛于局部最优,有标签的训练数据类别涵盖不全,且类别比例差别较大,使用深度学习网络很易产生过拟合问题。根据已有的深度学与boosting结合案例,本文提出Adaboost与编码器深度学习算法相结合算法。结合深度学习网络提取特征良好的特点,本文提出使用深度学习网络中的SAE网络作为Adaboost框架下的弱分类器,使用不同激励函数等参数变换构造不同的自动编码器网络,加入Adaboost框架的思想实现深度学习集成算法。

1 Adaboost算法

Boosting算法是一种把若干个分类器整合为一个分类器的方法,能够将预测精度仅比随机猜度略高的弱学习器增强为预测精度高的强学习器,这在直接构造强学习器非常困难的情况下,为学习算法的设计提供了一种有效的新思路和新方法.作为一种元算法框架,Boosting几乎可以应用于所有目前流行的机器学习算法以进一步加强原算法的预测精度,因此应用十分广泛,产生了极大的影响。Boosting方法有许多不同的变形,更具一般性的AdaBoost形式由ROBERT E.SCHAPIRE和YORAM SINGER在1999年提出,其核心思想是针对同一个训练集训练不同的分类器,然后把这些弱分类器集合起来,构成一个更强的最终分类器[5]。Adaboost的算法流程如下:

第1步:给定一组具有标签的训练数据集:

第2步:初始化训练数据的权值分布。每一个训练样本最开始时都被赋予相同的权值:1/N。

第3步:使用弱学习算法,迭代m=1,2,3…M次。

a.使用具有权值分布的全训练集,进行基本元分类器Cm训练得到hm,或按照权重w1i对训练集进行采样后对元分类器Cm训练得到分类器hm。

b.计算Cm在训练数据集上的分类误差率公式:

即Cm在训练集上的误差率就是被Cm分类错误的样本的权值之和。

c.计算弱分类器Cm的权值系数公式:

d.更新训练数据集的权值公式:

Zm是规范化因子,使得Dm+1为一个概率分布:

第4步:组合各弱分类器得到最终分类器表达式:

上述式子组成了Adaboost算法的基本步骤。Adaboost算法的自适应性在于:前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个基本分类器。

2 降噪稀疏自动编码器

基本自动编码器的描述如下:自动编码器是运用了反向传播进行无监督学习的神经网络,学习的目的就是输出信号尽可能复现输入信号。为了实现这种复现,自动编码器就必须捕捉可以代表输入数据的最重要的特征,就像主成分分析那样,找到可以代表原信息的主要成分[4]。基本的自动编码器接收输入向量,在激活函数的作用下对其进行线性变化,得到一个编码结果[3]。本文选取sigmoid函数作为激活函数,计算公式如下:为编码参数,为解码参数。其中是一个的权重矩阵。的转置矩阵,是偏置向量。

稀疏自动编码器是加上一些约束条件得到的新的Deep Learning方法。在AutoEncoder的基础上加上L1的Regularity限制(L1主要是约束每一层中的节点中大部分都要为0,只有少数不为0),我们就可以得到Sparse AutoEncoder法[2]。

降噪自动编码器是在自动编码器的基础上,在训练数据中加入噪声,所以自动编码器必须学习去除这种噪声而获得真正的没有被噪声污染过的输入[7]。因此,这就迫使编码器去学习输入信号更加鲁棒性的表达,这也就促使了它的泛化能力比一般编码器强。DA可以通过梯度下降算法去训练。

3 基于Adaboost算法和降噪稀疏自动编码器的文本分类模型

本文以DSAE(降噪稀疏自动编码器)为弱分类器基本原型[8],调整层数以及激励函数种类构造不同条件下的弱分类器,使用NLPIR分词系统提取文本特征,使用TFIDF作为词语的权值,根据该权值来选择特征词,并统计词频作为文本特征训练集。整个算法的流程图如图1所示。

图1 基于Adaboost算法和SAE网络的人体损伤程度预测流程

设计基于SAE网络弱预测器[6]:每个分类器可能出现的不同特征设计:加入稀疏惩罚项、不加入稀疏惩罚项、神经网络预训练的激发函数使用sigmoid函数、神经网络训练数据是否加入噪声、神经网络监督微调部分使用激发函数sigmoid函数、神经网络监督微调部分使用tanh函数、神经网络的层数变化、节点数变化。以变化自动编码器参数等方式,实现每个分类器的结构互异性,加大各个分类器的分类各异性,实现网络的结构设计使得不同弱预测器具有不同的预测倾向性,运用Adaboost集成各个弱分类器加大集成分类器的泛化性,使得分类器分类效率更高。

参考文献

[1]M.S.Bartlett,G.Littlewort,M.G.Frank,C.Lainscsek,I.Fasel,and J.R.Movellan.Recognizing facial expression∶Machine learning and application to spontaneous behavior.In CVPR,volume 2,pages.568-573,2005.

[2]J.Mairal,F.Bach and J.Ponce.Sparse Modeling for Image and Vision Processing.Foundations and Trends in Computer Graphics and Vision.vol 8.number 2-3.pages 85-283.2014.

[3]孙志军,薛磊,许阳明.深度学习研究综述[J].计算机应用研究,2012,29(8)∶2806-2810.

[4]Hinton,G.E.and Salakhutdinov,R.R.Reducing the dimensionality of data with neural networks.Science 2006.

[5]曹莹,苗启广,刘家辰,高琳.AdaBoost算法研究进展与展望[J].自动化学报,39(6)∶745-758.

[6]Bengio,Y.,Lamblin,P.,Popovici,P.,Larochelle,H.Greedy Layer-Wise Training of Deep Networks.NIPS 2006.

[7]Pascal Vincent,Hugo Larochelle,Yoshua Bengio and Pierre-Antoine Manzagol.Extracting and Composing Robust Features with Denoising Autoencoders.ICML 2008.

[8]殷力昂.一种在深度结构中学习原型的分类方法[D].上海∶上海交通大学,2012.

[9]张雪峰.设计贝叶斯分类器文本分类系统[J].电脑知识与技术,2005(20).

[10]陈翠平.基于深度信念网络的文本分类算法[J].计算机系统应用,2015,24(2)∶121-126.

猜你喜欢
文本分类
基于朴素贝叶斯的Web文本分类及其应用
基于组合分类算法的源代码注释质量评估方法
基于贝叶斯分类器的中文文本分类
基于蚁群智能算法的研究文本分类
基于朴素贝叶斯分类的Java课程网络答疑反馈系统
基于K—means算法的文本分类技术研究
文本分类算法在山东女子学院档案管理的应用
不同情境下中文文本分类模型的表现及选择
基于内容的英语录音教材标注研究与应用
多核SVM文本分类研究