输出单元——sigmoid单元&softmax单元

1. 用于高斯输出分布的线性单元

给定特征h,线性输出单元层产生一个向量 y = wh + b.

线性输出层不会饱和,故易采用基于梯度的优化算法。

2. 用于伯努利输出分布的sigmoid单元

神经网络仅需要预测P(y=1|x),为了使这个数是一个有效的概率,它必须处在区间[0,1]中。

假设使用线性单元,并通过阈值来限制它成为一个有效的概率:P(y=1|x) = max{0,min{1,wh + b}}.

当wh + b处于单位区间外时,模型的输出对其参数的梯度都是0,故无法使用梯度下降来高效地训练它。

于是这里采用的方法是基于使用sigmoid输出单元结合最大似然来实现:

sigmoid输出单元定义为 y = σ(wh + b), σ是logistic sigmoid 函数:σ(x) = 1/(1+exp(-x)).

可以认为,sigmoid输出单元具有两个部分,首先使用一个线性层来计算z = wh+b,其次使用sigmoid激活函数将z转化为概率。

接下来用z的值来定义y的概率分布:

假定非归一化的对数概率对y 和 z是线性的,可以对它取对数来得到非归一化的概率,然后对它归一化,这服从伯努利分布,该分布受z的sigmoid变换控制:P(y) = σ((2y-1)z).

因为用于最大似然的代价函数是-logP(y|x),恰好抵消了sigmoid中的exp。然后使用最大似然来学习一个由sigmoid参数化的伯努利分布,其损失函数为J(θ)=ζ((1-2y)z), ζ即softplus函数的形式:ζ(x)=log(1+exp(x))。

所以在极限情况下极度不正确的z,softplus函数完全不会收缩梯度。

3. 用于Multinoulli输出分布的softmax单元

softmax可以看做sigmoid函数的扩展,最常用作分类器的输出。

首先,线性层预测了未归一化的对数概率:z = wh+b,其中zi = log P(y=i | x),softmax函数再对z指数化和归一化来获取需要的y,,最终softmax函数的形式为softmax(z)i=  exp(zi)/∑jexp(zj).

对于softmax的情况,它有多个输出值。当输入值之间的差异变得极端时,这些输出值可能会饱和;

当对所有输入都加上一个相同常数时softmax的输出不变。

...

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值