Softmax详解及其反向传播过程推导

Softmax函数公式
在这里插入图片描述

传统的逻辑回归模型(Logistic Regression,LR)主要解决二分类题,Softmax则是逻辑回归模型在多分类问题上的推广。所以我们从分析LR模型入手

从LR二分类模型理论与Softmax之间的联系

1、LR线性模型公式
在这里插入图片描述2、LR二分类理论依据

(1)logistic回归是处理二分类问题的,所以输出的标记y={0,1}

并且线性回归模型产生的预测值是一个实值Z=w’'x+b,所以我们将实值z转化成0/1值便可,这样有一个可选函数便是“单位阶跃函数”:
在这里插入图片描述
这种如果预测值大于0便判断为正例,小于0则判断为反例,等于0则可任意判断
但是单位阶跃函数是非连续的函数,我们需要一个连续的函数,“Sigmoid函数”便可以很好的取代单位阶跃函数,它输出的值域是(0,1)
在这里插入图片描述

(2)接下来解释一下为什么LR二分类可以选择sigmoid函数 来计算分类概率

首先从单位越阶函数中我们就给出了一种人为的分类规定,这种规定可以粗略的这样理解:
在这里插入图片描述

那么对于LR二分类这样只输出一个数值的线性模型,sigmoid函数恰好能实现这一功能。首先,它的值域是(0,1),满足概率的要求;其次,它是一个单调上升函数,可以微分,意味着可以梯度求导,更新LR模型参数。最终
在这里插入图片描述

(3)那么问题来了,对于多分类的问题,用sigmoid函数求概率还合适吗?

显然不合适了,所以要对其进行变形,找出一个计算概率的函数,且LR也不适用于多分类问题。
于是就有了神经网络和softmax损失函数。不管是DNN、CNN,还是RNN等,里面都会用到核心的公式:,f(x)=w’x+b这个熟悉的公式LR线性模型中也用到了,只不过神经网络中W可能是高维的,因为可能用于多分类,而LR中的W只有一维,这就是为什么LR对于每个样本只输出一个数,所以它不适合多分类。
那么基于上述分析,觉得应该也可以这样理解:对于一些神经网络,它也算是LR线性模型在高维空间中的一种应用推广
所以说在有的模型设计中,会使用多个Logistic分类器代替Softmax,使用的是
binary cross-entropy loss,比如YOLOv3

在这里插入图片描述下面这张图是Pi概率矩阵
在这里插入图片描述

(4)为什么选用-log(Pyi)求损失

Softmax函数括号中的概率矩阵理论推导出来了,再来看看为什么选择用-log(Pyi)求损失来训练模型,最重要的原因在于它是一个单调可微的凸函数
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
Softmax反向传播过程推导
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
Softmax函数也被称为交叉熵损失(cross-entropy loss)
从两个视角理解一下交叉熵损失(cross-entropy loss)
信息理论视角
在这里插入图片描述交叉熵刻画的是实际输出(概率)与期望输出(概率)的距离,也就是交叉熵的值越小,两个概率分布就越接近。假设概率分布p为期望输出(标签),概率分布q为实际输出,H(p,q)为交叉熵。下面举个用H(p,y)计算的例子
在这里插入图片描述上面的例子是二分类用H(p,q)计算损失的函数,从上面的计算过程可以发现softmax函数可以由H(p,q)推出来,softmax函数的表达形式更适用多分类的高维空间中损失计算

概率论解释

在这里插入图片描述看看最大似然估计的概念:
在这里插入图片描述
用softmax函数时,一种处理技巧
在这里插入图片描述

  • 9
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值