我想使用MLP从著名的鸢尾花数据集中对鸢尾花进行分类。我知道我在输出层中的神经元数量应该是相同的类数,但是我可以在输出层中使用一个神经元来输出这三个值(0或1或-1)吗?
trin= [4.7 3.2 1.6 0.2;
4.8 3.1 1.6 0.2;
5.4 3.4 1.5 0.4;
5.2 4.1 1.5 0.1;
5.5 4.2 1.4 0.2;
5.7 2.6 3.5 1;
5.5 2.4 3.8 1.1;
5.5 2.4 3.7 1;
5.8 2.7 3.9 1.2;
6 2.7 5.1 1.6;
6.7 3.3 5.7 2.1;
7.2 3.2 6 1.8;
6.2 2.8 4.8 1.8;
6.1 3 4.9 1.8;
6.4 2.8 5.6 2.1
];
trout=[-1;-1;-1;-1;-1;
0;0;0;0;0;
1;1;1;1;1];
inp=size(trin,2);
out=size(trout,2);
hidden=2;
x=[-0.8000,-1.520,-0.9400,-3.040,3.800,2,-2,3.790,-1,0,4.600,4.400,0];
iw = reshape(x(1:hidden*inp),hidden,inp);
b1 = reshape(x(hidden*inp+1:hidden*inp+hidden),hidden,1);
lw = reshape(x(hidden*inp+hidden+1:hidden*inp+hidden+hidden*out),out,hidden);
b2 = reshape(x(hidden*inp+hidden+hidden*out+1:hidden*inp+hidden+hidden*out+out),out,1);
y = tanh(tanh(trin*iw'+repmat(b1',size(trin,1),1))*lw'+repmat(b2',size(trin,1),1));
e = gsubtract(trout,y);
is this classification or it is considered as regression