python - scikit-neuralnetwork 中神经网络的反向传播和结构

标签 python machine-learning scikit-learn neural-network deep-learning

我正在尝试使用 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/

相关文章:

python - 如何检查ppp连接是否繁忙

python - 在 Python 中限制 float ?

pandas - 如何处理这样的缺失值和回归的日期格式?

machine-learning - 高分辨率图像分类

scikit-learn - scikit-learn 中嵌套交叉验证的令人困惑的例子

Python - Openpyxl - "UserWarning: Unknown extension"问题

python - 如何在 Python 中关联两个音频事件(检测它们是否相似)

machine-learning - 无监督学习中的训练/测试分割是否必要/有用?

python - 如何创建以列作为数组的 pandas 数据框

scikit-learn - 如何在MLPClassifier中设置初始权重?