深度学习最终目的表现为解决分类或回归问题。在现实应用中,输出层我们大多采用softmax或sigmoid函数来输出分类概率值,其中二元分类可以应用sigmoid函数。

  而在多元分类的问题中,我们默认采用softmax函数,具体表现为将多个神经元的输出,映射到0 ~ 1的区间中,按概率高低进行分类,各概率之和为1。

  某分类的概率数学表达式为:y= e/ ∑j=1e 

  具体来说,假设有四个输出单元,分别为:

  •   y= ex1 / (ex1 + ex2 + ex3 + ex4 ),假设其概率为0.4
  •   y2 = ex2/ (ex1 + ex2 + ex3 + ex4 ),假设其概率为0.15
  •   y= ex3/ (ex1 + ex2 + ex3 + ex4 ),假设其概率为0.15
  •   y4= ex4/ (ex1 + ex2 + ex3 + ex4 ), 假设其概率为0.3

  可以看出 y1 + y+ y+ y4 = 1。并且其中某神经元的输出若增加,则其他神经元的输出则减少,反之也成立。

  最后再看看softmax函数如何求导,令y = ex/ ∑exk ,分两种情况:

  1. i为softmax值,我们对exi 求导,

      与此相关的基础求导公式:(u/v)= (uv - uv') / v2 和  (ex)= e,并应用链式法则可得求导过程:

   dy/dexi = ( ex/ ∑exk)

       =  (exi * ∑exk  - exi * exi ) / (∑exk)

       =  ex/ ∑exk   -  (ex/ ∑exk ) * (ex/ ∑exk )

       = yxi - yxi2

  2. i不为softmax值,我们依然对exi 求导,其过程为:

   dy/dexi =  ( ex/ ∑exk)    注:i ≠ j

       = (0 * ∑exk - exj * exi) / (∑exk)

       = -1 * (ex/ ∑exk ) * (exj / ∑exk)

       = - yxi * yxj 

 

      

  

最新文章

  1. STL vector按多字段值排序
  2. php获取一维,二维数组长度的方法(有实例)
  3. redis在windows上的安装
  4. setBackgroundDrawable和setBackgroundColor的用法
  5. javascript插件编写小结
  6. Stop a hung service 关闭一个无响应的windows 服务
  7. LCIS tyvj1071 DP优化
  8. java学习面向对象之继承
  9. python-类和对象(属性、方法)的动态绑定
  10. Blogger建立新文章 - Blog透视镜
  11. Web系统如何做到读取客户电脑MAC等硬件信息且兼容非IE浏览器
  12. eclipse No Default Proposals 无提示
  13. 我学的是设计模式的视频教程——装饰图案,装饰图案VS代理模式
  14. JPA基本注解介绍
  15. oracle的row_number()和rownum
  16. rgba 和 IE 的 filter数值转换
  17. mysql获取某个表的所有字段名
  18. microk8s
  19. React表格报错Each record in table should have a unique `key` prop,or set `rowKey` to an unique primary key.
  20. Beyond Compare相同文件为何显示差异

热门文章

  1. [转载]解决flash与js交互、flash跨域交互、flash跨域提交
  2. bzoj 2111 [ZJOI2010]Perm 排列计数(DP+lucas定理)
  3. php魔术函数 __clone()
  4. 使用 script 命令记录用户操作行为
  5. 芒果TV 视频真实的地址获取
  6. Django中HttpRequest和HttpResponse
  7. RabbitMQ--Publish/Subscribe(五)
  8. mac 下安装pip
  9. vue项目中,Iview打包到生产环境时, woff 字体引用问题
  10. fsevents npm install是报错