Machine learning 人工神经网络训练与测试

Machine learning 人工神经网络训练与测试,machine-learning,artificial-intelligence,neural-network,Machine Learning,Artificial Intelligence,Neural Network,我正在尝试创建一个ANN,它将解决一个简单的分类问题。我使用的示例是一个学位分类,因此输入将是0-100之间的百分比,输出将是五个百分比中的一个(1,2:1,2:2…) 目前我已经建立了一个三层的神经网络,1个输入神经元,3个隐藏神经元和5个输出神经元,我已经设法用一个输入(例如60)和输出(1,0,0,0)来训练网络。我不确定我将如何为每个输入和输出组合正确地训练网络,以便在训练后我能够输入百分比,并且正确的输出神经元将是最接近1的数字 该网络使用标准的前馈和反向传播算法、随机权重和Sigmo

我正在尝试创建一个ANN,它将解决一个简单的分类问题。我使用的示例是一个学位分类,因此输入将是0-100之间的百分比,输出将是五个百分比中的一个(1,2:1,2:2…)

目前我已经建立了一个三层的神经网络,1个输入神经元,3个隐藏神经元和5个输出神经元,我已经设法用一个输入(例如60)和输出(1,0,0,0)来训练网络。我不确定我将如何为每个输入和输出组合正确地训练网络,以便在训练后我能够输入百分比,并且正确的输出神经元将是最接近1的数字

该网络使用标准的前馈和反向传播算法、随机权重和Sigmoid函数

我有一个文件,我认为它可以处理0-100的输入,输出介于两者之间:

0
1,0,0,0,0

1
1,0,0,0,0

40
0,1,0,0,0,0

100
0,0,0,0,1


谢谢

我不太理解您试图学习的功能,但这并不重要。训练ANN的常用方法是使用SGD(随机梯度下降),其中使用反向传播每次计算每个示例的梯度。您只需在所有输入示例上重复此操作,直到它了解这些示例为止


有一件事你没有提到,你需要一个损失函数。在您的情况下,一个简单的均方误差可能是合适的。

我建议您看看用于分类的
classifier.py
python脚本,在这个链接中- 以上教程的完整代码可在此链接获得-

上述链接的分类器脚本用于预测一个国家的人均GDP是否高于平均GDP。一、 但是,将脚本用于不同类型的数据集。
我能够在Theano中成功地训练神经网络,使用上述分类器脚本将语音分类为字母“a”或“E”。

不需要隐藏层,每个输出一个神经元就足够了,每个输入一个。这是因为你的函数是线性的。添加3个隐藏层只会导致输入受限的问题。考虑更多的输入或不同的问题,需要使用隐层的神经网络。