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