Main Content

softmax

softmax 传递函数

说明

示例

提示

要使用 softmax 激活进行深度学习,请使用 softmaxLayerdlarray 方法 softmax。

A = softmax(N) 接受由净输入(列)向量组成的 S×Q 矩阵 N,并返回由应用于 N 的每列的 softmax 竞争函数组成的 S×Q 矩阵 A

Diagram showing the softmax function applied to a vector of four inputs. The function maps the input vector 0, 1, -0.5, 0.5 to the output vector 0.17, 0.46, 0.1, 0.28.

softmax 是神经传递函数。传递函数根据层的净输入计算层的输出。

info = softmax(code) 返回有关此函数的信息。有关详细信息,请参阅代码参量描述。

示例

全部折叠

此示例说明如何计算和绘制输入矩阵的 softmax 传递函数。

创建输入矩阵 n。然后调用 softmax 函数并绘制结果。

n = [0; 1; -0.5; 0.5];
a = softmax(n);
subplot(2,1,1), bar(n), ylabel('n')
subplot(2,1,2), bar(a), ylabel('a')

将此传递函数分配给网络的 i 层。

net.layers{i}.transferFcn = 'softmax';

输入参数

全部折叠

净输入列向量,指定为 S×Q 矩阵。

要从函数中检索的信息,指定为以下各项之一:

  • 'name' 返回此函数的名称。

  • 'output' 返回 [min max] 输出范围。

  • 'active' 返回 [min max] 活动输入范围。

  • 'fullderiv' 返回 1 或 0,具体取决于 dA_dNS×S×Q 还是 S×Q

  • 'fpnames' 返回函数参数的名称。

  • 'fpdefaults' 返回默认函数参数。

输出参量

全部折叠

输出矩阵,以由应用于 N 每列的 softmax 竞争函数组成的 S×Q 矩阵形式返回。

关于函数的特定信息,以字符串、向量或标量形式返回,具体取决于在 code 参量中指定的选项。

算法

a = softmax(n) = exp(n)/sum(exp(n))

版本历史记录

在 R2006a 之前推出

另请参阅

|