特征获取
从N个特征集合中选择M个特征的子集, 并满足M<=N
1, 特征提取:是一种变换,将处于高位空间的样本通过映射或变换的方式转换到低维空间,达到降维目的
2, 特征选择:从一组特征中去除冗余或不相关的特征来降维
二者通常结合使用, 如先映射到低维空间、再去除冗余和不相关特征
特征获取的两个问题
1, 确定选择算法: 在允许时间内, 找出最小的、最能描述类别的特征组合
2, 确定评价标准: 衡量特征组合是否最优,得到特征获取操作的停止条件
因此, 通常步骤是先产生特征子集,再评价; 如果满足停止条件则完毕, 否则再次产生特征子集重复。
特征提取
穷举法, 复杂度为指数级, 肯定能得到最优子集; 实用性不强
完备集
遍历所有特征集
广度优先
非完备集
分支定界
最好优先
启发方法, 近似算法, 复杂度N^2
向前选择
向后选择
组合选择
基于实例
随机方法, 复杂度指数级,但能设置迭代次数。 常用有LasVegasFilter, 遗传算法, 模拟退火
完全随机
概率随机
特征提取, 算法的另一种分类
最优搜索
穷举
分支定界 branch and bound
次优搜索
单独最优特征组合
顺序前进。 选择最优特征, 选择剩下特征中的最优特征, 持续至结束
顺序后退。 删掉最差特征, 删掉剩下特征中的最差特征, 持续至结束
增l减r。 先增加l个最优特征, 然后再从特征子集中删掉r个最差特征; 持续至结束
其他
模拟退火
Tabu搜索
遗传算法
评价标准
1, 通过分类结果来比较特征选择结果:选择使分类器的错误概率最小的特征或者特征组合。 计算量打、实用性差
2, 基于评价函数来进行特征选择
距离度量:样本之间距离越小越相似, 越大越可分。 不能处理各类交叠的情况
欧式距离
S阶Minkowski测度
Chebychev距离
概率距离测度
信息测度: 利用具有最小不确定性的哪些特征来分类最有利
Shannon熵
Renyi熵
条件熵
相关性测度
一致性测度
评价函数根据其实现原理分为2类, filter和wrapper
filter:分析特征子集内部的信息来衡量该特征子集的好坏, 比如特征见的相互依赖程度。 实质上是一种无监督方法
wrapper: 采用特征子集对样本分类, 根据分类结果好坏来衡量特征子集好坏。 有监督学习方法
类别可分离性盘踞满足的要求
1 与错误概率有单调关系
2 特征独立时有可加性
3 具有距离的某些特性
4 对特征数目单调不减; 即加入新特征后, 判别值不减
=================================================
评价函数 泛化能力 时间复杂性 分类精度
=================================================
距离测度 好 低
信息测度 好 低
相关性测度 好 低
一致性测度 好 中等
=================================================
分类错误率 差 高
=================================================
选择原则
因素:
数据类型:离散型 连续型 布尔变量
问题规模:两类 多类
样本数量:海量 小样本
原则:
1 处理数据类型的能力。是否支持离散、连续或者布尔?
2 处理问题规模的能力。某些特征选择算法不支持多累问题
3 处理样本量的能力、特征集大小的能力
4 对噪声的容忍能力
5 无噪声情况下, 产生稳定、最优特征子集的能力
特征选择有很多种方法,比如:互信息、卡方检验(χ2 test)、基于频率的特征选择。
互信息的方法是计算term t和类别c的期望互信息,期望互信息是term的存在与否能
给类别c的正确判断带来的信息量。
卡方检验是用来检验两个事件的独立性,在特征选择中,它检验term的出现和类别的出现是否相互独立。
基于频率的特征选择就是选择在类别中出现频率比较高的term。频率可以定义为文档频率(
在类别c中包含t的文档数)和文档集频率(c类别中所有文档中t出现的总次数)。
文档频率适合贝努力模型,而文档集频率适合于多项式模型。
http://www.cnblogs.com/heaad/archive/2011/01/02/1924088.html
http://www.cnblogs.com/heaad/archive/2010/12/20/1911614.html
http://www.cnblogs.com/heaad/archive/2010/12/23/1914725.html
距离函数
http://www.cnblogs.com/heaad/archive/2011/03/08/1977733.html
应用安装
http://www.cnblogs.com/heaad/archive/2010/11/20/1882864.html
均是基于向量空间模型, 每个文档doc, 均可表示成一组term构成的向量
文本分类领域常用特征选择算法
文档频率 DF
信息增益 infomation gain
互信息 mutual infomation
叉方统计 chi-square
交叉熵
优势率
信息增益
IG(t) = -sigmaP(ci)*lg(P(ci)) + P(t)*sigmaP(ci|t)*logP(ci|t) + P(t')*sigmaP(ci|t')*logP(ci|t'), 1<=i<=m
IG(T) = H(C) - H(C|T)
其中
-sigmaP(ci)*lg(P(ci)) 是整个分类系统的信息熵;
信息增益, 针对各个的特征而言, 看该特征t, 整个系统中某些文本由t和整个系统中都没t的时候信息量各是多少, 两者的差值就是该特征t给系统带来的信息量, 即信息增益
就是说下面两个命题是等价的。(1) 所有的文本中都没有出现特征t;(2) 系统虽然包含特征t,但是t的值已经固定了。 使用第2中情况表示整个系统不包含t
P(ci) 是第i类文档在样本集中出现的概率
P(t) 是包含特征词t的文档数量占全部文档数量的比重
P(t') 是不包含特征词t的文档数量占全部文档数量的比重
P(ci|t) 是包含了特征词t的Ci类中的文档数量占整个系统中包含了特征词t的文档数量的比重
P(ci|t') 是Ci类中不包含特征词t的文档数量占整个系统中不包含特征词t的文档数量的比重
http://hxraid.javaeye.com/blog/767364
http://wenku.baidu.com/view/3e629c2ced630b1c59eeb58e.html
信息增益越大, 说明该特征越重要
文档频率 :DF TF TF*IDF
DF,类内包含该特征词t的文档数与类中全部文档数的比例, DF(t) = P(ci|t)/P(ci)
比例太低,认为该词在该类别中的样本文档中出现的次数太少, 该特征词对表示类别信息无贡献, 忽略
比例太高,认为该词也不能很好的反应类别信息, 忽略
将剩下的DF排序
互信息 I(X, Y) = H(X) +H(Y) - H(X,Y) = logP(X, Y)/P(X)P(Y), 满足对称性; XY独立时, 互信息量为0
基本假设:在某个特定类别中出现频率高、但在其他类别中出现频率低的特征词, 与该类的互信息比较大
平均互信息, MI(Ci, T) = sigma p(Ci, t)* log p(Ci, t)/(p(Ci)*p(t)), i取值为m个类别, t取值为T的所有可能
其中,
t为特征T的每种具体取值
p(Ci, t)为类别Ci中,特征T取值为t的概率
由此可以计算出分类系统中, 到底哪个(C,T)的互信息量大
互信息量理解为当确定某个条件时,原系统减少的信息量
http://wenku.baidu.com/view/f4c030d6195f312b3169a5d8.html
互信息是针对不同的主题类分别抽取特征词!!!
交叉熵
也称KL距离, 反映了类的概率分布和在出现了某特定词汇的条件下文本类的概率分布之间的距离; 词汇w的交叉熵越大, 对文本类分布的影响也越大
比信息增益的选择效果要好
比互信息要差
叉方统计量
用于度量特征t与类C之间的独立性
基本假设:指定类别中出现频率高的词语其他类中出现频率高的词, 对判定文档是否属于该类别都是很有帮助的
叉方统计对于低频词来说是不可靠的
特征选择效果最优, 分类效果受训练集影响较小, 比较稳定
χ2 ( t , c) =N ×( AD - CB)^2/(( A + C) ×( B + D) ×( A + B) ×( C + D))『2是指2次方』 越大表示越相关
其中, t 表示一个候选特征项; c 表示一个类别;
N为训练集中所有实例网页数;
A 为t 和c 同时出现的次数; B 为t 出现而c 没有出现的次数; C 为c 出现而t 没有出现的次数; D 为t 和c 都没有出现的次数。
对于多分类问题, 针对每个类计算该特征的叉方, 然后取最大值得到针对所有类别的叉方值; 低于阀值的丢弃
优势率 Odds Ratio
只用于二元分类
遗传算法
相对熵
比如利用相对熵进行分类或者是利用相对熵来衡量两个随机分布的差距,当两个随机分布相同时,其相对熵为0.当两个随机分布的差别增加时,器相对熵也增加。我们下面的实验是为了横量概率分布的差异。
方法:
D(p//q)=sum(p(x)*log(p(x)/q(x)))。其中p(x)和q(x)为两个概率分布
约定 0*log(0/q(x))=0;p(x)*log(p(x)/0)=infinity;
D(p//q) 与 D(q//p) 无对称性
主成分分析法 PCA Principal Component Analysis
通过搜索最能代表原数据的正交向量,创立一个替换的、较小的变量集来组合属性的精华,原数据可以投影到这个较小的集合。PCA由于其处理方式的不同又分为数据方法和矩阵方法。矩阵方法中,所有的数据通过计算方差一协方差结构在矩阵中表示出来,矩阵的实现目标是确定协方差矩阵的特征向量,它们和原始数据的主要成分相对应。在主成分方法中,由于矩阵方法的复杂度在n很大的情况 以二次方增长,因此人们又开发使用了主要使用Hebbian学习规则的PCA神经网络方法。
http://www.cad.zju.edu.cn/home/chenlu/pca.htm
http://blog.sciencenet.cn/home.php?mod=space&uid=67855&do=blog&id=302726
实验数据显示,互信息分类效果最差,其次是文档频率、CC 统计,CHI 统计分类效果最好 ;;cc指相关系数
效果排序
信息增益 < 交叉熵 < 互信息 < DF
重点
交叉熵
互信息
信息增益
叉方
主成分分析