首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >神经网络中神经网络的反向传播与结构

神经网络中神经网络的反向传播与结构
EN

Data Science用户
提问于 2017-02-07 20:43:14
回答 1查看 810关注 0票数 0

我正在尝试使用坐骨神经网络框架学习神经网络,我了解神经网络的基本知识,现在尝试用scikit-learn来实现它。但我对两点感到困惑。

1-这个神经网络的结构是什么?不知怎么的,在我感觉到的一些例子中,有些人不把输入层作为一个层。否则,我认为这是因为一个2层NN有一个输入层,在输出层有100个节点和1个节点。

代码语言:javascript
复制
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-坐骨神经网络在我上面写的代码中做反向传播吗?

谢谢!

EN

回答 1

Data Science用户

回答已采纳

发布于 2017-02-07 23:35:37

1)据我所知,scikit神经网络试图通过调用nn.fit时给出的X和y数据自动确定正确的输入和输出大小。因此,结构应是:

  1. 用X_train确定形状的输入层
  2. 致密层100单位,最大激活2线段
  3. y_train所需单元数的Softmax分类层

似乎在这里使用数据的输入形状:https://github.com/aigamedev/scikit-neuralnetwork/blob/b7fd0c089bd7c721c4d9cf9ca71eed74c6bafc5e/sknn/backend/lasagne/mlp.py#L183

以及数据的输出形状:https://github.com/aigamedev/scikit-neuralnetwork/blob/b7fd0c089bd7c721c4d9cf9ca71eed74c6bafc5e/sknn/mlp.py#L62

但是,请注意,maxout似乎不再受支持:https://github.com/aigamedev/scikit-neuralnetwork/issues/142

2)是的,它通过调用适当的千层面/theano函数来创建/编译反向传播训练函数:https://github.com/aigamedev/scikit-neuralnetwork/blob/b7fd0c089bd7c721c4d9cf9ca71eed74c6bafc5e/sknn/backend/lasagne/mlp.py#L50-L103,从而使用反向传播。

(实际培训似乎发生在这里:https://github.com/aigamedev/scikit-neuralnetwork/blob/b7fd0c089bd7c721c4d9cf9ca71eed74c6bafc5e/sknn/backend/lasagne/mlp.py#L316-L335)

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/16819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档