赞
踩
所谓的特征选择实际是属性选择,在进行机器学习任务时,往往给定的属性中有个别属性是十分重要的,这些属性被称为“相关特征”,而另外一些属性对当前学习任务的最后结果没什么影响,这些属性被称为“无关特征”,特征选择就是从给定的所有特征(属性)中选择出“相关特征”子集。
特征选择的目的一方面是在遇到维数灾难问题时,通过选择“相关特征”,在选择后的特征上进行建模分析,从而减弱维数灾难问题。另一方面在进行特征选择后,特征数量的减少也会降低机器学习任务的难度,使问题简单化。
1.相同点:都是为了达到减少数据维度的目的,减轻可能出现的维数灾难问题。
2.不同点:两者的本质不同。
(1)特征选择在本质上就是从给定的所有特征中选择部分特征(相关特征)作为训练集特征,特征在选择前和选择后不改变值,由于我们只选择了其中的一部分特征,因此选择后的特征维数肯定比选择前小。
(2)降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式。 y是数据点映射后的低维向量表达,通常y的维度小于x的维度。
(3)举个例子,现在的特征是200维,我们想要把它降到100维。利用特征选择的方法,则可以从这200个特征中选择100个,这100个被选择的相关特征的值和没进行选择前的原始特征中那100个特征的值是相等的,而另外100个没有被选择到的特征就不存在了。若利用降维的方法,目的要找个一个从200维映射到100维的映射关系 f : x->y,降维前的200个特征的值通过映射关系和降维后的100维空间的值相对应,特征的值可能会发生改变。
大致分为三类:过滤式、包裹式和嵌入式
1.过滤式特征选择过程与学习器无关,相当于先对初始特征进行过滤,再用过滤后的特征训练学习器。过滤式特征选择法简单、易于运行、易于理解,通常对于理解数据有较好的效果。
2.包裹式特征选择法的特征选择过程与学习器相关,使用学习器的性能作为特征选择的评价准则,选择最有利于学习器性能的特征子集。从最终学习器性能来看,包裹式特征选择比过滤式特征选择要好,但通常情况下包裹式特征选择的计算开销要远大于过滤式特征选择。
3.嵌入式特征选择法使用机器学习模型进行特征选择。特征选择过程与学习器相关,特征选择过程与学习器训练过程融合,在学习器训练过程中自动进行特征选择。
Relief设计了一个“相关统计量”来度量特性的重要性,该统计量为一个向量,其每个分量对应于一个初始向量,特征子集中每个特征对应的统计量分量的和决定了特征子集的重要性,然后可以设立一个相关统计量的阈值来进行过滤,或者也可以指定要选取的特征个数k,选择相关统计量的分量最大的k个特征。
因此,这里的重点就在于如何确定相关统计量,Relief定义猜中近邻为某个样本的同类样本中最近邻
x
i
,
n
h
x_{i,nh}
xi,nh,而猜错近邻为异类样本中的最近邻
x
i
,
n
m
x_{i,nm}
xi,nm,那么定义相关统计量对应于属性j的分量为:
δ
j
=
∑
i
d
i
f
f
(
x
i
j
,
x
i
,
n
h
j
)
2
+
d
i
f
f
(
x
i
j
,
x
i
,
n
m
j
)
2
\delta ^{j}=\sum_{i}^{ }diff\left ( x_{i}^{j},x_{i,nh}^{j} \right )^{2}+diff\left ( x_{i}^{j},x_{i,nm}^{j} \right )^{2}
δj=i∑diff(xij,xi,nhj)2+diff(xij,xi,nmj)2其中
x
a
j
x_{a}^{j}
xaj表示样本
x
a
x_{a}
xa在属性j上的取值,
d
i
f
f
(
x
a
j
,
x
b
j
)
diff\left ( x_{a}^{j},x_{b}^{j} \right )
diff(xaj,xbj)取决于属性j的类型。
若
x
i
x_{i}
xi与猜中近邻
x
i
,
n
h
x_{i,nh}
xi,nh在属性j上的距离小于
x
i
x_{i}
xi与猜错近邻
x
i
,
n
m
x_{i,nm}
xi,nm的距离,则说明j对分区同类和异类样本是有益的,于是要增大属性j对应的统计量分量,反之减少属性j对应的统计量分量。
上面的公式是针对二分类问题的,Relief也可以很容易地拓展到多类上去:
δ
j
=
∑
i
d
i
f
f
(
x
i
j
,
x
i
,
n
h
j
)
2
+
∑
l
≠
k
(
p
l
×
d
i
f
f
(
x
i
j
,
x
i
,
l
,
n
m
j
)
2
)
\delta ^{j}=\sum_{i}^{ }diff\left ( x_{i}^{j},x_{i,nh}^{j} \right )^{2}+\sum_{l\neq k}^{ }\left (p_{l}\times diff\left ( x_{i}^{j},x_{i,l,nm}^{j} \right )^{2} \right )
δj=i∑diff(xij,xi,nhj)2+l̸=k∑(pl×diff(xij,xi,l,nmj)2)
1.过滤式选择是先设计一个过滤方法进行特征选择,再去训练学习器。而这个过滤方式是设计一个“相关统计量”,去对特征进行计算,最后设定一个阈值去进行选择。相关统计量计算:对于每个样本xi,他都会做以下事情:
找出同类中,最邻近的样本
x
1
x_{1}
x1;在异类中,找出最邻近的
x
2
x_{2}
x2。如果
x
i
x_{i}
xi与
x
1
x_{1}
x1更近,说明特征是对同类异类有益的,会增大相对应的统计量;反之,如果
x
i
x_{i}
xi与
x
2
x_{2}
x2更近,说明特征起到副作用,会减少相对应的统计量。
2.包裹式选择法的特征选择过程与学习器相关,它直接使用学习器的性能作为特征选择的评价准则,选择最有利于学习器性能的特征子集。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。