我在Matlab中训练了一个3层(输入,隐藏和输出)前馈神经网络。训练之后,我想用输入测试向量模拟训练好的网络并获得隐藏层(不最终输出层)的神经元的响应。我怎么能这样做呢?
此外,在训练神经网络之后,是否可以“切掉”最终输出层并将当前隐藏层作为新的输出层(以备将来使用)?
额外信息:我正在构建autoencoder network。
答案 0 :(得分:1)
net.LW属性中提供了经过训练的网络的训练权重。您可以使用这些权重来获取隐藏的图层输出
来自Matlab文档 nnproperty.net_LW
神经网络LW属性。
NET.LW
此属性定义去往图层的权重的权重矩阵 从其他层。它总是Nl×Nl单元阵列,其中Nl是 网络层数(net.numLayers)。
从第j个到第i层的重量的权重矩阵 layer(或null matrix [])位于net.LW {i,j} if net.layerConnect(i,j)为1(或0)。
权重矩阵的行数与其所在层的大小一样多 (net.layers {I} .size)。它具有与大小的产品一样多的列 它来自于与之相关的延迟数量 重量:
net.layers{j}.size * length(net.layerWeights{i,j}.delays)
答案 1 :(得分:0)
除了使用输入和图层权重和偏差外,您还可以添加所需图层的输出连接(训练网络后)。我发现它很容易但我没有检查它的正确性。