• 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

  • 相关阅读:
    字符串中部分字符替换
    斐波那契数列
    单列模式--代码
    selenium基础知识
    关于页面元素不能定位,通过Js进行处理
    Linux性能监控工具命令--top
    java实现selenium jquery滑动解锁
    PHP学习(三)——连接MySQL数据库理论
    PHP学习(二)
    PHP学习(一)
  • 原文地址:https://www.cnblogs.com/unicorn2105/p/11984155.html
Copyright © 2020-2023  润新知