2013-11-26 33 views
1

我想使用帶有Backprogation算法的MultiLayer Perceptron進行分類。使用多層感知器進行分類

我有5類和任何輸入數據屬於單個類(沒有多類)

例:C1 C2 C3 C4 C5

輸入1只屬於C2 輸入2僅屬於C5

我應該如何表示每個輸入的輸出層?

input layer     Output Layer 
input1    :   0 1 0 0 0 
input1    :   0 0 0 0 1 

or 
take only single neuron in output layer. 
input layer     Output Layer 
input1    :   0.4 
input1    :   1.0 

if <=0.2 C1 
if <=0.4 C2 
if <=0.6 C3 
if <=0.8 C4 
if <=1.0 C5 

還有沒有其他更好的方法?

感謝, Atish

回答

0

在NN的很多情況下,你最好配置一個輸出節點代表一類。 :)

2

你應該用5個二進制輸出來表示你的5個類。這就是所謂的1-C編碼,單熱編碼,虛擬變量,指標,...

然後你需要在輸出層softmax activation function這將給你類概率作爲輸出。另外,您應該使用交叉熵(CE)錯誤函數。 Softmax + CE將爲您提供與輸出層中的身份+ SSE相同的梯度:dE/da_i = y_i - t_i。 Softmax + CE已被用於ImageNet數據集中多達20000個類。

+0

非常感謝阿法 – alex