发布时间:2023-09-25 11:24:39
序言:作为思想的载体和知识的探索者,写作是一种独特的艺术,我们为您准备了不同风格的5篇神经网络文本分类,期待它们能激发您的灵感。
关键词:Web文本分类;RBF网络;高斯函数;梯度下降法
中图分类号:TP18文献标识码:A文章编号:1009-3044(2011)13-3107-02
The Researching of Web Text Classification Based on RBF Neural Network
XU Chun-yu
(Information Engineering Department, Liaoning Provincial College of Communications, Shenyang 110122, China)
Abstract:Web text classification is the automatic classification for Web information and it makes the use of text classification technology. The technology makes user find resource that they want quickly. The data from the Web is divided into sample data set and test data set after feature extraction in the process of text classification. Sample data set is inputted to the RBF network and the RBF network is trained. Test data set is inputted the RBF to validate after training the network. Experimental results show that RBF network achieved better classification results.
Key words: web text classification; RBF network; gauss Function; gradient descent algorithm
近年来,web已经成为拥有数十亿个异构的、半结构化的、动态的分布式信息空间,这些web信息源中有80%以上的信息是以web文本的形式出现的,如何从这些海量的web信息资源中寻找并获取有价值的信息和知识模式,已经成为信息处理的一个关键问题,web文本分类有助于人们完成这个目标[1]。
1 web文本分类
文本分类就是先根据已有的样例文本找出能描述并区分文本类别的分类器,然后利用该分类器对新的未分类的文本进行分类。根据机器学习的观点,文本自动分类问题可以归结为一个机器学习任务:假定全体文本空间为D,预定义的文本类别集合为C{c1,c2,…,c3}。待学习分类法称为目标分类器,记作y,一般来说,y是从文本集到类别集的一个映射,即y:DC,通常情况下该映射存在,但没有解析表达式。文本分类中机器学习的目的就是找到映射y的一个近似表达式或估计:y:DC,使对于D中所有文本d有h(d)=y(d),或使得h(d)≠y(d)的概率最小。其中h为分类器[3]。
随着web上海量文本信息的增加,文本分类技术的处理对象从普通的文档扩展到了web文本,即形成了web文本分类技术,显然,文本分类技术是web文本分类技术的基础。
2 RBF神经网络
径向基函数(Radial Basis Function,简称RBF)神经元网络是在借鉴生物局部调节和交叠接受区域知识的基础上提出的一种采用局部接受域来执行函数影射的人工神经元网络。在人的大脑皮层区域中,局部调节及交叠的感受是人脑反映的特点。RBF网络同BP网络类似,也是一种三层前馈式神经网络,输入层节点传递输入信号到隐含层,隐含层节点由像高斯函数那样的辐射状作用函数构成,而输出层节点通常是简单的线性函数。网络模型如图1所示。
从RBF的网络模型图可以看出,RBF网络由两部分组成,第一部分为非线性变换层,它的输出公式如公式(1)所示:
(1)
其中X={x1,x2,…xn}为输入向量,Ci={Ci(1),Ci(2),…Ci(N)}为第i个非线性变换单元的中心向量,Ct(q)表示第t个中心的第q个分量,σi为第i个非线性变换单元的宽度,||・||表示的是范数,通常情况下取2范数,g(・)表示的是非线性函数关系,一般取Gauss函数,Gauss函数的函数关系如公式(2)所示:
(2)
第二部分:线性合并层,它的作用是将变换层的输出线性加权合并,公式如(3)所示,其中l为隐含层神经元的个数,m为输出层神经元的个数。
(3)
RBF网络通过径向基函数能够更确切的描述人类神经元的活动特性。在中心附近的区域内网络的输出最大,网络的输出随着中心距离的增大,逐渐减小,而这个过程的快慢则是由σ参数来决定的,σ越大则函数输出曲线越平缓,对输入的变化就越不敏感,因此,可以通过调节σ来进一步模拟人类的神经元。RBF网络最常用的算法是梯度下降法,常用的训练就是选定某种性能指标,然后采用梯度下降的方法来校正网络参数,使该网络性能指标取得最优值,因此RBF网络的学习实质上就是一个最优化问题。具体的训练算法为:对于一般的RBF网络结构,取性能指标如公式(4)所示。
(4)
其中,i为网络的输出,具体关系式如下面的(5)式、(6)式和(7)式所示:
(5)
(6)
(7)
由上面的三个公式可以看出, J是关于Cj,wjt和σj的函数。网络的训练过程就是调整以上三组参数,使J趋于最小。求取J对各网络参数wts,ct(q),σt的偏导数,其中1≤t≤P(P是隐含层单元的个数),1≤s≤M(M是输出层单元的个数),1≤q≤N(N是输出层单元的个数),得到参数的校正方法。具体的校正方法为:权值wts的校正方向如公式(8)所示:
(8)
中心ct(q)的校正方向如公式(9)所示:
(9)
宽度σt的校正方向如公式(10)所示:
(10)
由此,可以得到RBF网络的梯度下降法校正公式如(11)所示:
(11)
其中,1≤t≤P,1≤s≤M,1≤q≤N,P为隐含层单元个数,N为输入层单元个数,M为输出层单元个数,λ为步长,通常λ=0.05左右。
隐含层到输出层之间的变换是线性变换,所以采用的是比较成熟的RLS算法。给定样本输入,则在当前的网络隐含层单元中心Cj及宽度σj(1≤j≤P)参数下,隐含层单元输出向量为HT=[h1,h2,…,hP],P为隐含层单元个数。
Y=HTW (12)
其中,Y=[y1,y2,…,yM],W=[w1,w2,…,wM],wi=[w1i,…,wpi],这样,根据RLS算法有权值的修正递推公式如公式(13)所示:
(13)
这样,按照上面的公式对网络参数不断地进行循环校正,最终网络性能将达到所要求的性能指标[5]。
3 实验
实验过程中,首先设计网络拓扑结构,确定RBF网络输出层神经元个数,根据类别的个数来确定输出层神经元的个数,实验数据分别属于10个类别,因此网络输出层神经元个数为10。输入层神经元的个数为文档在进行特征提取之后向量的维数,实验中,经过降维以后的每篇文档特征向量的维数为30,所以将网络的输入层神经元的个数选取为30。由于输入样本空间是确定的,可以预先给定一个隐含层节点数,只要与输入样本的实际类别数相差不是很大时,就可以使用梯度下降法来不断修正网络的中心值,使网络的特性逼近于实际系统,这种方法比较简单,也是一种比较常用的方法,因此,实验中隐含层神经元的个数取值为9。
RBF网络结构设计完成之后就可以对网络进行训练了,实验数据来自中国期刊网上下载的600篇文档,涵盖了政治、经济、教育、娱乐等10个类别,每个类别包含60篇文档,选取其中的500篇文档作为样本训练集,每个类别选择50篇,另外100篇文档作为网络的测试集。首先需要对实验数据进行文本特征提取、降维等过程。其次采用的是Matlab软件进行编程以实现网络的训练,网络训练完成以后,输入测试集中的数据,测试网络能否正确地将相关的文档区分到各个类别中。表1是RBF网络的分类结果。
4 结论
从上面的训练结果分析,RBF网络能够将大部分的文本正确地划分到所属类别,对于体育、娱乐、外语方面的文档能够取得较高的识别率,对于政治、经济、军事等方面的文档的识别率较低,主要原因是这些类别的文档中互相包含着相关的特征信息,这种类型的文档在进行文本分类的时候,需要在文本特征提取的时候进行相应的处理,以使得在输入神经网络的时候能够得到正确的分类结果。从实验结果可以看出,RBF网络完全可以应用到文本分类中来,并且能够取得较好的分类效果。
参考文献:
[1] 蒲筱哥.Web自动文本分类技术研究综述[J].情报科学,2009:233.
[2] Crimmins F, Smeaton A, Dkaki T, et al.Information discovery on the internet[J].IEEE Intell.Syst.,1999(14):55-62.
[3] 王晓庆. 基于RBF网络的文本自动分类的研究[D].南昌:江西师范大学,2003:9.
[4] Abhijit S, Rober B. 神经网络模式识别及其实现[M].徐勇,荆涛,译.北京:电子工业出版社,1999:30-32,57-114.
[5] 柯慧燕. Web文本分类研究及应用[D].武汉:武汉理工大学,2006:14-15,16-17.
[6] 飞思科技产品研发中心. 神经网络理论与MATLAB7实现[M].北京:电子工业出版社,2005:17.
关键词:个性化;信息检索;文本分类
中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)29-0265-02
Method of Text Categorization in Personalized Retrieval
PENG Ye-ping, XIAO Da-guang
(Information science and Engineering college,Central South University,Changsha 416000,China)
Abstract: Personalized retrieval is becoming a hot topic for research, this paper mainly discusses about the text categorization algorithm, its principles and scope of application.
Key words: personalized; retrieval; text categorization
1 引言
搜索引擎在信息检索中起了重要作用,但是由于引擎的通用性,使其不能满足不同目的,背景,时期的用户查询需求,因此需要针对拥护特征向用户提供个性化服务。文本分类方法通过构造某种分类模型,并以此判断样本所属的类别。文本分类对合理组织,存储文本信息,提高信息检索速度,提高个性化信息检索效率的基础。
2 分类方法
2.1 朴素贝叶斯方法
朴素贝叶斯方法是一种在已知先验概率与条件的情况下的模式识别方法,假设词条之间是相互独立的。设d为一任意文本,它属于文档类C{c1,c2,…,ck}中的一类Cj,引用词条和分类的联合概率来计算给定文档的分类概率的公式如下:
计算所有文本类在给定d情况下的概率,概率值最大的那个类就是文本d所属的类,既:
2.2 贝叶斯网络分类法
贝叶斯网络分类法考虑了特征之间的依赖关系,该方法更能真实反映文本的情况,但是计算复杂度比朴素贝叶斯高的多。
2.3 决策树方法
决策树极强的学习反义表达能力使得其适合于文本分类,它是通过一组无序,无规则的实例推理出树型的分类规则,采用自顶向下的递归方式,在决策树的内部结点进行属性值的比较并根据不同的属性值进行判断从该结点向下的分支,在决策树的叶结点得到结论,决策树的建立算法有很多,文献[5]其中包括基于信息增益的启发式计算ID3;基于信息增益率的解决联系属性的算法C4.5;基于Gini系数的算法CART和可并行性算法SPRINT算法。决策树方法特点是使用者只要将训练样例能够使用属性-结合式的方法表达出来,就能够用该方法来学习,但是这种算法生成的仍是多叉树。
2.4 K-邻近方法
K-邻近方法,根据测试文本在训练文本中与之最相近的K篇文本的类别来判定它的类别,其中,K是一个重要的参数,文献[4]K值过大,则与待分类文本实际上并不相似的一些文本也被包含,造成噪音增加;K值太小,则不能充分体现待分类文本的特点.一般对K会选定一个初值,相似值的判定可取欧拉距离或余旋相似度等,若分类系统中相似值的计算采用余旋相似度,则公式如下:
Sim(x,di)为相似度公式,X为新文本的向量,y(di,cj)为类别属性函数,若d∈cj,则y(di,cj)=1;否则y(di,cj)=0;将新文本分到权重最大的类别中去。
2.5 支持向量机
Vapnik提出在结构风险最小化准则理论上的支持向量机方法,能有效解决小样本集的机器学习问题,向量机主要是针对两类分类问题,在高维空间寻找一个满足分类要求的最优超平作为两类的分割,既保证分类精确度,又要使超平面两侧的空白区域最大化,以保证最小的分类错误率,文献[1]对于大于两类的多类文本分类,就对每个类构造一个超平面,将这一类与其余的类分开,有多个类就构造多个超平面,测试时就看哪个超平面最适合测试样本。支持向量机方法避免了局部性问题,样本中的支持向量数,能够有效地用于解决高纬问题。
2.6 神经网络方法
神经网络是模仿人脑神经网络的基本组织特性构成的新型信息处理系统,其性质取决于网络拓扑结构,网络的权值和工作规则.通常由等于样本特征数的输入层,输出层,等于样本类数的神经元组成。其中,每一个连接都有一定的权值,通过训练类来训练的过程就是调整这些权值的过程,从而使神经网络与可以正确地预测类别。
3 几种方法的比较
3.1 朴素贝叶斯与网络贝叶斯
朴素贝叶斯方法使用概率去表示所有形式的不确定性,学习或其他形式的推理都用概率规则来实现,但是大部分情况是文本特征之间的依赖关系是相互存在的,所以特征独立性会影响朴素贝叶斯分类的结果;网络贝叶斯能够考虑特征之间的依赖关系,但是计算复杂度比朴素贝叶斯高得多;
3.2 支持向量机方法
支持向量机方法的优点:首先,该方法是针对有限样本情况的分类方法,其算法最终将转化为一个二次型寻优万恶提,理论上得到的将是全局最优点,避免了局部极值问题;其次,该方法计算的复杂度不再取决于空间维度,而是取决于样本数,这可能有效地用于解决高维度问题;再次,该方法对稀疏数据不敏感,能更好地捕捉数据的内在特征。缺点是:该方法参数的调整比较困难,分类比较费时。
3.3 神经网络方法
神经网络方法的优点:首先,具有自适应功能,它能根据所提供的数据,通过学习找出输出结果之间的内在联系,从而球的问题的解答;其次,神经网络善于联想、概括、类比和推广,任何局部的操作都不会影响整体效果;再次,具有高速寻找优化解的能力。缺点:该方法根据输入输出的关系训练网络,缺少解释能力,受训练样本影响大,训练过程较慢,不适应大量数据的学习。
3.4 决策树方法
决策树方法的优点是它在学习过程中不需要使用者了解很多背景知识,只要训练样例能够使用属性-结论式的方法表示出来,就能使用该方法。缺点是测试属性的选择对该方法影响较大。
3.5 K-邻近方法
K-邻近方法的优点是该方法训练过程较快,且可随时添加或更新训练文本来调整;缺点是因为需要很大的空间来保存文本,所以它分类的开销很大,K值确定较慢,分类效果较差.
4 文本分类方法效果评价
1) 精确度(查全率):是指通过分类系统正确分类的文本数与实际分类的文本数的比值,其公式如下:
精确度:=
2) 召回率(查全率):是指通过分类系统正确分类的文本数与人工分类中应有的文本数的比值,公式如下:
召回率:=
3) F1测试值:对查权率和查准绿的综合测试
F1测试值:=
参考文献:
[1] 史忠植.知识发现[M].北京:清华大学出版,2002.
[2] 朱明.数据挖掘[M].合肥:中国科技大学出版社,2002.
[3] 王继成,潘金贵,张福炎.web文本挖掘技术研究[J].计算机研究与发展,2000,37(5):513-520.
关键词:卷积神经网络;语言模型;分析
1 卷积神经网络语言模型
CNN语言模型基本结构包括输入层、卷积层、池化层及后续的分类层。输入层是表示语言的矩阵,该矩阵可以是通过Google word2vec或GloVe预训练得到的词嵌入表示,也可以是从原始数据重新训练的语言的向量表示。输入层之后是通过线性滤波器对输入矩阵进行卷积操作的卷积层。在NLP问题中,输入矩阵总是带有固定顺序的结构,因为矩阵的每一行都表示离散的符号,例如单词或者词组等。因此,使用等宽的滤波器是非常合理的设置。在这种设置下,仅需要考虑滤波器的高度既可以实现不同尺寸的滤波器做卷积操作。由此可知,在处理NLP问题时,卷积神经网络的滤波器尺寸一般都是指滤波器的高度。
然后,将卷积层输出的特征映射输入池化层,通过池化函数为特征映射进行降维并且减少了待估计参数规模。一般的,CNN池化操作采用1-max池化函数。该函数能够将输入的特征映射统一生成维度相同的新映射。通过池化操作,可以将卷积层生成的特征连接成更抽象的高级特征,所得到的高级特征尺寸与输入的句子不再存在直接关系。
最后,将得到的高级特征输入softmax分类层进行分类操作。在softmax层,可以选择应用dropout策略作为正则化手段,该方法是随机地将向量中的一些值设置为0。另外还可以选择增加l2范数约束,l2范数约束是指当它超过该值时,将向量的l2范数缩放到指定阈值。在训练期间,要最小化的目标是分类的交叉熵损失,要估计的参数包括滤波器的权重向量,激活函数中的偏置项以及softmax函数的权重向量。
2 卷积神经网络语言模型应用分析
CNN语言模型已经广泛应用于诸如文本分类,关系挖掘以及个性化推荐等NLP任务,下面将对这些应用进行具体的介绍与分析。
2.1 CNN在文本分类中的应用分析
kim提出了利用CNN进行句子分类的方法。该方法涉及了较小规模的参数,并采用静态通道的CNN实现了效果很优异的句子分类方法。通过对输入向量的调整,进一步提高了性能实现了包括情感极性分析以及话题分类的任务。在其基础上为输入的词嵌入设计了两种通道,一种是静态通道,另一种是动态通道。在卷积层每一个滤波器都通过静态与动态两种通道进行计算,然后将计算结果进行拼接。在池化层采用dropout正则化策略,并对权值向量进行l2约束。最后将该算法应用于MR、SST-1与SST-2、Subj、TREC、CR以及MPQA等数据集。MR数据集为电影评论数据集,内容为一句话的电影评论,其分类包括积极情感极性与消极情感极性两类。SST-1与SST-2数据集为斯坦福情感树库是MR数据集的扩展,但该数据集已经划分好了训练集、验证集及测试集并给出了细粒度的标记,标记包括非常积极、积极、中性、消极、非常消极等情感极性。Subj数据集为主观性数据集,其分类任务是将句子分为主观句与客观句两类。TREC数据集为问题数据集,其分类任务是将所有问题分为六类,例如关于数字、人物或位置等信息的问题。CR数据集为评论数据集,包括客户对MP3、照相机等数码产品的评论,其分类任务是将其分为积极评价与消极评价两类。MPQA数据集是意见极性检测任务数据集。通过实验证明,该方法在这几个典型数据集上都能取得非常优异的效果。
2.2 CNN在关系挖掘中的应用分析
Shen等人提出了一种新的潜在语义模型,以词序列作为输入,利用卷积-池化结构为搜索查询和Web文档学习低维语义向量表示。为了在网络查询或网络文本中捕捉上下文结构,通过输入单词序列上下文时间窗口中的每个单词来获取词汇级的n-gram语法特征,将这些特征聚合成句子级特征向量。最后,应用非线性变换来提取高级语义信息以生成用于全文字符串的连续向量表示。该模型的不同之处在于,输入层与卷积层之间加入了word-n-gram层与letter-trigram层,它们能够将输入的词序列转变为letter-trigram表示向量。在卷积层通过上下文特征窗口发现相邻单词的位置特征,并变现为n-gram形式。然后通过max池化将word-n-gram特征合并为句子级的高级特征。在池化层之后增加了语义层来提取更高级的语义表示向量。
2.3 CNN在个性化推荐中的应用分析
Weston等人提出了一种能够利用标签(hashtag)有监督的学习网络帖子短文本特征表示的卷e嵌入模型(Convolutional Embedding Model)。该方法利用提出的CNN模型在55亿词的大数据文本上通过预标注的100,000标签进行训练。该方法除了标签预测任务本身能取得好的效果外,学习到的特征对于其它的文本表示任务也能起到非常有效的作用。该模型与其它的词嵌入模型类似,输入层为表示文本的矩阵,但是,在用查找表表示输入文本的同时将标签也使用查找表来表示。对于给定的文档利用10万条最频繁出现的标签通过评分函数对任何给定的主题标签进行排序。
其中,econv(w)表示CNN的输入文档,elt(t)是候选标签t的词嵌入表示。因此,通过对分数f(w,t)进行排序可以获取所有候选主题标签中排序第一的话题进行推荐。实验数据集采用了两个大规模语料集,均来自流行的社交网络文本并带有标签。第一个数据集称作people数据集,包括搜集自社交网络的2亿1000万条文本,共含有55亿单词。第二个数据集被称作pages,包括3530万条社交网络文本,共含有16亿单词,内容包括企业、名人、品牌或产品。
3 结束语
卷积神经网络应用于语言模型已经取得了非常大的发展,对于自然语言处理中的各项任务均取得了优异的结果。本文通过对几项典型工作的分析,探讨了不同卷积神经网络模型结构在不同任务中的表现。通过综合分析可以得出以下结论。首先,CNN的输入采用原始数据训练的向量表示一般效果会优于预训练的词嵌入表示;其次,在卷积层滤波器的尺寸一般采用宽度与输入矩阵宽度相等的设置;最后,为了优化结果可以采用dropout正则化处理。
——基于深度神经网络的标题分类研究
班级:XX
学号:XX
姓名:XX
2020年10月25号
基于深度神经网络的标题分类研究
XX
摘要:新闻是人们对时事、最新行业相关消息了解的重要途径,本文将新闻标题作为新闻分类的切入点,由于新闻标题属于文本中的短文本类别,所以本文主要通过利用深度学习相关方法对新闻标题短文本进行分类,针对前期分类出现过的问题,结合深度学习网络并引入的SVM 模型,解决新闻分类以及短文本分类过程中的常见困难问题。
关键词:深度学习;SVM;标题分类
1 引言
随着大数据时代的来临,我们日常的信息规模呈现出爆炸式增长的趋势。数据挖掘和人工智能逐渐成为时代的主题。缩小信息规模的方法有很多种,而分类就是其中一种极其有效的方式,所以它当前仍是吸引国内外学者研究的重点问题和热点问题。文本分类是在自然语言处理领域广泛研究的问题,在工业领域内,现在已经有着较为成熟的应用,无论是朴素贝叶斯还是决策树又或是最大熵以及神经网络都在工业领域有着相关应用。而文本分类技术在新闻分类领域的应用仍然有限,当前的文本分类系统大多基于统计学原理再结合相关机器学习方法训练相关数据集,从而得到所需的分类器并使用其达成对无标签数据进行分类的目的。在2017 年自然语言处理及中文计算会(NLPCC)也曾对新闻分类相关问题设立相关课题,这也间接表现出了其可能为文本分类领域的发展研究做出较大的贡献。
由于中文新闻文本分类起步较晚,再加以复杂精深的汉语语法的影响,使得之前关于中文新闻文本分类的研究相比于英文显得稍微落后,但现在伴随各种中文新闻语料库的出现和完善,中文新闻文本分类渐渐走上正轨。以往对新闻进行分类时通常是解析新闻的正文,由于部分新闻的篇幅较长,往往导致了新闻分类时的效率低下。而通过中文新闻标题对中文新闻文本进行分类,相比与传统的新闻分类来说在分类效率上可以得到很大的优化。除此之外,新闻标题往往是对新闻主题的高度概括,以有限的字数对全文内容进行凝炼,所以这属于一个短文本分类领域的相关问题。通过对中文新闻标题分类的研究,对短文本分类领域的部分问题有着借鉴意义。
2 算法原理与系统设计
2.1 算法原理
支持向量机(Support Vector Machine ,SVM)的主要思想是:建立一个最优决策超平面,使得该平面两侧距离该平面最近的两类样本之间的距离最大化,从而对分类问题提供良好的泛化能力。对于一个多维的样本集,系统随机产生一个超平面并不断移动,对样本进行分类,直到训练样本中属于不同类别的样本点正好位于该超平面的两侧,满足该条件的超平面可能有很多个,SVM正式在保证分类精度的同时,寻找到这样一个超平面,使得超平面两侧的空白区域最大化,从而实现对线性可分样本的最优分类。支持向量机中的支持向量(Support Vector)是指训练样本集中的某些训练点,这些点最靠近分类决策面,是最难分类的数据点。SVM中最优分类标准就是这些点距离分类超平面的距离达到最大值;“机”(Machine)是机器学习领域对一些算法的统称,常把算法看做一个机器,或者学习函数。SVM是一种有监督的学习方法,主要针对小样本数据进行学习、分类和预测,类似的根据样本进行学习的方法还有决策树归纳算法等。
2.2 详细设计
简单的Python机器学习实现新闻标题自动分类,爬虫获取的新浪新闻的分类,先对新闻进行分词,手动分类一些分词后的标题,然后以它为输入做SVM模型训练,然后用训练好的SVM模型对其他标题做预测。
3 系统实现
#news_classify.py
import xlrd
import xlwt
import jieba
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.svm import SVC
def read_data(file, sheet_index=0):
"""读取文件内容"""
workbook = xlrd.open_workbook(file)
sheet = workbook.sheet_by_index(sheet_index)
data = []
for i in range(0, sheet.nrows):
data.append([x for x in sheet.row_values(i) if x.strip()])
return data
def get_classified_sample():
"""返回手动分类的新闻"""
data = read_data('test.xls')
return {
'经济': data[1] + data[14] + data[20],
'社会': data[2] + data[3] + data[4] + data[9] + data[17] + data[18],
'政法': data[5] + data[6] + data[7] + data[8] + data[11] + data[13] + data[15] + data[16] + data[19],
'军事': data[10],
'娱乐': data[12],
}
def classify():
"""进行分类"""
# 一共分成5类,并且类别的标识定为0,1,2,3,4
category_ids = range(0, 5)
category = {}
category[0] = '经济'
category[1] = '社会'
category[2] = '政法'
category[3] = '军事'
category[4] = '娱乐'
corpus = []# 语料库
classified_sample = get_classified_sample()
for k, v in classified_sample.items():
line = ' '.join(classified_sample[k])
corpus.append(line)
data = read_data('test.xls')
# 把未分类的文章追加到语料库末尾行
# 21开始是因为我手动分类了前20条
for lst in data[21:]:
line = ' '.join(lst)
corpus.append(line)
# 计算tf-idf
vectorizer = CountVectorizer()
csr_mat = vectorizer.fit_transform(corpus)
transformer = TfidfTransformer()
tfidf = transformer.fit_transform(csr_mat)
y = np.array(category_ids)
# 用前5行已标分类的数据做模型训练
model = SVC()
model.fit(tfidf[0:5], y)
# 对5行以后未标注分类的数据做分类预测
predicted = model.predict(tfidf[5:])
# 结果
# print(len(predicted))
for i in range(len(predicted) - 1):
print(corpus[i + 5], '============》', category[predicted[i]])
if __name__ == '__main__':
classify()
4 实验或测试结果
程序运行后出现如下界面(一部分):
中巴经济走廊“围堵”印度?新华社: 印度想太多了============》娱乐
央行报告:上海已经基本确立国内金融中心地位============》社会
国网北京电力: 北京地区煤改电今年累计破100 万户============》娱乐
湖南沅江原市长肖胜利犯三罪判5 年: 为升迁送13 万============》娱乐
颜宁为何从清华跳槽去普林斯顿?她终于说出原因============》娱乐
国家文物局公布346 万件全国馆藏文物信息供监督============》娱乐
里皮首次对续约中国男足表态:我说了我愿意( 图) ============》经济
5 结论
本项目实现的是以标题分类为核心的Python程序的一个简单尝试,本项目采用爬虫获取的新浪新闻的分类,利用机器学习,深度学习的方法完成了标题分类任务,但模型还有待改进。
参考文献
[1]杨崧. 基于LSTM-Attention的中文新闻标题分类研究[D].中南财经政法大学,2019.
关键词:数据挖掘;贝叶斯;分类
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)23-1024-02
The Application of Bayesian Classification
ZHONG Dai-jun
(Chongqing University of Arts and Sciences, Chongqing 402160, China)
Abstract: This paper elaborates the necessity and importance of Bayesian classification when designing system using the technique of artiffisal intelligence,introduced the basic technique ofBayesian classification, given the advantage and disadvantage and future of it. Explained with some sample of theapplicationg of Bayesian classification.
Key words: data mining; bayes; classification
1 引言
数据的丰富带来了对强有力的数据分析工具的需求,大量的数据被描述为“数据丰富,但信息贫乏”。快速增长的海量数据收集、存放在大型和大量的数据库中,没有强有力的工具,理解它们已经远远超出了人的能力。
分类作为数据挖掘的一种模式,可以用于提取描述重要数据的模型,通常是预测分类标号(或离散值)。例如,可以建立一个分类模型,对银行贷款的安全或风险进行分类。许多分类的方法已被机器学习、专家系统、统计学和神经生物学方面的研究者提出。
贝叶斯分类是数据分类中的一个基本技术。在大型数据库,贝叶斯分类已表现出高准确率和高速度。贝叶斯分类中又有朴素贝叶斯分类和贝叶斯信念网络。
2 什么是分类
数据分类(data classification)是一个两步过程。第一步,建立一个模型,描述预定的数据类集。通过分析有属性描述的数据库元组来构造模型。假定每个元组属于一个预定义的类,由一个称作类标号属性(class label attribute)的属性确定。对于分类,数据元组也称作样本、实例或对象。为建立模型而被分析的数据元组形成训练数据集。训练数据集中的单个元组称作训练样本,并随机地由样本群选取。由于提供了每个训练样本的类标号,该步也称作有指导的学习(即模型的学习在被告知每个训练样本属于哪个类的“指导”下进行)。它不同于无指导的学习(或聚类),那里每个训练样本的类标号是未知的,要学习的类集合或数量也可能事先不知道。
通常,学习模型用分类规则、判定树或数学公式的形式提供。例如,给定一个顾客信用信息的数据库,可以学习分类规则,根据他们的信誉度优良或相当好来识别顾客。这些规则可以用来为以后的数据样本分类,也能对数据库的内容提供更好的理解。
第二步,使用模型进行分类。首先评估模型(分类法)的预测准确率。模型在给定测试集上准确率是正确被模型分类的测试样本的百分比。对于每个测试样本,将已知的类标号与该样本的学习模型类预测比较。如果模型的准确率根据训练集评估,评估可能是乐观的,因为学习模型倾向于过分适合数据。
如果认为模型的准确率可以接受,就可以用它对类标号未知的数据元组或对象进行分类。(这种数据在机器学习文献中也称为“未知的”或“先前未见到的”数据)。
分类具有广泛的应用,包括信誉证实、医疗诊断、性能预测和选择购物。
3 Bayesian 分类技术介绍
3.1 Bayesian分类与其他分类技术的比较
基于统计的分类算法主要包括:相似度模型(Rocchio,K一近邻)、概率模型(贝叶斯)、线性模型(LLSF,SVM)、非线性模型(决策树、神经网络)和组合模型.对于这些分类算法,国内外很多研究者进行了客观评测。
分类方法可以根据下列标准进行比较和评估:
预测的准确率:这涉及模型正确地预测新的或先前未见过的数据的类标号的能力。
速度:这涉及产生和使用模型的计算花费。
强壮性:这涉及给定噪声数据或具有空缺值的数据,模型真切预测的能力。
可伸缩性:这涉及给定大量数据,有效地构造模型的能力。
可解释性:上涉及学习模型提供的理解和洞察的层次。
数据库研究界对数据挖掘的分类一直强调可伸缩性。
“贝叶斯分类的效率如何?”理论上讲,与其他所有分类算法相比,贝叶斯分类具有最小的出错率。然而,实践中并非总是如此。这是由于对其应用的假定(如类条件独立性)的不准确性,以及缺乏可用的概率数据造成的。然而,种种实验研究表明,与判定树和神经网络分类算法相比,在某些领域,该分类算法可以与之媲美。
贝叶斯分类还可用用来为不直接使用贝叶斯定理的其他分类算法提供理论判定。例如,在某种假定下,可用证明正如朴素贝叶斯分类一样,许多神经网络和曲线拟合算法输出最大的后验假定。
3.2 贝叶斯分类
3.2.1 贝叶斯定理
设X为一个类别未知的数据样本,H为某个假设,若数据样本X属于一个特定的类别C,那么分类问题就是决定P(H/X),即在获得数据样本X时,H假设成立的概率P(X)是建立在H基础之上的x成立的概率。具体公式描述如下:
3.2.2朴素贝叶斯分类(简单贝叶斯分类)
朴素贝叶斯分类方法[3]是机器学习中常用的方法之一。朴素贝叶斯分类法将训练实例I分解成特征向量W和决策类别变量C。朴素贝叶斯分类法假定特征向量的各分向量间相对于决策变量是相对独立的。对文本分类来说,假设各个单词wi和wj之间两两独立。
设训练样本集分为k类,记为C={C1,C2,…,Ck},则每个类Ci的先验概率为P(Ci), I=1,2, …,k,其值为Ci类的样本数除以训练集总样本数N。对于样本d,其属于Ci类的条件概率是P(d|Ci)。文本d有其包含的特征词表示,即d= (w1, …,wi, …,wm),m是d的特征词个数|d|,wj是第j个特征词。根据贝叶斯定理,Ci类的后验概率为P(Ci|d)
因为P(d)对于所以类均为常数,朴素贝叶斯分类器将未知样本归于类的依据,如下
文档d由其包含的特征词表示,即d=(w1, …,wi, …,wm) ,m是d的特征词个数|d|,wj是第j个特征词,由特征独立性假设,则得
式中P(wj|Ci)表示分类器预测单词wj在类Ci的文档中发生的概率。
3.3 改进的贝叶斯分类在文本分类中的应用
关键的一个技术是特征提取。文本分类征提取的步骤包括:词语切分,词频统计,加权计算和特征选择(二者通常结合在一起进行)。
在文本分类中有很多权重计算和特征选择的公式,如信息增益、期望交叉嫡、文本证据权、zx统计量等,其中最著名的是TFIDF公式.那么,权重计算和特征选择的公式究竟哪个为优呢?其实在这些公式中,关键在于特征选择时的倾向:高频词或稀有词,也就是公式中的P(w)因子起很大作用。因此,在特征选择时,理想的做法应该是充分考虑P(w)因子的作用,最好能兼顾到高权高频词和低频高权词。
有学者对TF*F和TF*IWF*IWFF公式进行了分析并作了一些改进,认为关键词在某类的权重受3个因素的影响:该词在当前类中的出现频率;该词在总语料中的出现频率;该词在不同类别之间出现频率的差异。最终得到关键词在类中的权重计算公式:
类别区别度用来表示某一个词语对于文本分类的贡献程度,即词语的领域区别程度。直观地看,如果一个词语在每一类中都比较均匀地出现,那么它对于分类的贡献几乎为零,类别区别度很低;如果某一词语只在某一类中出现,那么它对于分类的贡献很高,有的几乎可以一词定类,类别区别度也就很高了。比如,虚词“的、我、在”的类别区别度很低,而“魔兽争霸、重仓股、手机操作系统”这样的词语其类别区别度就很高。
3.4 贝叶斯信念网络
朴素贝叶斯分类假定类条件独立,即给定样本的类标号,属性的值相互条件独立。这一假定简化了计算。当假定成立时,与其他所有分类算法相比,朴素贝叶斯分类是最精确的。然而,在实践中,变量之间的依赖可能存在。贝叶斯信念网络(Bayesian belief network)说明联合条件概率分布。它允许在变量的子集间定义类条件独立性。它提供一种因果关系的图形,可用在其上进行学习。这种网络也被称为信念网络、贝叶斯网络和概率网络。
信念网络有两部分定义。第一部分是有向无环图,其每个节点代表一个随机变量,而每条弧代表一个概率依赖。如果一条弧有节点Y到Z,则Y是Z的双亲或直接前驱,而Z是Y的后继。给定双亲,每个变量条件独立于图中的非后继。变量可以是离散的或连续值的。它们可以对应于数据中给定的实际属性,或对应于一个相信形成联系的“隐藏变量”。
“贝叶斯信念网络如何学习?”在学习或训练信念网络时,许多情况都是可能的。网络结构可能预先给定,或由数据导出。网络变量可能是可见的,或隐藏在所有或某些训练样本中。隐藏素净的情况也称为空缺值或不完全数据。
如果网络结构已知并且变量是可见的,训练网络是直截了当的。该过程由计算CPT(条件概率表)组成,与朴素贝叶斯分类涉及的计算概率类似。
当网络结构给定,而某些变量是隐藏的时,则可使用梯度下降方法训练信念网络。目标是学习CPT项的值。设S是s个训练样本X1,X2,…,Xs的集合,Wijk是具有双亲Ui=uik的变量Y=yij的CPT项。Wijk可以看作权,类似于神经网络中隐藏单元的权。权的集合总称为w。这些权被初始化为随机概率值。梯度下降策略采用贪心爬山法。在每次迭代中,修改这些权,并最终收敛到一个局部最优解。
4 结束语
简要阐述了分类在数据挖掘中的位置,着重介绍了贝叶斯分类的基本技术和它的相关应用。
参考文献
[1] 史忠植.知识发现[M].北京:清华大学出版社,2002.