softmax 的python3实现 - 优化版本

Softmax 函数定义

Softmax函数,或称归一化指数函数,是逻辑函数的一种推广。它能将一个含任意实数的K维向量
“压缩”到另一个K维实向量中,使得每一个元素的范围都在之间,并且所有元素的和为1。
该函数的形式通常按下面的式子给出:在这里插入图片描述
其中, j = 1, …, K

softmax 的python3实现

import numpy as np

def softmax(x):
    """Compute softmax values for each sets of scores in x."""
    e_x = np.exp(x - np.max(x))
    return e_x / e_x.sum()
#test example
scores = [3.0, 1.0, 0.2]
print(softmax(scores))

对于给定测试样例,函数返回:

[ 0.8360188   0.11314284  0.05083836]

此种实现方法利用了指数运算的性质,考虑了指数计算的数值稳定问题。

参考资料:
1.https://stackoverflow.com/questions/34968722/how-to-implement-the-softmax-function-in-python
2.https://baike.baidu.com/item/Softmax函数/22772270?fr=aladdin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值