zoukankan      html  css  js  c++  java
  • Softmax函数与交叉熵

    在Logistic regression二分类问题中,我们可以使用sigmoid函数将输入Wx+b映射到(0,1)区间中,从而得到属于某个类别的概率。将这个问题进行泛化,推广到多分类问题中,我们可以使用softmax函数,对输出的值归一化为概率值

    这里假设在进入softmax函数之前,已经有模型输出C值,其中C是要预测的类别数,模型可以是全连接网络的输出aa,其输出个数为C,即输出为: [公式]

    所以对每个样本,它属于类别i的概率为:

    [公式]

    通过上式可以保证 [公式] ,即属于各个类别的概率和为1

    softmax函数进行求导,即求: [公式] ,第i项的输出对第j项输入的偏导。代入softmax函数表达式,可以得到:

    [公式]

    求导规则:对于 [公式] ,导数为:

    [公式]

    所以在我们这个例子中,

    [公式]

    上面两个式子只是代表直接进行替换,而非真的等式。 [公式] ,(即g(x)= [公式][公式] 进行求导),要分情况讨论:

    1. 如果i=j,则求导结果为 [公式]
    2. 如果i≠j,则求导结果为0

    再来看 [公式][公式] 求导,结果为 [公式]

    所以,当i=j时:(其中,为了方便,令 [公式] )

    [公式]

    当i≠j时:

    [公式]

    标红下,这俩公式很重要:




  • 相关阅读:
    Ubuntu 14.04 LTS 安装 NVIDIA 显卡驱动后的屏幕亮度调节问题
    算法算法算法
    Java transient关键字
    使用git和github管理自己的项目---基础操作学习[转]
    Linux 查看系统硬件信息[转]
    实现Servlet容器一
    nginx入门三
    nginx入门二
    nginx入门一
    centos7入门
  • 原文地址:https://www.cnblogs.com/wqbin/p/11070647.html
Copyright © 2011-2022 走看看