Machine learning 多输出神经网络

Machine learning 多输出神经网络,machine-learning,neural-network,deep-learning,Machine Learning,Neural Network,Deep Learning,我正在尝试创建一个神经网络,它输出的不仅仅是一个二进制值。 问题如下: 我最近在kaggle上偶然发现了这个问题 基本上,问题是让程序预测测试集必须从0-9分类的手。我已经使用RandomForest库解决了这个问题。 我的问题是如何使用神经网络解决这个问题? 我已经尝试过学习一些教程,其中有2个二进制输入和1个二进制输出。 数据集如下所示: 如果我理解正确,您是在问如何构造用于二元分类的神经网络输出神经元。您可以将输出设计为生成二进制向量,而不是使用一个输出非二进制0-9的值(由于许多原因,该

我正在尝试创建一个神经网络,它输出的不仅仅是一个二进制值。 问题如下: 我最近在kaggle上偶然发现了这个问题 基本上,问题是让程序预测测试集必须从0-9分类的手。我已经使用RandomForest库解决了这个问题。 我的问题是如何使用神经网络解决这个问题? 我已经尝试过学习一些教程,其中有2个二进制输入和1个二进制输出。 数据集如下所示:

如果我理解正确,您是在问如何构造用于二元分类的神经网络输出神经元。您可以将输出设计为生成二进制向量,而不是使用一个输出非二进制0-9的值(由于许多原因,该值实际上不起作用)

在哪里

1=[0,1,0,0,0,0,0,0,0,0]

2=[0,0,1,0,0,0,0,0,0,0]

3=[0,0,0,1,0,0,0,0,0,0]

…等等

因此,向量中的每个项目可以是10个输出神经元中的一个,如果该项目是1,则其位置指其分类组。最好的例子是MNIST数字神经网络,通常也有10个神经元二进制输出

请记住,实际输出将是表示概率/猜测的小数,接近0或1


这也意味着您的目标值必须是一个向量,它反向传播对应于每个神经元的每个项

您是否因为存在多个输出而对如何构建输出感到困惑?是的,这证明是一个问题。我是神经网络的新手,我尝试了一些例子,但对于二进制值1或0,我没有找到与我的问题类似的东西。数据并不适合神经网络。它太小了。一般来说,要产生N个输出,你只需要在最后一层有N个神经元,并应用所需的激活函数。对于这个特定的例子,我会使用SOFTMAX激活,因为它会给你每只手的概率,最后一层中所有N个神经元的概率之和为1.0。