深度学习最终目的表现为解决分类或回归问题。在现实应用中,输出层咱们大多采用softmax或sigmoid函数来输出分类几率值,其中二元分类能够应用sigmoid函数。函数
而在多元分类的问题中,咱们默认采用softmax函数,具体表现为将多个神经元的输出,映射到0 ~ 1的区间中,按几率高低进行分类,各几率之和为1。学习
某分类的几率数学表达式为:yi = ei / ∑j=1ej
spa
具体来讲,假设有四个输出单元,分别为:深度学习
能够看出 y1 + y2 + y3 + y4 = 1。而且其中某神经元的输出若增长,则其余神经元的输出则减小,反之也成立。数学
最后再看看softmax函数如何求导,令y = exi / ∑exk ,分两种状况:基础
1. i为softmax值,咱们对exi 求导,
与此相关的基础求导公式:(u/v)' = (u' v - uv') / v2 和 (ex)' = ex ,并应用链式法则可得求导过程:
dy/dexi = ( exi / ∑exk)'
= (exi * ∑exk - exi * exi ) / (∑exk)2
= exi / ∑exk - (exi / ∑exk ) * (exi / ∑exk )
= yxi - yxi2
2. i不为softmax值,咱们依然对exi 求导,其过程为:
dy/dexi = ( exj / ∑exk)' 注:i ≠ j
= (0 * ∑exk - exj * exi) / (∑exk)2
= -1 * (exi / ∑exk ) * (exj / ∑exk)
= - yxi * yxj