特征选择是从特征集中选择出相关的特征子集。在文本分类中是从训练集合出现的term中选择出一部分子集的过程。
特征选择有两个目的:
1、通过减少特征空间选择更有效的特征,提高分类训练和应用的效率。
2、去除噪音特征,提高分类的精度。
对于文本分类,特征选择的算法一般一下流程:
[code]
select-features(D,c,k){//D指document,c指Category,k保留的特征数
v = extract-terms(D);//从文档中抽取term,分词
L = []; //<feature、特征效用指标utilty> 数组
foreach( t in v ){//对于文档中的每一个单词
feaure-utilty(t,c) = compute-feaure-utilty(D,t,c);//计算feature的utilty
append(L,<t,feaure-utility(t,c)>);//加入L中
}
return top-k-utilty-features(L);//返回特征效用最大的k个feature
}
[/code]
这里使用特征效用(utility)度量,是为了避免和feature权重混淆。
特征效用是指在特征与类别的相关性,而特征权重是指特征在分类时的权重值。
[url]http://www.blogjava.net/zhenandaci/archive/2009/04/19/266388.html[/url]有详细介绍。
特征选择的方法:
特征选择有很多种方法,比如:互信息、卡方检验(χ2 test)、基于频率的特征选择。
互信息的方法是计算term t和类别c的期望互信息,期望互信息是term的存在与否能
给类别c的正确判断带来的信息量。
卡方检验是用来检验两个事件的独立性,在特征选择中,它检验term的出现和类别的出现是否相互独立。
基于频率的特征选择就是选择在类别中出现频率比较高的term。频率可以定义为文档频率(
在类别c中包含t的文档数)和文档集频率(c类别中所有文档中t出现的总次数)。
文档频率适合贝努力模型,而文档集频率适合于多项式模型。
特征选择有两个目的:
1、通过减少特征空间选择更有效的特征,提高分类训练和应用的效率。
2、去除噪音特征,提高分类的精度。
对于文本分类,特征选择的算法一般一下流程:
[code]
select-features(D,c,k){//D指document,c指Category,k保留的特征数
v = extract-terms(D);//从文档中抽取term,分词
L = []; //<feature、特征效用指标utilty> 数组
foreach( t in v ){//对于文档中的每一个单词
feaure-utilty(t,c) = compute-feaure-utilty(D,t,c);//计算feature的utilty
append(L,<t,feaure-utility(t,c)>);//加入L中
}
return top-k-utilty-features(L);//返回特征效用最大的k个feature
}
[/code]
这里使用特征效用(utility)度量,是为了避免和feature权重混淆。
特征效用是指在特征与类别的相关性,而特征权重是指特征在分类时的权重值。
[url]http://www.blogjava.net/zhenandaci/archive/2009/04/19/266388.html[/url]有详细介绍。
特征选择的方法:
特征选择有很多种方法,比如:互信息、卡方检验(χ2 test)、基于频率的特征选择。
互信息的方法是计算term t和类别c的期望互信息,期望互信息是term的存在与否能
给类别c的正确判断带来的信息量。
卡方检验是用来检验两个事件的独立性,在特征选择中,它检验term的出现和类别的出现是否相互独立。
基于频率的特征选择就是选择在类别中出现频率比较高的term。频率可以定义为文档频率(
在类别c中包含t的文档数)和文档集频率(c类别中所有文档中t出现的总次数)。
文档频率适合贝努力模型,而文档集频率适合于多项式模型。