业精于勤

导航

特征选取

Mining the Web
特征选取
特征选取
Feature selection, dimension reduction
《Mining the Web》, section 5.5
《Modeling the Internet and the Web》,section 4.6.4
"Machine Learning in Automated Text Categorization", sections 5.3, 5.4, 5.5
"A Comparative Study on Feature Selection in Text Categorization" by Yiming Yang and Jan Pedersen
基本问题
数据的稀疏性问题(和数据库记录的反差):
样板空间涉及的总词项数很大(N在10万量级),但每篇文档只涉及其中的一小部分(例如一篇网页通常只有几百个词)
这意味着文档的向量表示(二元或者TF)是稀疏的
理论上(统计学习理论,Souman,4.4.1)
基本假设:文档(模式)的形成都是某种随机过程的结果
于是
我们可能通过统计方法得到这种随机过程的性质:分布,参数,等
进而可以反过来利用得到的参数来设计文档分析的方法(聚类,索引,分类等)
在这种思路下,从根据词项出现的情况(bag-of-words假设)进行文本分类的要求出发,最理想的就是能得到关于{t1,t2,…,tN}的联合概率分布(joint distribution)-- 通过大量的例子,对每一个类c,得到
pc(t1,t2,…,tN)
"大量"
训练集 >> 特征项的集合
但通常的训练集只有上万的元素(人工开销太大)
考虑边际概率分布(marginal distribution)如何
pc(t1), pc(t2), …, pc(tN)
含义是词项ti在类c文档中出现的概率
需要的训练元素少很多,但可用性大大降低
(因为这样彻底忽略了词项在文档中的相关性)
Over-fitting problem
如果一种特征选取的结果使得训练集元素适应得很好(导致很高的自动分类精度),但对训练集之外的文档显得差许多,则称此时的学习模型有
Over-fitting problem
我们希望模型的表现对训练集和未知文档基本一致.
需要对参与sim计算的词项进行筛选
目的
避免over fitting,提高分类准确度
通过降维(到1/10 0 1/100,甚至更多),大大节省计算时间和空间
基本信念:除那些stop words外,还有许多词实际上对分类没什么贡献
但如何确定这些词
理论上完美的特征选取
考察{t1,t2,…,tN}的每一个子集
一个个对分类器进行测试,保留准确度最高的子集
COMPUTATIONALLY INFEASIBLE
实际中都是用某种启发式算法来解决.
最简单的启发式
从{t1,t2,…,tN}中去掉所有Stop words
凭经验去掉那些太常见和太不常见的词项
"quick-and-dirty" approximation
也不一定效果就很不好!
层次型类别体系有特殊的挑战:随着层次的深入,区别要比较精细才可能有好效果
几种基本的考虑角度
local vs global
local: 为每一个类形成一个特征提取结果
global: 为所有类形成一个共同的结果
term selection vs term extraction
term selection: 从{t1,t2,…,tN}中挑选出需要的
term extraction: 根据{t1,t2,…,tN}和训练集,以及其他知识,综合出一个优化特征集合来
filter vs wrapper
filter: 独立于学习过程,"静态求解"
wrapper: 在学习过程中确定,逐步减少误差,"动态形成"
几个角度(续)
inclusion vs exclusion
inclusion: 挑那些需要的
exclusion: 删那些不需要的
Greedy inclusion algorithm
最常用的策略(算法)
对每一个词项,一个个计算它在类别体系中的某种"区分度";
将词项按照"区分度" 降序排列;
留下前面的若干词项,为分类器所用
不同的区分度算法可能导致不同的词项序,但不同算法所导致的前面若干项常常有很大的重叠(soumen的观点)
降维词项向量为分类器所用的含义
T = {t1,t2,…,tN} T' = {t'1,t'2,…,t'k}
N >> K
训练集的每一个文档只用T'中的元素表示
待分类的文档也只用T'中的元素表示
文档频率法(DF, document frequency)
类似于前面提到的"quick-and-dirty"方法
在去掉stop words后,留下那些文档频率较高的词项
最容易实现,可扩展性好
启发式要点
太稀有的词项独立表达的类别信息不强
在训练集中,某些文档如果有某个稀有词项,它们通常也会有一些常见词项(对那一类)
稀有词项的全局影响力不大
和通常信息获取观念有些抵触:稀有的更有代表性
这是一种 ad hoc 方法(不依据什么理论)
Contingency table (matrix)
信息增益法(information gain)
以传统信息论(Shannon)思想为基础,估计一个词项 t 相对于类别体系
c = {c1,c2,…,cm}
所带来的"信息增益",G,留下那些具有较大增益的词项.(为方便起见,在不致混淆的场合,也用ci表示该类元素在训练集中的数量,用c表示所有ci之和)
信息量:熵
信息增益:熵的差
现在也就是考虑"t出现与否导致的熵的变化"
信息量,熵
设信息出现(例如"硬币出现某一面","一篇文档属于某一类")的概率空间
p = {p1, p2, …, pm}
则系统的熵
H(p) = E(-log p) = - sigma(pi log pi)
对应到我们的文本分类系统,从训练集出发(假设训练集元素的分布反映总体概率特征),这里的概率就是训练集中不同类元素所占的百分比(pi = Pr(ci) = ci/c).
信息增益,熵的变化
在引入某个词项t之前,系统的熵(即一个随机文档落入某个类的概率空间的熵)
H(p) = E(-log p) = - sigma(pi log pi)
其中pi = ci/c,对应于相关表中的(A+B)/n
在观察到t以后,文档落入某个类ci的概率就应该是条件概率Pr(ci|t),对应于相关表中的A/n(设n=A+B+C+D,注意,对不同的ci,每个分量不一定相同,但n是一样的)
于是我们可以写出另外一个熵来
进一步考虑没有观察到t,文档落入类ci的概率,C/n,我们可以写出另外一个熵.
综合:词项 t 在分类中的信息增益
公式
The test(chi,开方拟合检验)
源于统计学的chi-square分布
也是从(类,词项)相关表出发.此时考虑的是每一个类和每一个词项的相关情况,chi-square(t,c).
在假设t和c没关系的前提下,考察观测值和期望值之间的差别.
观测值:相关表中每一个"方块"的实际情况,A/n, B/n, C/n, D/n
期望值:Pr(t=1,c=1) = Pr(t)Pr(c).类似有Pr(t=0,c=0)等四种情况
注意,从相关表中我们可以得到Pr(t), Pr(c)之类,即它的行或者列
四种差别的情况和起来就是chi-square值,越大,说明t和c的相互"独立性"越不高,也就是相关性越高
Chi-square
公式推导
全局特征选择
平均
最大
特征选取过程
Sort terms in decreasing order of their values,
Train several classifier with varying number of features
Stopping at the point of maximum accuracy.
互信息法(mutual information)
统计语言学建模的一种方法,是评估两个随机变量X, Y相关程度的一种度量
其中Pr(x,y)是变量取值(x,y)的概率
互信息用于特征选取
我们这里,X, Y分别对应词项t的出现情况和类别的出现情况
看成随机事件,t可能出现0,1,2,…次(取决于要用的文档模型);类别有m种可能c={c1,c2,…,cm}
不混淆情况下,也用t, c表示这两个随机变量
我们关心的Pr(t), Pr(c), Pr(t,c)都可以通过统计训练集中的数据情况得到
如果用二元模型,即前面的"相关表"就足够,
如果是多元模型,也容易推广
下面以二元模型为例
MI(t, c)
MI(t=0,c') = log … = log(B*n/(B+D)(A+B))
MI(t=1,c') = log … = log(A*n/(A+C)(A+B))
MI(t,c) = ∑{Pr(t=0,c')*MI(t=0,c')} +
∑{Pr(t=1,c')*MI(t=1,c')}
求和c' {c1,c2,…,cm}
术语强度(term strength)
考察一个词项在"相似文档"中出现的可能性
假定我们已经有了一个相似文档的集合S,设x, y为其中任意两个文档,那么词项t对这个集合的术语强度为
s(t) = Pr(t y | t x)
一种新颖的角度
S中的文档要满足一定的"相似度"指标,S不一定就是训练集中的那些类.通常由聚类来确定S.
效果评估
Yang Yimin(英文语料,Reuters-22173),冯是聪(中文网页)
kNN分类
DF, IG, Chi-square不错,降维98%还有分类精度的改善
TS在达到50%左右降维之前都不错,但更多降维就比较差了
MI总的来说比较差
关于互信息法(MI)的一种认识
特点
MI(t,C)的值越大,t对于C的区分能力越强
对同一个类,不同的词项,在同样Pr(t|c)情况下,相对稀有的 t 会得到较大的值
MI还可以解释为给定一个随机变量后另外一个随机变量上的减少
MI(X; Y ) = H(X) 0 H(X|Y) = H(Y) 0 H(Y|X)
为什么信息检索没有考虑特征提取问题
已经交论文报告的名单
马旋,李双峰,杨谨瑜,项锟,许国庆,聂久涛,王宁,刘迎辉,谢欣,杜昆鹏,田明军,斟贻荣,梁冰,唐建新,石午光,来天平,王宏俊,罗景,刘菲菲,许丞,彭翰,李永华,马龙,刘畅(25按时交)
现在没交的:扣1分
以后每晚一天加扣1分
Clustering,聚类
11月26日,12月17日
Guest lectures by 于江生老师
数据量从乘积到和

posted on 2007-03-15 16:41  言午  阅读(622)  评论(1编辑  收藏  举报