zoukankan      html  css  js  c++  java
  • softmax

    1、what ?

     Softmax function, a wonderful activation function that turns numbers aka logits into probabilities that sum to one. Softmax function outputs a vector that represents the probability distributions of a list of potential outcomes. 

     2、how ?

      two component

      special number e  & sum 

      

    3、Why not just divide each logits by the sum of logits? Why do we need exponents?

      When logits are negative, adding it together does not give us the correct normalizationexponentiate logitsturn them them zero or positive!  参考补充知识Logits。

    4、python 实现代码:

    import numpy as np
    
    def softmax(logits):
        ## 以e 为底,list 元素为指数,求幂次方 ,python 方法 np.exp
        exps = [np.exp(logit) for logit in logits]
        # 求指数和
        sum_of_exps = sum(exps)
    
        #利用softmax公式,y_i/y_j
        softmax = [j / sum_of_exps for j in exps]
    
        return softmax
    
    if __name__ == '__main__':
    
        # print(np.exp(-100))
    
        logits = [2.0, 1.0, 0.1]
        softmax = softmax(logits)
    
        print(softmax)
    

      

    补充知识:

      1、对数 

      2、自然对数:以常数e为底数的对数,记作lnN(N>0)

      3、Odds 与 probability

        概率(Probability)和Odds都是用来描述某件事情发生的可能性的。

        概率[公式]是一个0到1之间的实数;[公式]表示一定不会发生,而[公式]则表示一定会发生。

        Odds指的是事件发生的概率与事件不发生的概率之比。

        事件A的Odds 等于 事件A出现的次数 和 其它(非A)事件出现的次数 之比;相比之下,事件A的概率 等于 事件A出现的次数 与 所有事件的次数 之比。

        概率[公式]的变化范围是[公式],而Odds的变化范围是[公式]。再进一步,如果对Odds取自然对数,lnOdds范围为[公式]。换句话就是将概率P从范围[公式]映射到[公式]

        4、Logits 

          Odds的对数称之为Logit。取之范围[公式]

    参考资料:

    https://medium.com/data-science-bootcamp/understand-the-softmax-function-in-minutes-f3a59641e86d

    https://zhuanlan.zhihu.com/p/27188729

  • 相关阅读:
    phpcms页面替换
    phpcms笔记
    php头像上传预览
    phpcms后台管理
    php写流程管理
    php写留言板
    php人员权限管理(RBAC)
    单例模式
    Effective C++笔记——day01
    C++Primer笔记-----day08
  • 原文地址:https://www.cnblogs.com/unicorn2105/p/11984155.html
Copyright © 2011-2022 走看看