2024年KBS SCI1区TOP:信息增益比子特征分组赋能粒子群算法ISPSO,深度解析+性能实测
目录
- 1.摘要
- 2.信息度量
- 3.改进策略
- 4.结果展示
- 5.参考文献
- 6.代码获取
1.摘要
特征选择是机器学习中的关键预处理步骤,广泛应用于实际问题。尽管粒子群算法(PSO)因其强大的全局搜索能力被广泛用于特征选择,但要开发一种高效的PSO方法仍然面临不小的挑战。本文提出了信息增益比子特征分组赋能粒子群算法ISPSO,该方法通过引入信息增益比来评估特征的重要性,从而提升特征选择的效果。在ISPSO的特征选择过程中,首先将特征划分为不同的组,以构建初始种群。鉴于特征选择任务本质上是二元问题,ISPSO采用了基于概率的方法代替传统的PSO速度概念。
2.信息度量
信息熵
信息熵是信息论中的一个概念,用来度量信息的不确定性或无序性。信息熵的基本思想是不确定信息越多,熵就越高,确定信息越多,熵就越低。
H
(
D
)
=
−
∑
p
i
⋅
l
o
g
(
p
i
)
H(D)=-\sum p_i\cdot log(p_i)
H(D)=−∑pi⋅log(pi)
信息增益
信息增益是一种广泛使用的特征选择标准,它衡量当使用特定特征进行数据分区时数据集总体信息熵的减少。一个特征的高信息增益意味着在数据分割过程中不确定性的显著减少,突出了它的重要性。
G
I
(
D
,
X
)
=
H
(
D
)
−
H
(
D
∣
X
)
G_{I}(D,X)=H(D)-H(D|X)
GI(D,X)=H(D)−H(D∣X)
H
(
D
∣
X
)
=
∑
p
(
X
=
x
i
)
⋅
H
(
D
∣
X
=
x
i
)
H(D|X)=\sum p(X=x_i)\cdot H(D|X=x_i)
H(D∣X)=∑p(X=xi)⋅H(D∣X=xi)
信息增益比
信息增益比作为信息增益的扩展,考虑了信息增益与内在信息之间的关系。
R
(
D
,
X
)
=
G
I
(
D
,
X
)
I
(
X
)
R(D,X)=\frac{G_I(D,X)}{I(X)}
R(D,X)=I(X)GI(D,X)
I
(
X
)
=
−
∑
p
(
x
i
)
⋅
l
o
g
(
p
(
x
i
)
)
I(X)=-\sum p(x_i)\cdot log(p(x_i))
I(X)=−∑p(xi)⋅log(p(xi))
3.改进策略
通过将信息增益比与粒子群算法(PSO)相结合,本文提出了ISPSO算法。在ISPSO的初始阶段,特征根据信息增益比值被分为三组。在初始化过程中,每个种群成员会随机选择一个子特征组,并对该组中的特征进行个性化初始化。在ISPSO中,“速度”被“概率”所替代,从而重新定义了更新公式。此外,每个特征都被引入了一个惩罚项,以影响特征的选择或取消选择。
子特性分组和初始化
在ISPSO中,特征评估采用信息增益比作为衡量特征重要性的指标,较高的值表示特征的重要性更大。该过程首先计算每个特征的信息增益比,并根据这些值对特征进行排序,从而生成特征列表。根据信息增益比值的排序,排名前30%的特征被分配到一个子特征组,排名后30%的特征分配到另一个子特征组,剩余的特征则被分入第三个子特征组。
对于每个个体,初始化方程表示为:
S
i
,
j
=
{
rand
<
R
(
D
,
j
)
,
j
∈
F
k
rand
<
0.5
,
otherwise
S_{i,j} = \begin{cases} \text{rand} < R(D,j), & j \in F_k \\ \text{rand} < 0.5, & \text{otherwise} \end{cases}
Si,j={rand<R(D,j),rand<0.5,j∈Fkotherwise
搜索算子
在二元任务中,传统PSO通过速度更新位置的方法不再适用。因此,ISPSO 与 BPSO 区别开来,通过用概率替代速度,同时保留了
P
b
e
s
t
P_{best}
Pbest和
G
b
e
s
t
G_{best}
Gbest的概念:
p
i
,
j
t
+
1
=
w
⋅
i
,
j
t
+
r
1
⋅
(
1
−
R
j
)
⋅
(
P
b
e
s
t
−
s
i
,
j
t
)
+
r
2
⋅
R
j
⋅
(
G
b
e
s
t
−
s
i
,
j
t
)
−
r
3
⋅
(
D
r
−
s
i
,
j
t
)
p_{i,j}^{t+1}=w\cdotp_{i,j}^t+r_1\cdot(1-R_j)\cdot(P_{best}-s_{i,j}^t)+r_2\cdot R_j\cdot(G_{best}-s_{i,j}^t)-r_3\cdot(D_r-s_{i,j}^t)
pi,jt+1=w⋅i,jt+r1⋅(1−Rj)⋅(Pbest−si,jt)+r2⋅Rj⋅(Gbest−si,jt)−r3⋅(Dr−si,jt)
s
i
,
j
t
+
1
=
{
1
−
s
i
,
j
t
p
i
,
j
t
+
1
≥
r
a
n
d
s
i
,
j
t
o
t
h
e
r
w
i
s
e
s_{i,j}^{t+1}= \begin{cases} 1-s_{i,j}^t & p_{i,j}^{t+1}\geq rand \\ s_{i,j}^t & \mathrm{otherwise} & \end{cases}
si,jt+1={1−si,jtsi,jtpi,jt+1≥randotherwise
惩罚项
为了增强算法的搜索能力,ISPSO 为每个特征引入了惩罚项。在每次迭代开始时,每个特征的惩罚项值被初始化为 10。随着迭代的进行,如果新个体的适应度超过了相应原始个体的适应度,惩罚项会根据特定的公式进行更新,从而进一步优化搜索过程。
P
T
j
=
P
T
j
−
5
⋅
R
j
⋅
(
s
j
−
N
j
)
PT_j=PT_j-5\cdot R_j\cdot(s_j-N_j)
PTj=PTj−5⋅Rj⋅(sj−Nj)
伪代码
流程图
4.结果展示
5.参考文献
[1] Gao J, Wang Z, Jin T, et al. Information gain ratio-based subfeature grouping empowers particle swarm optimization for feature selection[J]. Knowledge-Based Systems, 2024, 286: 111380.