zoukankan      html  css  js  c++  java
  • focalloss函数

    import numpy as np
    
    def focalloss(p, y, gamma=5):    
        # https://blog.csdn.net/JNingWei/article/details/80038594
        # https://www.cnblogs.com/king-lps/p/9497836.html        
        r = -(1 - p) ** gamma * np.log(np.maximum(1e-8, p)) * y
        r+=  - p ** gamma * np.log( np.maximum(1e-8, 1 - p)) * (1 - y ) 
        return r
    
    
    def logloss(p, y):        
        r = -np.log(np.maximum(1e-8, p)) * y
        r+= -np.log( np.maximum(1e-8, 1 - p)) * (1 - y ) 
        return r
    
    #%%
    
    p = np.arange(101) / 100
    
    y1 =  np.ones_like(p)
    y2 =  np.zeros_like(p)
    
    
    #%%
    from pylab import plt
    plt.figure(figsize=(14, 10), dpi=300)
    
    plt.plot(p, focalloss(p, y1, 0.5), 'y-',
             p, focalloss(p, y1, 1), 'b-',
             p, focalloss(p, y1, 3), 'r--',
             p, focalloss(p, y1, 5), 'g-.',
             p, focalloss(p, y1, 0), 'g-*',
             p, logloss(p, y1), 'y--',
             p, logloss(p, y2), 'y-',
             p, focalloss(p, y2, 5), 'g-.',
             )
    plt.ylim((-0.1, 5))
    plt.xlim((-0.01, 1))
    plt.legend(['gamma = 0.5', 'gamma = 1','gamma = 3', 'gamma = 5','gamma = 0',
                'logloss', 'logloss y2', 'y2 = 5'])
    

  • 相关阅读:
    @loj
    @loj
    @划水记@ THUWC2020 (?)
    @codeforces
    @loj
    Spark设计理念与基本架构
    Spark源码解析
    Spark Submitting Applications浅析
    Spark RDD基本概念与基本用法
    Storm基本原理概念及基本使用
  • 原文地址:https://www.cnblogs.com/bregman/p/13578166.html
Copyright © 2011-2022 走看看