我正在尝试使用 scikit-neuralnetwork 来学习神经网络框架,我了解神经网络的基础知识,现在尝试用 scikit-learn 来实现它。但我对两点感到困惑。
1- 下面给出的这个神经网络的结构是什么?不知何故,在我觉得的一些例子中,有些人没有把输入层作为一个层。否则,我认为这是一个 2 层神经网络,输入层有 100 个节点,输出层有 1 个节点。
from sknn.mlp import Classifier, Layer
nn = Classifier(
layers=[
Layer("Maxout", units=100, pieces=2),
Layer("Softmax")],
learning_rate=0.001,
n_iter=25)
nn.fit(X_train, y_train)
2- scikit-neuralnetwork 是否在我上面放置的代码中进行反向传播?
谢谢!
最佳答案
1.
假设X_train
中的每个训练样例都有M个特征,并且y_train
中有C类:
输入层(代码中未明确显示)有 M 个节点。隐藏层有100个节点。输出层有 C 个节点(每个节点编码每个类别的分数)。
2.
.fit()
是一种执行此操作的方法 - 前馈训练示例并使用反向传播来训练神经网络。
另外:也许您必须为最后一层添加 units=C
- 我认为这是一个分类问题。如果您只需要一个值(分数,而不是类别标签),请使用回归器
。
关于python - scikit-neuralnetwork 中神经网络的反向传播和结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42098700/