Mxnet (3): Softmax 回归(Softmax regression)

有一种logistic回归的一般形式,叫做Softmax回归,用于处理多类型的分类问题。

0.Softmax操作

我们将在此处采用的主要方法是将模型的输出解释为概率。我们将优化参数以产生使观察到的数据的可能性最大化的概率。然后,为了生成预测,我们将设置一个阈值,例如,选择具有最大预测概率的标签。

正式地说,我们想要任何输出 y ^ j \hat{y}_j y^j 被解释为给定项目属于类别的概率 j 。然后我们可以选择具有最大输出值的类别作为我们的预测 argmax ⁡ j y j \operatorname{argmax}_j y_j argmaxjyj. 。例如,如果 y ^ 1 \hat{y}_1 y^1, y ^ 2 \hat{y}_2 y^2, 和 y ^ 3 \hat{y}_3 y^3 分别为0.1、0.8和0.1。然后预测是第二类。

您可能会倾向于建议我们解释日志 o 直接作为我们感兴趣的输出。然而,将线性层的输出直接解释为概率存在一些问题。一方面,没有什么约束这些数字的总和为1。另一方面,取决于输入,它们可以取负值。

为了将我们的输出解释为概率,我们必须保证(即使在新数据上)它们也将是非负的并且总和为1。此外,我们需要一个训练目标来鼓励模型忠实地估计概率。在分类器输出0.5的所有实例中,我们希望这些示例中的一半实际上属于预测类。这是一个称为校准的属性。

社会科学家R.Duncan Luce在选择模型的背景下于1959年发明的softmax函数正好做到了这一点。为了使logit变为非负数且总和为1,同时要求模型保持可微性,我们首先对每个logit求幂(确保非负数),然后除以它们的总和(确保它们总和为1):
y ^ = s o f t m a x ( o ) where y ^ j = exp ⁡ ( o j ) ∑ k exp ⁡ ( o k ) \hat{\mathbf{y}} = \mathrm{softmax}(\mathbf{o})\quad \text{where}\quad \hat{y}_j = \frac{\exp(o_j)}{\sum_k \exp(o_k)} y^=softmax(o)wherey^j=kexp(ok)exp(oj)

很容易看到 y ^ 1 + y ^ 2 + y ^ 3 = 1 \hat{y}_1 + \hat{y}_2 + \hat{y}_3 = 1 y^1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值