文章目录
Improved Multilabel Classification with Neural Networks
2008 International Conference on Parallel Problem Solving from Nature
Rafał Grodzicki, Jacek Mańdziuk, and Lipo Wang,南洋理工
摘要
这里提出了对现有神经网络多标记分类算法BP-MLL的一些改进。这些修改涉及BP-MLL中使用的全局误差函数的形式。
改进BP-MLL
简要介绍
BP-MLL具有一个隐藏层以及来自输入和隐藏层的额外偏差。输入图层的大小等于实例域维度(加上偏置神经元)。输出层的大小等于标签的数量(即Q)。训练基于经典的BP算法,但为了解决标签之间的依赖关系,提出了以下形式的新的全局误差函数和阈值训练方法:
E
=
∑
p
=
1
m
E
p
=
∑
i
=
1
m
1
∣
Y
p
∣
∣
Y
‾
p
∣
∑
(
r
,
s
)
∈
Y
p
×
Y
‾
p
exp
(
−
(
c
r
p
−
c
s
p
)
)
E = \sum _ { p = 1 } ^ { m } E _ { p } = \sum _ { i = 1 } ^ { m } \frac { 1 } { \left| Y _ { p } \right| \left| \overline { Y } _ { p } \right| } \sum _ { ( r , s ) \in Y _ { p } \times \overline { Y } _ { p} } \exp \left( - \left( c _ { r } ^ { p } - c _ { s } ^ { p } \right) \right)
E=p=1∑mEp=i=1∑m∣Yp∣∣∣Yp∣∣1(r,s)∈Yp×Yp∑exp(−(crp−csp))
h
(
x
p
)
=
{
q
∈
Y
:
c
q
(
x
p
)
>
t
(
x
p
)
}
,
c
q
(
x
p
)
=
c
q
p
h \left( x _ { p } \right) = \left\{ q \in Y : c _ { q } \left( x _ { p } \right) > t \left( x _ { p } \right) \right\} , c _ { q } \left( x _ { p } \right) = c _ { q } ^ { p }
h(xp)={q∈Y:cq(xp)>t(xp)},cq(xp)=cqp
这里把
t
(
x
)
t(x)
t(x)看成是
c
(
x
)
c(x)
c(x)的线性函数,
t
(
x
)
=
w
T
⋅
c
(
x
)
+
b
t ( \mathbf { x } ) = \mathbf { w } ^ { \mathrm { T } } \cdot c ( \mathbf { x } ) + b
t(x)=wT⋅c(x)+b,其中
c
(
x
)
=
(
c
1
(
x
)
,
c
2
(
x
)
,
…
,
c
Q
(
x
)
)
c ( \mathbf { x } ) = \left( c _ { 1 } ( \mathbf { x } ) , c _ { 2 } ( \mathbf { x } ) , \ldots , c _ { Q } ( \mathbf { x } ) \right)
c(x)=(c1(x),c2(x),…,cQ(x))。
误差函数修改
- 在本文中,我们提出了[1]中使用的误差函数的一些改进。第一个引入的修改是将阈值整合到BP-MLL中使用的误差函数中。它导致以下形式的错误函数:
这种方法是多增加一个神经元,最后输出神经元的值( C Q p C _ { Q } ^ { p } CQp)被解释为阈值。剩余输出神经元的含义与使用BP-MLL方法的情况相同。建议的解决方案允许通过神经网络学习期间的适应来确定阈值。
- 通过为不同标签引入独立阈值,可以进一步推广上述误差函数:
这种方法增加一倍的神经元,考虑每个类别q的两个输出神经元(由2q和2q + 1索引)。它们中的第一个(数字2q)表示相应类别(标签)的输出,而另一个(数字2q + 1)定义第q类别的相应阈值。
-
考虑相关标签(不相关标签)集合中所有标签和标签阈值两两相比较
-
基于上式,考虑增加相关标签的阈值和不相关标签的阈值两两相比较