【问题标题】:Weights in Multi Layer Neural Network多层神经网络中的权重
【发布时间】:2016-01-12 06:06:24
【问题描述】:

我正在为我的研究开发一个多层神经网络。但现在我在一个修复中,用户应该定义他想要的隐藏层的数量以及每层中的神经元数量。 我的输入是矩阵 (x,8),我的实际输出是矩阵 (x,2),其中 x 是我的样本数据中的行数。

我通常将我的体重定义为

Weights1 = 2 * np.random.random((Hidden_layer_len,X[0].shape[0])) - 1
Weights2 = 2 * np.random.random((T[0].shape[0],Hidden_layer_len)) - 1
W = [Weights1, Weights2]

其中 X 是输入,T 是示例数据表的输出,Hidden_​​layer_len 是隐藏层的长度,假设在我的输入和输出之间有一个隐藏层。

现在,我的要求是,用户可以在输入和输出之间提供他想要的隐藏层数量,并且用户还可以定义每层的神经元数量(hidden_​​layer_len)。

假设有 n 层,我如何为这 n 层创建我的权重以及每层中的神经元数量?

【问题讨论】:

    标签: python machine-learning neural-network


    【解决方案1】:

    我建议使用 Pybrain 模块轻松创建神经网络。他们的文档可以在这里找到:

    http://pybrain.org/docs/tutorial/netmodcon.html

    权重将在您尝试做的网络创建中随机初始化,并且可以更改隐藏神经元和隐藏层的数量。一个简单的 2 隐藏层神经网络,每层有 10 个隐藏神经元示例:

    from pybrain.structure import FeedForwardNetwork
    n = FeedForwardNetwork()
    
    from pybrain.structure import LinearLayer, SigmoidLayer
    inLayer = LinearLayer(8)
    hiddenLayer = SigmoidLayer(10)
    hiddenLayer2 = SigmoidLayer(10)
    outLayer = LinearLayer(2)
    
    n.addInputModule(inLayer)
    n.addModule(hiddenLayer)
    n.addModule(hiddenLayer2)
    n.addOutputModule(outLayer)
    
    from pybrain.structure import FullConnection
    in_to_hidden = FullConnection(inLayer, hiddenLayer1)
    hidden_to_hidden = FullConnection(hiddenLayer1, hiddenLayer2)
    hidden_to_out = FullConnection(hiddenLayer2, outLayer)
    
    n.addConnection(in_to_hidden)
    n.addConnection(hidden_to_hidden)
    n.addConnection(hidden_to_out)
    
    n.sortModules()
    

    【讨论】:

    • 没问题 :) 几个月前我开始研究 RNN,发现 Pybrain 为我节省了大量时间。
    • 我不会再推荐 PyBrain。开发已经停止了一段时间。 Keras/Theano/Tensorflow 现在是更好的选择。
    【解决方案2】:

    如果您喜欢冒险并需要一些使用 GPU 的计算能力。我推荐Keras Deep Learning Library。我也是从 PyBrain 开始的,但最终我转向了更新的库,比如 Keras 和 Theano。 Keras 非常容易学习,它能够用很少的代码行重现一些状态的结果。 Keras 背后有一个非常活跃的社区,正在开发最新功能,而 PyBrain 目前还没有积极开发。

    【讨论】:

    • 我完全同意。 PyBrain 不再处于积极开发阶段。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-05
    • 2019-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多