Softmax函数与交叉熵

Softmax函数

背景与定义

在Logistic regression二分类问题中,我们可以使用sigmoid函数将输入 Wx+b 映射到 (0,1) 区间中,从而得到属于某个类别的概率。将这个问题进行泛化,推广到多分类问题中,我们可以使用softmax函数,对输出的值归一化为概率值。

这里假设在进入softmax函数之前,已经有模型输出 C 值,其中 C 是要预测的类别数,模型可以是全连接网络的输出 a ,其输出个数为 C ,即输出为 a1,a2,...,aC

所以对每个样本,它属于类别 i 的概率为:

yi=eaiCk=1eak   i1...C

通过上式可以保证 Ci=1yi=1 ,即属于各个类别的概率和为1。

导数

softmax函数进行求导,即求

yiaj

i 项的输出对第 j 项输入的偏导。
代入 softmax函数表达式,可以得到:
yiaj=eaiCk=1eakaj

用我们高中就知道的求导规则:对于

f(x)=g(x)h(x)

它的导数为
f(x)=g(x)h(x)g(x)h(x)[h(x)]2

所以在我们这个例子中,
g(x)=eaih(x)=k=1Ceak

上面两个式子只是代表直接进行替换,而非真的等式。

eai (即 g(x) )对 aj 进行求导,要分情况讨论:
1. 如果 i=j ,则求导结果为 eai
2. 如果 ij ,则求导结果为 0

再来看 Ck=1eak aj 求导,结果为 e

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值