Part I: 总结 10.2.3 及 之前的内容
0、特征选择的方法主要包含3大类:filter,wrapper,embedded;
1、特征选择主要包含2大步,第一步:生成 特征子集(a subset generation method);第二部:对 生成的 特征子集 评估其对数据的代表性(an evaluation method);
2、对特征子集 的 评估方法 分为两大类:1)根据数据本身特性 来评估 特征子集的优劣(这种类型的评估方法主要用于"filter 特征选择");2)将 特征选择 融入 “目标函数(损失函数)”中(这种类型的评估方法主要用于 wrapper,embedded 特征选择 );下面对这2种类型的特征评估方法分别予以介绍:
- 基于“数据属性”的特征评估方法
这种评估方法又可以分为4小类:
1)Feature Ranking
Way 1. 利用Pearson Correlation coefficience 来 计算 feature x 与 label y之间的相关程度,如果显著相关,则说明feature x 能够有效表达数据。note that:皮尔森系数 只能判定单个feature与label的线性关系,无法判断二者的"非线性关系",也无法判断 不同的 feature组合 是否 会与 label 产生相关,因此,这种feature evaluation方法 很片面,在实际中不适用。
以下为“皮尔森系数”计算公式:;
Way 2. 利用 mutual information 来判断 single feature 的优劣
首先,给出利用feature x分枝前 “熵”的公式:;
其次,利用feature x分枝后 “熵”的公式:
根据“分枝前后”的信息增益,我们即可判断feature x的优劣,信息增益的计算公式如下:。
对于两个feature x,z,如果 MI(X|Y) > MI(Z|Y),则说明 feature x较z 更优。
与“Pearson correlation coefficience”相比,“mutual information” 中,feature x 和 label y的关系 不在仅局限于 linear relationship。
“mutual information” 的缺陷在于,他需要知道变量的probability density function,对于“连续型”变量来说,这个有点儿难办,不太适用。如果非要对“连续型变量”适用mutual information的话,需先将其 离散化。
Way 3. 上边的两种方法仅能对single feature评估优劣,但是,在一些任务中,a single feature可能与其他feature(context)存在关联,为了评估在context情况下,feature的优劣,我们引入了Relief算法家族,以下为其中一个Relief算法,其核心公式如下:
其中,n为sample的个数,K为类别的个数,xi,j为sample_i的feature_j的值,Xmk(i),j为sample_i在同类样本中的最近邻 的 feature_j的值,Xhk(i),j 为sample_i在不同类样本中的最近邻 的 feature_j的值。
Relief的核心思想是:判断 类内近邻距离 和 类间近邻距离 的大小,如果前者 < 后者,说明feature_j 可以 表达数据,否则,不可以。
2) Interclass distance
(1) Binary variables
对于二进制数据x={x1,x2,…},y={y1,y2,…},有如下规律:
将上述规律表示为图表如下:
对于两个二进制变量x,y的相似性测量,我们可以用如下表格中的公式:
(2) Numeric variables
对于数值型的变量x,y,我们可以采用如下表格中的公式 度量 二者 之间的距离:
通过上述距离公式,我们可以求出feature_i中“同一类别” 以及 “不同类别” 变量的距离和 Sw,Sb,通过比较 Sw / Sb 与 1的大小即可获得feature_i的优劣度评价,如果Sw/Sb < 1,则说明 feature_i可以表达数据,反之,则不能。这个思想有点儿像“Fisher线性判别的思想”。
3) Probabilistic distance
利用KL距离来判定不同类别下feature_i中的变量分布是否相同,如果相同,则说明feature_i不能有效表达数据,如果不相同,则feature_i可以有效表达数据。
首先,给出KL距离公式定义,对于两个distribution,其KL距离如下:
在了解了KL距离公式后,我们即可用KL距离来表示P(x|w1)与P(x|w2)的差别,其中P(x|w1),P(x|w2)分别为类别w1,w2中 变量x的分布函数,表达公式如下:
P(x|w1)与P(x|w2)的分布函数越接近,则JD越接近0,此时feature_i无法有效表达数据,反之,则可以。
下面给出其它的probabilistic distance measures:
4) Probabilistic dependence
probabilistic dependence 主要考察的是P(x|w)和P(x) 概率分布是否一致,如果一致,则说明feature_i无法有效表达数据,下面给出一些probabilistic dependence measures的公式:
- 基于“目标函数”的特征评估方法
在该方法中,将“特征评估”融入到了 model 损失函数 优化中,wrapper,embedded,均属于这种方法。
wrapper中,是通过 model损失函数值 来 判断 特征子集的优劣,因此,利用该方法选择的特征,更能很好的与model结合。
embedded中,是将特征选择 嵌入到了 损失函数(目标函数)中,具体做法是,在原损失函数的基础上,加入L1正则项,用于生成稀疏特征。
----------------------------------以上为10.2.3 及 以前内容总结----------------------------------