zoukankan      html  css  js  c++  java
  • tweedie损失函数

    对于右偏长尾数据进行建模时,使用其他分布的损失函数(如对应高斯分布的MSE损失)效果可能不好。此时可考虑使用基于tweedie分布的损失函数进行建模。

    tweedie分布

     tweedie分布式是一类特殊的指数衰减模型(exponential disperse model,EDM)。其方差和期望的关系如下,其中p是power参数,μ和Φ分别是期望和衰减参数。

    tweedie分布的参数p决定了分布所属的子函数族,p=0为正态分布,p=1为泊松分布,p=2为伽马分布,p∈(1,2)时是泊松和伽马的混合分布。

     当分布式混合分布时,随机变量X ~ Tw(p, μ, ϕ)可表示为:

    其pdf为:

     

    其中 α(x, ϕ, p)是一个正则化项,保证分布是一个合法的pdf。

    tweedie损失

    对tweedie的pdf计算其负对数似然作为损失,那么

    将μ作为估计量,那么

    实现

    import tensorflow as tf
    def tweedie_loss_func(p):
        def tweedie_loglikelihood(y, y_hat):
            loss = - y * tf.pow(y_hat, 1 - p) / (1 - p) + 
                   tf.pow(y_hat, 2 - p) / (2 - p)
            return tf.reduce_mean(loss)
    return tweedie_loglikelihood
    

      

    参考链接

    https://towardsdatascience.com/tweedie-loss-function-for-right-skewed-data-2c5ca470678f

  • 相关阅读:
    MVC,MVP和MVVM的区别
    将数组里某个属性相同的对象合并成一个数组
    Ajax的理解
    VUE如何关闭Eslint的方法
    数组去重
    vue-router传递参数的几种方式
    密码的显示和隐藏
    "校园易借查询"选题报告
    我的第一个微信好友分析
    数据库实践
  • 原文地址:https://www.cnblogs.com/zcsh/p/14899454.html
Copyright © 2011-2022 走看看