作为输出srimtヽorg
具体来说,假设z=w1x1+w2x2+w3x3+...+b,那么输出output=σ(z),其中:σ(z)=1/(1+e-z)srimtヽorg
σ(z)是一个平滑、连续的函数srimtヽorg而且,它的输出也是0~1之间的实数,这个输出值可以直接作为下一层神经元的输入,保持在0~1之间srimtヽorg
可以想象,在采用sigmoid神经元组装神经网络之后,网络的输入和输出都变为连续的了,也就是说,当我们对某个参数的值进行微小的改变的时候,它的输出也只是产生微小的改变srimtヽorg这样就使得逐步调整参数值的训练成为可能srimtヽorg
在历史上,很多研究人员曾经也做过尝试,MichaelNielsen的书《NeuralNetworksandDeepLearning》这本书中也曾经提到过这个例子srimtヽorg
这个神经网络只有一层隐藏层,属于浅层的神经网络(shallowneuralnetworks)srimtヽorg而真正的深度神经网络(deepnerualnetworks),则会有多层隐藏层srimtヽorg
神经元系统采用了左右脑半球的设计方式进行设计和制造srimtヽorg
最右侧则是输出层(outputlayer),有10个神经元节点,分别代表识别结果是0,1,2,...,9srimtヽorg当然,受sigmoid函数σ(z)的限制,每个输出也肯定是0~1之间的数srimtヽorg
那我们在得到一组输出值之后,哪个输出的值最大,最终的识别结果就是它srimtヽorg
而在训练的时候,输出的形式则是:正确的那个数字输出为1,其它输出为0,隐藏层和输出层之间也是全连接srimtヽorg
神经网络共的权重参数有784*15+15*10=11910个,偏置参数有15+10=25个,总共参数个数为:11910+25=11935个srimtヽorg
这可是一个非常惊人的数字srimtヽorg