- 浏览: 1272786 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (608)
- 数据结构 (2)
- AJAX (3)
- 设计模式 (3)
- java (117)
- js (14)
- css (9)
- jsp (10)
- 杂文 (49)
- htmlparser (6)
- 数据库 (29)
- 算法 (14)
- 数据挖掘 (11)
- 电脑杂症 (12)
- 网络爬虫 (7)
- 应用服务器 (9)
- PHP (2)
- C# (14)
- 测试 (3)
- WEB高性能开发 (3)
- swt (1)
- 搜索引擎 (16)
- HttpClient (4)
- Lite (1)
- EXT (1)
- python (1)
- lucene (4)
- sphinx (9)
- Xapian (0)
- linux (44)
- 问题归类 (1)
- Android (6)
- ubuntu (7)
- SEO (18)
- 数学 (0)
- 农业资讯 (12)
- 游戏 (3)
- nginx (1)
- TeamViewer (1)
- swing (1)
- Web前 端 (1)
- 主页 (0)
- 阿萨德发首发身份 (0)
- 软件设计师 (0)
- hibernate (5)
- spring3.0 (5)
- elastic (1)
- SSH (3)
- ff (0)
- oracle 10g (9)
- 神经网络 (1)
- struts2.0 (2)
- maven (1)
- nexus (1)
- 辅助工具 (3)
- Shiro (1)
- 联通项目 (0)
- 2014年专业选择 (0)
- freemarker (1)
- struts1.2 (8)
- adfasdfasfasf (0)
- TortoiseSVN (1)
- jstl (1)
- jquery (1)
- eclipse plugin (0)
- 游戏外挂 (1)
- 推广 (0)
- 按键精灵 (1)
- ibatis3.0 (1)
最新评论
-
水野哲也:
不不不, 这个您真错了!其实是你引用的那个jsp和本身的jsp ...
解析关于jsp页面指令冲突问题contentType="text/html;charset=UTF-8" -
caobo_cb:
import xx.cn.weibo.Util;
[ java版]新浪微博之ruquest_token篇 -
caobo_cb:
你好 Util包没有
[ java版]新浪微博之ruquest_token篇 -
小桔子:
你好!我遇到个问题 max_allowed_packet值总是 ...
mysql查询占用内存,优化的技巧 -
donghustone:
谢谢大神!
用JSmooth制作java jar文件的可执行exe文件教程(图文)
前文提到过,除了分类算法以外,为分类文本作处理的特征提取算法也对最终效果有巨大影响,而特征提取算法又分为特征选择和特征抽取两大类,其中特征选择算法有互信息,文档频率,信息增益,开方检验等等十数种,这次先介绍特征选择算法中效果比较好的开方检验方法。
大家应该还记得,开方检验其实是数理统计中一种常用的检验两个变量独立性的方法。(什么?你是文史类专业的学生,没有学过数理统计?那你做什么文本分类?在这捣什么乱?)
开方检验最基本的思想就是通过观察实际值与理论值的偏差来确定理论的正确与否。具体做的时候常常先假设两个变量确实是独立的(行话就叫做“原假设”),然后观察实际值(也可以叫做观察值)与理论值(这个理论值是指“如果两者确实独立”的情况下应该有的值)的偏差程度,如果偏差足够小,我们就认为误差是很自然的样本误差,是测量手段不够精确导致或者偶然发生的,两者确确实实是独立的,此时就接受原假设;如果偏差大到一定程度,使得这样的误差不太可能是偶然产生或者测量不精确所致,我们就认为两者实际上是相关的,即否定原假设,而接受备择假设。
那么用什么来衡量偏差程度呢?假设理论值为E(这也是数学期望的符号哦),实际值为x,如果仅仅使用所有样本的观察值与理论值的差值x-E之和
来衡量,单个的观察值还好说,当有多个观察值x1,x2,x3的时候,很可能x1-E,x2-E,x3-E的值有正有负,因而互相抵消,使得最终的结果看上好像偏差为0,但实际上每个都有偏差,而且都还不小!此时很直接的想法便是使用方差代替均值,这样就解决了正负抵消的问题,即使用
这时又引来了新的问题,对于500的均值来说,相差5其实是很小的(相差1%),而对20的均值来说,5相当于25%的差异,这是使用方差也无法体现的。因此应该考虑改进上面的式子,让均值的大小不影响我们对差异程度的判断
式(1)
上面这个式子已经相当好了。实际上这个式子就是开方检验使用的差值衡量公式。当提供了数个样本的观察值x1,x2,……xi ,……xn之后,代入到式(1)中就可以求得开方值,用这个值与事先设定的阈值比较,如果大于阈值(即偏差很大),就认为原假设不成立,反之则认为原假设成立。
在文本分类问题的特征选择阶段,我们主要关心一个词t(一个随机变量)与一个类别c(另一个随机变量)之间是否相互独立?如果独立,就可以说词t对类别c完全没有表征作用,即我们根本无法根据t出现与否来判断一篇文档是否属于c这个分类。但与最普通的开方检验不同,我们不需要设定阈值,因为很难说词t和类别c关联到什么程度才算是有表征作用,我们只想借用这个方法来选出一些最最相关的即可。
此时我们仍然需要明白对特征选择来说原假设是什么,因为计算出的开方值越大,说明对原假设的偏离越大,我们越倾向于认为原假设的反面情况是正确的。我们能不能把原假设定为“词t与类别c相关“?原则上说当然可以,这也是一个健全的民主主义社会赋予每个公民的权利(笑),但此时你会发现根本不知道此时的理论值该是多少!你会把自己绕进死胡同。所以我们一般都使用”词t与类别c不相关“来做原假设。选择的过程也变成了为每个词计算它与类别c的开方值,从大到小排个序(此时开方值越大越相关),取前k个就可以(k值可以根据自己的需要选,这也是一个健全的民主主义社会赋予每个公民的权利)。
好,原理有了,该来个例子说说到底怎么算了。
比如说现在有N篇文档,其中有M篇是关于体育的,我们想考察一个词“篮球”与类别“体育”之间的相关性(任谁都看得出来两者很相关,但很遗憾,我们是智慧生物,计算机不是,它一点也看不出来,想让它认识到这一点,只能让它算算看)。我们有四个观察值可以使用:
1. 包含“篮球”且属于“体育”类别的文档数,命名为A
2. 包含“篮球”但不属于“体育”类别的文档数,命名为B
3. 不包含“篮球”但却属于“体育”类别的文档数,命名为C
4. 既不包含“篮球”也不属于“体育”类别的文档数,命名为D
用下面的表格更清晰:
特征选择
|
1.属于“体育”
|
2.不属于“体育”
|
总 计
|
1.包含“篮球”
|
A
|
B
|
A+B
|
2.不包含“篮球”
|
C
|
D
|
C+D
|
总 数
|
A+C
|
B+D
|
N
|
如果有些特点你没看出来,那我说一说,首先,A+B+C+D=N(这,这不废话嘛)。其次,A+C的意思其实就是说“属于体育类的文章数量”,因此,它就等于M,同时,B+D就等于N-M。
好,那么理论值是什么呢?以包含“篮球”且属于“体育”类别的文档数为例。如果原假设是成立的,即“篮球”和体育类文章没什么关联性,那么在所有的文章中,“篮球”这个词都应该是等概率出现,而不管文章是不是体育类的。这个概率具体是多少,我们并不知道,但他应该体现在观察结果中(就好比抛硬币的概率是二分之一,可以通过观察多次抛的结果来大致确定),因此我们可以说这个概率接近
(因为A+B是包含“篮球”的文章数,除以总文档数就是“篮球”出现的概率,当然,这里认为在一篇文章中出现即可,而不管出现了几次)而属于体育类的文章数为A+C,在这些个文档中,应该有
篇包含“篮球”这个词(数量乘以概率嘛)。
但实际有多少呢?考考你(读者:切,当然是A啦,表格里写着嘛……)。
此时对这种情况的差值就得出了(套用式(1)的公式),应该是
同样,我们还可以计算剩下三种情况的差值D12,D21,D22,聪明的读者一定能自己算出来(读者:切,明明是自己懒得写了……)。有了所有观察值的差值,就可以计算“篮球”与“体育”类文章的开方值
把D11,D12,D21,D22的值分别代入并化简,可以得到
词t与类别c的开方值更一般的形式可以写成
式(2)
接下来我们就可以计算其他词如“排球”,“产品”,“银行”等等与体育类别的开方值,然后根据大小来排序,选择我们需要的最大的数个词汇作为特征项就可以了。
实际上式(2)还可以进一步化简,注意如果给定了一个文档集合(例如我们的训练集)和一个类别,则N,M,N-M(即A+C和B+D)对同一类别文档中的所有词来说都是一样的,而我们只关心一堆词对某个类别的开方值的大小顺序,而并不关心具体的值,因此把它们从式(2)中去掉是完全可以的,故实际计算的时候我们都使用
式(3)
好啦,并不高深对不对?
针对英文纯文本的实验结果表明:作为特征选择方法时,开方检验和信息增益的效果最佳(相同的分类算法,使用不同的特征选择算法来得到比较结果);文档频率方法的性能同前两者大体相当,术语强度方法性能一般;互信息方法的性能最差(文献[17])。
但开方检验也并非就十全十美了。回头想想A和B的值是怎么得出来的,它统计文档中是否出现词t,却不管t在该文档中出现了几次,这会使得他对低频词有所偏袒(因为它夸大了低频词的作用)。甚至会出现有些情况,一个词在一类文章的每篇文档中都只出现了一次,其开方值却大过了在该类文章99%的文档中出现了10次的词,其实后面的词才是更具代表性的,但只因为它出现的文档数比前面的词少了“1”,特征选择的时候就可能筛掉后面的词而保留了前者。这就是开方检验著名的“低频词缺陷“。因此开方检验也经常同其他因素如词频综合考虑来扬长避短。
好啦,关于开方检验先说这么多,有机会还将介绍其他的特征选择算法。
附:给精通统计学的同学多说几句,式(1)实际上是对连续型的随机变量的差值计算公式,而我们这里统计的“文档数量“显然是离散的数值(全是整数),因此真正在统计学中计算的时候,是有修正过程的,但这种修正仍然是只影响具体的开方值,而不影响大小的顺序,故文本分类中不做这种修正。
发表评论
-
如何提高和优化Lucene索引速度
2009-07-09 12:39 1692这篇文章主要介绍了如何提高Lucene的索引速度。介绍的大部分 ... -
如何提高和优化Lucene搜索速度
2009-07-09 12:37 1532这篇文章主要介绍了如何提高Lucene的搜索速度。介绍的大部分 ... -
用 Lucene 加速 Web 搜索应用程序的开发
2009-06-25 13:56 793Lucene 是基于 Java 的全文信息检索包,它目前是 A ... -
基于Sphinx+MySQL全文检索架构设计
2009-06-24 16:12 1648原文:http://blog.s135.com/read.ph ... -
lucene并行建索引解决方案
2009-06-23 20:20 1387写,线程2往build_index2,。。。依次类推,最后一个 ... -
文本分类入门(十一)特征选择方法之信息增益
2009-04-14 18:12 1866前文提到过,除了开方 ... -
文本分类入门(八)中英文文本分类的异同
2009-04-14 18:09 1544从文本分类系统的处理流程来看,无论待分类的文本是中文还是英文, ... -
文本分类入门(七)相关概念总结
2009-04-14 18:09 1345学习方法:使用样例( ... -
文本分类入门(六)训练Part 3
2009-04-14 18:08 2322SVM算法 支持向量机(Support Vector M ... -
文本分类入门(五)训练Part 2
2009-04-14 18:06 1744将样本数据成功转化为向量表示之后,计算机才算开始真正意义上的“ ... -
文本分类入门(四)训练Part 1
2009-04-14 18:05 1924训练,顾名思义,就是t ... -
文本分类入门(三)统计学习方法
2009-04-14 18:04 1607前文说到使用统计学习方法进行文本分类就是让计算机自己来观察由人 ... -
文本分类入门(二)文本分类的方法
2009-04-14 18:04 1528文本分类问题与其它分 ... -
文本分类入门(一)文本分类问题的定义
2009-04-14 18:03 1654一个文本(以下基本不区分“文本”和“文档”两个词的含义)分类问 ... -
基于关键词表达式模型的文本自动分类系统的研究与实现
2009-04-14 17:26 2185基于关键词表达式模型的文本自动分类系统的研究与实现 Rese ...
相关推荐
文档频率、信息增益、互信息、X2统计量、期望交叉熵、文本证据权和几率比是本研究中提及的七种常用的文本分类特征选择算法。文档频率是选择在一定数量的文档中出现频率高于阈值的特征;信息增益是通过信息熵来评估...
文本特征选择对于文本分类的性能至关重要。通过有效选择和优化特征,可以提高分类器的精度,降低误报率和漏报率,同时减少计算资源的需求,使模型更加实用和高效。随着深度学习和自然语言处理技术的发展,特征选择的...
"基于信息熵的特征选择算法研究" 特征选择是机器学习和数据挖掘领域中的一种重要技术,主要用于去除冗余和无关的特征,以提高模型的性能和效率。基于信息熵的特征选择算法是一种常见的特征选择方法,其基本思想是...
### 基于改进型特征选择算法的文本分类方法之计算机研究 #### 一、研究背景及意义 随着互联网技术的飞速发展,用户不仅能够便捷地获取互联网上的信息资源,还能将信息发布到互联网上,成为信息的双向交流者。根据...
基于向量空间模型,冯长远和普杰信提出了一种改进的Web文本特征选择算法。该算法综合考虑了Web文档结构特征,并引入了信息论中的熵概念来调整特征词的权重。 - **结构特征考虑**:算法不仅考虑了特征词本身的信息,...
### 利用SVM进行文本分类并研究特征选择对文本分类的影响 #### 一、支持向量机(SVM)概述及原理 支持向量机(Support Vector Machine, SVM)是一种非常强大的机器学习技术,主要用于分类和回归分析。它基于统计学习...
在文本分类中,SVM经常与核函数结合使用,能有效处理高维空间的文本特征。 这些算法各有优缺点,适用于不同的场景。例如,信息增益和互信息适用于特征选择,而朴素贝叶斯和SVM则作为实际的分类器。在实际应用中,...
新闻文本分类是自然语言处理(NLP)领域中的一个核心任务,主要目的是将新闻文本按照预定义的主题或类别进行划分。在这个阿里天池提供的零基础入门教程中,我们将深入探讨如何利用NLP技术来实现这一目标。这个项目...
在技术层面,文本分类涉及了预处理(如去除停用词、词干提取等)、特征表示(如TF-IDF、词嵌入等)、特征处理和分类算法的选择。在评价分类算法性能时,通常会使用准确率、召回率、F1分数等指标。而卷积神经网络则...
FEAST算法是特征选择算法的一种,全称叫a FEAture Selection Toolbox for C and MATLAB算法,FEAST 提供了基于共同信息的滤波特征选择算法的实现,通过特征选择,可以帮助我们筛选出有用的特征,减少模型训练时间。...
【Python文本特征抽取与向量化算法】是自然语言处理领域中的关键步骤,它涉及将非结构化的文本数据转化为机器学习模型可理解的数值形式。在处理文本数据时,首要任务是将文本信息提取成有意义的特征,然后进行向量化...
特征选择是机器学习的一个重要领域,改代码是经典无监督特征选择算法LaplacianScore算法matlab代码,这里上传给大家下载,希望能对大家有所帮助
本文主要探讨了基于分词频的特征选择算法在文本分类中的应用,这是一种优化文本分类效率和准确性的策略。 首先,文本分类技术通常包括几个步骤:文本预处理、降维、特征加权、构建分类器以及分类性能评估。预处理...
提出了一种基于随机森林的封装式特征选择算法RFFS,以随机森林算法为基本工具,以分类精度作为准则函数,采用序列后向选择和广义序列后向选择方法进行特征选择。在 UCI数据集上的对比实验结果表明,RFFS算法在分类...
特征提取是文本抄袭检测的重要环节,文本特征的数量和质量严重影响文本抄袭检测的准确率。...实验结果表明,该文本特征提取算法能够准确选择文本的特征集,解决了文本特征数量多的问题,检测的准确率也有所提高。
总之,这个面向迁移学习的文本特征对齐算法通过特定词性特征的选择和对齐,有效地减少了源领域与目标领域之间的语义鸿沟,提高了迁移学习的准确性。这种方法不仅深化了我们对迁移学习的理解,也为实际应用提供了有...