Softmax简介
298字 1.5分钟 ML 介绍
Softmax 函数将一组数字组成的向量 K 转换成 K 的概率分布。它用于解决多分布问题。
Argmax 是将向量 K 转成 1 或 0 常量组成的向量。Argmax 的问题是没法利用结果来优化参数 W 和 b,即无法应用反向传播。
用于求预测值时:y^=softmax(o)y^i=∑j=1Kexp(oj)exp(oi)写成函数形式:σ(o)i=∑j=1KeojeoiSoftmax 转成的概率分布组成的向量,sum 的结果为 1。
举例
现在有一个对 Iris 进行预测的模型,输入一条数据,经过多层网络后得到:
Setosa 1.43
Versicolor -0.4
Viginica 0.21
此时就可以用激活函数 Softmax,把数据转为 0-1 范围内的概率。
t=e1.43+e−0.4+e0.21y^setosa=te1.43=0.69y^versicolor=te−0.4=0.10y^viginica=te0.21=0.21为什么使用指数函数
指数函数除了能把值映射到 0-1 范围,还有个优势是它的导数很好计算。
对于第 i 项数据,Softmax 函数的导数是:
∂xj∂yi={yi(1−yi)if i=j−yiyjif i=j}计算过程略。