机器学习之 特征选择

机器学习过程中,特征选择是避免维数灾难和减低学习难度的有效途径。特征选择的过程,即为选择对当前学习任务有用的属性(相关特征)和去除无用属性(冗余特征)的过程。那么,如何选择有用的特征子集以及如何评价相对好的特征子集是特征选择的关键步骤。

1、子集搜索

如果训练样本有 n 个特征,那么特征子集将有2n种可能性。子集搜索常用的方法有前向搜索方法和后向搜索方法。以下是前向搜索方法的算法:

Forward Search
Input:training set D ,features set;
Output:features subset F
start with F= ;
Repeat{
(1)for i=1,2,,n .Try adding feature i to F.
evaluate F { i };
(2)Set F=F {best feature found in (1) }
Output features subset.

以上搜索方式称为前向搜索,在(1)中evaluate的过程我们可以通过交叉验证的方式进行,也可以使用后面提到的子集评价方法直接选择。后向搜索指从完整的特征集开始,每次尝试去掉一个无关特征,以逐渐减少特征的策略进行特征搜索。

2、子集评价

我们通常通过信息增益,信息增益比和基尼指数等指标衡量特征对训练集分类的好坏程度。这里先介绍熵的概念。熵在信息论和统计学中度量随机变量的不确定性。设 X 是一个取有限个值的离散随机变量,其概率分布为

P(X=xi)=pi

其中 i=1,2,,n .则随机变量 X 的熵定义为:
H(X)=i=1npilogpi

条件熵:设有随机变量 (X,Y) ,其联合概率分布为

P(X=xi,Y=yi)=pij

其中 i=1,2,,n;j=1,2,,m .条件熵 H(Y|X) 表示已知随机变量 X 的条件下随机变量Y的不确定性。随机变量 X 给定条件下随机变量Y的条件熵定义为 X 给定条件下Y的条件概率分布的熵对 X 的数学期望:
H(Y|X)=i=1npiH(Y|X=xi)

其中, pi=P(X=xi),i=1,2,,n .

信息增益:表示得知特征 X 的信息而使得Y的信息的不确定性减少的程度。特征 A 对训练数据集D的信息增益 g(D,A) 定义为集合 D 的经验熵H(D)与特征 A 给定条件下D的条件熵 H(D|A) 之差,即:

g(D,A)=H(D)H(D|A)

一般地,熵 H(Y) 与条件熵 H(Y|X) 之差称为互信息。

以信息增益作为划分训练数据集的特征,存在偏向于选择取值较多的特征的问题,为避免这种情况,信息论中引入信息增益比对这一问题进行校正。

信息增益比:特征 A 对训练数据集D的信息增益比 gR(D,A) 定义为其信息增益 g(D,A) 与训练数据集 D 关于特征A的值的熵 HA(D) 之比,即:

gR(D,A)=g(D,A)HA(D)

其中 HA(D)=ni=1|Di|Dlog2|Di|D , n 是特征A取值的个数。

基尼指数:分类问题中,假设有 K 个类,样本点属于第k类的概率为 pk ,则概率分布的基尼指数定义为

Gini(p)=k=1Kpk1pk=1k=1Kp2k

3、特征选择方法

常用的特征选择方法有过滤式选择(filter)、包裹式选择(wrapper)以及嵌入式选择(embedding),可参见周志华老师的《机器学习》,以上内容我只是为了coding决策树所总结。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值