神经网络之softmax(作用,工作原理【示例说明】,损失计算)

softmax是一个用于多分类问题的函数,它将神经网络的输出转换为概率分布,每个类别对应一个概率值,且总和为1。softmax层接在输出层后面,进行线性运算后应用softmax激活函数。例如,输入[5,2,-1,3]会被转换为概率分布。损失计算通常使用交叉熵损失函数,衡量预测概率分布与真实标签之间的差距。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、softmax作用

softmax将输出的分类结果映射到(0-1)之间,将神经网络的分类结果转化成对应的概率。不同的概率,表示此样本属于对应类别的可能性大小,概率越大,样本属于该分类的可能性越大。概率的总和为1。

2、softmax工作原理

softmax位于网络输出层的后边,其在网络结构中的位置如下图所示:

8cd16de4d1fa93e8413a2a012d5838cc.png

和隐藏层神经元计算类似,softmax层对输出数据先进行线性运算,再使用softmax激活函数将输出转化为概率。

假设softmax的前一层输出用 eq?a%5E%7B%5Bl-1%5D%7D表示,则softmax首先进行线性运算:

eq?z%5E%7B%5Bl%5D%7D%3Dw%5E%7B%5Bl%5D%7Da%5E%7B%5Bl-1%5D%7D+b%5E%7B%5Bl%5D%7D

线性运算结束后进行softmax激活函数计算,激活函数公式为:

eq?a%5E%7B%5Bl%5D%7D%20%3D%5Cfrac%7Be%5E%7Bz%5E%7B%5Bl%5D%7D%7D%7D%7B%5Csum_%7Bj%3D1%7D%5E%7Bn%7De%5E%7Bz_%7Bj%7D%5E%7B%5Bl%5D%7D%7D%7D

示例说明:

为了更好地理解softmax激活函数作用,假设在一个分类任务中,softmax前一层输出经线性运算后的结果是[5, 2, -1, 3],即eq?z%5E%7B%5Bl%5D%7D%3D%5B5%2C%202%2C%20-1%2C%203%5D

采用softmax激活函数将输出转化为概率值。其中

eq?a%7B_%7B1%7D%7D%5E%7B%5Bl%5D%7D%3D%5Cfrac%7Be%5E%7B5%7D%7D%7Be%5E%7B5%7D+e%5E%7B2%7D+e%5E%7B-1%7D+e%5E%7B3%7D%7D%5Capprox%200.842

eq?a%7B_%7B2%7D%7D%5E%7B%5Bl%5D%7D%3D%5Cfrac%7Be%5E%7B2%7D%7D%7Be%5E%7B5%7D+e%5E%7B2%7D+e%5E%7B-1%7D+e%5E%7B3%7D%7D%5Capprox%200.042

eq?a%7B_%7B3%7D%7D%5E%7B%5Bl%5D%7D%3D%5Cfrac%7Be%5E%7B-1%7D%7D%7Be%5E%7B5%7D+e%5E%7B2%7D+e%5E%7B-1%7D+e%5E%7B3%7D%7D%5Capprox%200.002

eq?a%7B_%7B4%7D%7D%5E%7B%5Bl%5D%7D%3D%5Cfrac%7Be%5E%7B3%7D%7D%7Be%5E%7B5%7D+e%5E%7B2%7D+e%5E%7B-1%7D+e%5E%7B3%7D%7D%5Capprox%200.114

根据softmax公式分别算出每一类的概率,得到最终的概率输出为eq?a%5E%7B%5Bl%5D%7D%3D%5B0.841%2C%200.042%2C%200.002%2C%200.114%5D

3、损失计算

假设分类任务的真实结果是eq?y%3D%5B0%2C1%2C0%2C0%5D,经过softmax预测结果是eq?%5Chat%7By%7D%3D%5B0.3%2C%200.2%2C%200.1%2C%200.4%5D,根据如下损失计算公式:

eq?L%28%5Chat%7By%7D%2Cy%29%3D-%5Csum_%7Bj%3D1%7D%5E%7Bn%7Dy_%7Bj%7D%20log%5Chat%7By%7D_%7Bj%7D

在假设的例子中,n=4,则eq?L%28%5Chat%7By%7D%2Cy%29%3D-%280%5Ctimes%20log0.3+1%5Ctimes%20log0.2+0%5Ctimes%20log0.1+0%5Ctimes%20log0.4%29

假设有m个样本,损失为:

eq?J%28w%5E%7B%5B1%5D%7D%2Cb%5E%7B%5B1%5D%7D%2C...%29%3D%5Cfrac%7B1%7D%7Bm%7D%5Csum_%7Bi%3D1%7D%5E%7Bm%7DL%28%5Chat%7By%7D%5E%7B%28i%29%7D%2Cy%5E%7B%28i%29%7D%29

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值