1. 程式人生 > >多標籤分類之改進的神經網路方法

多標籤分類之改進的神經網路方法

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=1mEp=i=1m1YpYp(r,s)Yp×Ypexp((crpcsp))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)

h(xp)={qY:cq(xp)>t(xp)},cq(xp)=cqph \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 }
這裡把 t(x)t(x)看成是 c(x)c(x)的線性函式,t(x)=wTc(x)+bt ( \mathbf { x } ) = \mathbf { w } ^ { \mathrm { T } } \cdot c ( \mathbf { x } ) + b,其中 c(x)=(c1(x),c2(x),,cQ(x))c ( \mathbf { x } ) = \left( c _ { 1 } ( \mathbf { x } ) , c _ { 2 } ( \mathbf { x } ) , \ldots , c _ { Q } ( \mathbf { x } ) \right)

誤差函式修改

  1. 在本文中,我們提出了[1]中使用的誤差函式的一些改進。第一個引入的修改是將閾值整合到BP-MLL中使用的誤差函式中。它導致以下形式的錯誤函式:
    在這裡插入圖片描述

這種方法是多增加一個神經元,最後輸出神經元的值(CQpC _ { Q } ^ { p })被解釋為閾值。剩餘輸出神​​經元的含義與使用BP-MLL方法的情況相同。建議的解決方案允許通過神經網路學習期間的適應來確定閾值。

  1. 通過為不同標籤引入獨立閾值,可以進一步推廣上述誤差函式:
    在這裡插入圖片描述

這種方法增加一倍的神經元,考慮每個類別q的兩個輸出神經元(由2q和2q + 1索引)。它們中的第一個(數字2q)表示相應類別(標籤)的輸出,而另一個(數字2q + 1)定義第q類別的相應閾值。

  1. 考慮相關標籤(不相關標籤)集合中所有標籤和標籤閾值兩兩相比較
    在這裡插入圖片描述

  2. 基於上式,考慮增加相關標籤的閾值和不相關標籤的閾值兩兩相比較
    在這裡插入圖片描述