我正在处理二进制分类问题。我只是打印了一部分代码。我对softmax函数很熟悉,它给出了属于某些类的概率。在W_fc,我无法获得有关类的任何信息。所以我想知道W_fc提供什么信息? W_fc中打印的值的意义是什么?我可以绘制W_fc的直方图吗?我将如何做?
W_fc = weight_variable([input_dim, 2])
logits = tf.matmul(pool_2D, W_fc) #(batch_size,2)
y_conv=tf.nn.softmax(logits)
#Fully connected layer(W_fc)
[[-0.07672054 0.2260601 ]
[ 0.36111656 -0.36078873]
[ 0.08611391 -0.23779725]
[-0.07158212 -0.21373497]
#softmax_out(y_conv)
[[0.80258745 0.19741252]
[0.76372457 0.23627539]
[0.8738684 0.12613155]
[0.7311098 0.26889023]
答案 0 :(得分:0)
W_fc
在这里最有可能是指与您的神经网络的W
ully f
相连层关联的c
个八度的矩阵。有关这些功能执行什么功能的简单易懂的解释,请参见此video。
这些权重的值本质上定义了神经网络的行为,而实现这些值的良好配置是我们旨在解决神经网络训练过程中要解决的确切问题。训练过程通过反向传播逐步调整这些值,以提高训练数据的网络性能,希望这些权重中编码的信息在面对新数据时仍然适用。
关于“ W_fc
提供什么信息?”。给您的用户:不多。至少不是以可观察的形式。除了最简单的网络之外,所有这些权重之间的相互作用以及它们如何对网络性能做出贡献都是复杂的。
在卷积神经网络(CNN)中,由于权重连接的空间局部性质,权重中的值在某种程度上更易于消化。在这些情况下,随着您深入网络(see here),这些权重的组将充当功能不断增加的特征检测器。
就值的直方图而言,您当然可以这样做(请参见matplotlib.hist())。但是,由此提供的有用信息很少。尽管有论点认为权重中的较低值可以更好地概括新数据(regularisation的基础),并且任何占主导地位的高权重都可以作为overtraining的证据。