Softmax函数
定义
Softmax函数,或称归一化指数函数,是逻辑函数的一种推广。它能将一个含任意实数的K维向量 z {\displaystyle \mathbf {z} } z“压缩”到另一个K维实向量 σ ( z ) {\displaystyle \sigma (\mathbf {z} )} σ(z) 中,使得每一个元素的范围都在 ( 0 , 1 ) {\displaystyle (0,1)} (0,1)之间,并且所有元素的和为1。
意义
函数通常的意义:对向量进行归一化,凸显其中最大的值并抑制远低于最大值的其他分量。
公式
σ ( z ) j = e z j Σ k = 1 K f o r j = 1 , . . . , K \displaystyle \sigma(\bold z)_j=\frac {e^{z_j}} {\Sigma^K_{k=1}}\qquad for \space j=1,... , K σ(z)j=Σk=1Kezjfor j=1,...,K
应用
Softmax函数实际上是有限项离散概率分布的梯度对数归一化。
适用于多种基于概率的多分类问题:
- 多项逻辑回归
- 多项线性判别分析
- 朴素贝叶斯分类器
- 人工神经网络
numpy代码实现
import numpy as np
x = np.array([1,2,3,4,3,2,1])
x=x-np.max(x)
x = np.exp(x)