如何训练神经网络给我一个基于男性或女性的分类输出?

时间:2014-04-22 17:39:56

标签: matlab neural-network classification

在我的项目中,我有两个[200x1]的向量,应该在神经网络中使用,并以一种方式训练它,它给我主题的指纹性别。

我认为我应该根据地面实况数据提供基于主题性别的目标向量(例如女性为1,男性为0)但我不确定这种考虑是否正确。

对此有何想法?

1 个答案:

答案 0 :(得分:0)

听起来不错。实际上,你正在训练一个分类,以分类两组男性和女性。

您的输入是两个向量,每个向量的大小 200x1 ,输出应该有 2 个节点。 y = 1 [男], y = 0 [女]。

因此,只需将两个向量合并为一个向量并将其作为输入。您只需要知道输入向量中的每个元素的相应输出值(即 1 0 )。因此,使用索引可以将两个向量混合到一个向量中,并将其作为输入向量提供给NN(例如输入大小= 400x1 ),并获得两个向量作为输出。

因此,您也可以使用相同的输入输出集来尝试使用SVM算法来测试结果。它在MATLAB中提供,使用非常简单。

示例:

v1 = rand(1,200);   % I am setting these values as random, but you should use the values you know
v2 = rand(1,200);
input = [v1 v2]';
y = randi(2,400,1)-1; % make a random vector including 0 and 1 for female and male (you should use your data)

net = newff(...)    % or whatever NN you are using
net = train(net,input,y) % train the NN using the data