题目:
STWD-SFNN: Sequential three-way decisions with a single hidden layer feedforward neural network
摘要:
采用三支决策策略构建了单隐层前馈神经网络的网络拓扑结构。但是,该模型具有一般的性能,并且不考虑过程成本,因为它有固定的阈值参数。受序贯三支决策(STWD)的启发,本文提出了STWD+SFNN (STWD-SFNN)来提高网络在结构化数据集上的性能。STWD-SFNN采用多粒度级别,由粗到细动态学习隐层节点数,并设置顺序阈值参数。具体而言,在粗颗粒级,STWD-SFNN通过应用严格的阈值条件来处理易于分类的实例,而在细颗粒级,随着隐层节点数量的增加,STWD-SFNN更加注重通过应用宽松的阈值条件来处理难以分类的实例,从而实现实例的分类。此外,STWD-SFNN考虑并报告从每个颗粒级别产生的过程成本。实验结果表明,STWDSFNN在结构化数据集上具有比其他SFNN模型更紧凑的网络结构,并且具有更好的泛化性能。
总结:
1. 研究问题:分类
2. TWD-SFNN性能一般,具有固定的阈值参数,未考虑过程成本;
3. STWD-SFNN采用多粒度级别,顺序设置阈值参数。在粗粒度级,应用严格的阈值条件处理易于分类的实例,在细粒度级,应用宽松的阈值条件处理难以分类的实例,并报告每个粒度级的过程成本;
TWD与STWD: TWD在某一决策点有3种选择,相互独立,只需选择一项。STWD具有先后顺序关系,每个决策都会影响下一个决策的选择,即每一步都需要在前一步的基础上进行决策。
TWD-SFNN:
数据集:
{
x
i
,
y
i
}
i
=
1
d
\{\mathbf{x}_i, \mathbf{y}_i\}_{i=1}^d
{xi,yi}i=1d,
x
i
=
(
x
i
1
,
x
i
2
,
⋯
,
x
i
m
)
T
∈
R
m
\mathbf{x}_i = (\mathbf{x}_{i1}, \mathbf{x}_{i2}, \cdots, \mathbf{x}_{im})^\mathbf{T} \in \mathbf{R}^m
xi=(xi1,xi2,⋯,xim)T∈Rm,
y
i
∈
{
+
1
,
−
1
}
\mathbf{y}_i \in \{+1, -1\}
yi∈{+1,−1}。数据集共
d
d
d个实例,
u
(
1
≤
u
≤
d
)
u (1 \leq u \leq d)
u(1≤u≤d)个未分类的实例,即边界域(BND)中的实例,
u
=
d
−
n
(
P
O
S
)
−
n
(
N
E
G
)
u = d-n(POS)-n(NEG)
u=d−n(POS)−n(NEG)。TWD-SFNN分类这
u
u
u个实例的预期风险:
p
e
=
[
Y
∩
[
x
e
]
∣
∣
[
x
e
]
∣
p_e=\frac{[Y\cap[x_e]|}{|[x_e]|}
pe=∣[xe]∣[Y∩[xe]∣为第
e
e
e个实例属于正标签的条件概率,其中
Y
Y
Y为正标签集,
[
x
e
]
[x_e]
[xe]为第
e
e
e个实例的等价类;
ε
\varepsilon
ε为惩罚因子,避免模型过拟合;
u
p
,
u
b
,
u
n
u_p, u_b, u_n
up,ub,un分别为划分至POS域,BND域,NEG域的实例数;
λ
∗
P
,
λ
∗
N
\lambda_{*P}, \lambda_{*N}
λ∗P,λ∗N为分别为做出实例属于POS域,NEG域时的决策成本。TWD-SFNN的阈值参数计算如下:
TWD-SFNN具有两种分类标准:
1. 当错误分类实例数较多时,采用三支决策策略:
若
p
e
≥
α
p_e \geq \alpha
pe≥α,则
[
x
e
]
∈
P
O
S
(
Y
)
[x_e] \in POS(Y)
[xe]∈POS(Y);若
β
<
p
e
<
α
\beta < p_e < \alpha
β<pe<α,则
[
x
e
]
∈
B
N
D
(
Y
)
[x_e] \in BND(Y)
[xe]∈BND(Y);若
p
e
≤
β
p_e \leq \beta
pe≤β,则
[
x
e
]
∈
N
E
G
(
Y
)
[x_e] \in NEG(Y)
[xe]∈NEG(Y);
2. 当错误分类实例数较少时,采用两支决策策略:
若
p
e
≥
γ
p_e \geq \gamma
pe≥γ,则
[
x
e
]
∈
P
O
S
(
Y
)
[x_e] \in POS(Y)
[xe]∈POS(Y);若
p
e
<
γ
p_e < \gamma
pe<γ,则
[
x
e
]
∈
N
E
G
(
Y
)
[x_e] \in NEG(Y)
[xe]∈NEG(Y)。
如果BND域中仍有实例,需增加网络隐层节点数,直到BND域为空。TWD-SFNN的阈值固定,每次分类用到的阈值都是相同的。
STWD-SFNN:
总体上,STWD-SFNN分为两大模块,其一是离散模块,其二是训练模块。离散模块旨在将数值特征数据通过
k
k
k-means++算法转化为离散数据。转换后的数据达到训练模块,由于STWD-SFNN采用多粒度级别,具有
t
t
t个级别,该模块的每个级别具体又分为两部分,一部分是SFNN,另一部分是STWD。
STWD-SFNN从粗到细进行造粒,在粗粒度层面应用较严格的条件对BND域进行分类,在细粒度层面应用较宽松的条件进行分类,直到BND域为空。
SFNN旨在得到正确分类的实例
P
N
(
i
)
P_N^{(i)}
PN(i),
N
N
(
i
)
N_N^{(i)}
NN(i),以及错误分类的实例
M
N
(
i
)
M_N^{(i)}
MN(i)。
STWD的大致流程可描述为:
1. 计算每个实例属于正标签的条件概率
p
e
(
i
)
=
[
Y
∩
[
x
e
]
(
i
)
∣
∣
[
x
e
]
(
i
)
∣
p_e^{(i)}=\frac{[Y\cap[x_e]^{(i)}|}{|[x_e]^{(i)}|}
pe(i)=∣[xe](i)∣[Y∩[xe](i)∣;
2. 根据结果代价矩阵
Λ
(
i
)
\Lambda^{(i)}
Λ(i)计算阈值
α
i
,
β
i
,
γ
\alpha_i, \beta_i, \gamma
αi,βi,γ;
值得注意的是,STWD共
t
t
t个粒度级别,当级别处于
1
≤
i
≤
t
−
1
1 \leq i \leq t-1
1≤i≤t−1时,每轮使用
α
i
,
β
i
\alpha_i, \beta_i
αi,βi阈值对
M
N
(
i
)
M_N^{(i)}
MN(i)进行分类,当级别为
t
t
t时,仅使用
γ
\gamma
γ阈值进行分类,目的是使
B
L
(
t
)
B_L^{(t)}
BL(t)为空,完成对整个未分类实例的分类。
3. STWD-SFNN两种分类标准;
当粒度级别处于
1
≤
i
≤
t
−
1
1 \leq i \leq t-1
1≤i≤t−1时,采用三支决策策略:
若
p
e
(
i
)
≥
α
i
p_e^{(i)} \geq \alpha_i
pe(i)≥αi,则
[
x
e
]
e
(
i
)
∈
P
L
(
i
)
[x_e]_e^{(i)} \in P_L^{(i)}
[xe]e(i)∈PL(i);若
β
i
<
p
e
(
i
)
<
α
i
\beta_i < p_e^{(i)} < \alpha_i
βi<pe(i)<αi,则
[
x
e
]
e
(
i
)
∈
B
L
(
i
)
[x_e]_e^{(i)} \in B_L^{(i)}
[xe]e(i)∈BL(i);若
p
e
(
i
)
≤
β
i
p_e^{(i)} \leq \beta_i
pe(i)≤βi,则
[
x
e
]
e
(
i
)
∈
N
L
(
i
)
[x_e]_e^{(i)} \in N_L^{(i)}
[xe]e(i)∈NL(i);
当粒度级别处于
t
t
t时,采用两支决策策略:
若
p
e
(
t
)
≥
γ
p_e^{(t)} \geq \gamma
pe(t)≥γ,则
[
x
e
]
e
(
t
)
∈
P
L
(
t
)
[x_e]_e^{(t)} \in P_L^{(t)}
[xe]e(t)∈PL(t);若
p
e
(
t
)
<
γ
p_e^{(t)} < \gamma
pe(t)<γ,则
[
x
e
]
e
(
t
)
∈
N
L
(
t
)
[x_e]_e^{(t)} \in N_L^{(t)}
[xe]e(t)∈NL(t)。
如果BND域中仍有实例,需增加网络隐层节点数,在粒度级别为
t
t
t时,完成所有实例的分类。STWD-SFNN顺序设置阈值参数,每次分类所用到的阈值都是不同的。
STWD-SFNN在每个粒度报告分类风险与成本代价,过程不再赘述,可阅读论文详细了解。
结论:
实验结果表明,STWD-SFNN比使用经验公式的网络具有更高的运行效率和更紧凑的网络结构,并且在结构化数据集上具有更好的泛化能力。