精华内容
下载资源
问答
  • 损失期望值法为研究基础,对煤炭企业 41 个关键风险事项的损失期望值进行调研。通过对样本数据的分析,抽取出 5 个公共因子,建立了风险因子评价模型和全面风险评价模型,设定了煤炭企业全面风险损失期望因子得分评价...
  • 风险价值VaR和损失期望值ES是常见的风险度量。

    原文链接: http://tecdat.cn/?p=15929

    原文出处:拓端数据部落公众号


    风险价值VaR和损失期望值ES是常见的风险度量。

    首先明确:

    1. 时间范围-我们展望多少天?
    2. 概率水平-我们怎么看尾部分布?

    在给定时间范围内的盈亏预测分布,示例如图1所示。  

    图1:预测的损益分布 

    给定概率水平的预测的分位数。

    图2:带有分位数的预测损益分布 

    超出分位数的尾部。

    图3:带有分位数和尾部​​标记的预测损益分布 

    方法

    风险值(VaR)是在所选概率水平下预测分布分位数的负数。因此,图2和3中的VaR约为110万元。

    损失期望值(ES)是超出VaR的尾部预期值的负值(图3中的黄金区域)。因此,它总是比相应的VaR大。

    别名

    损失期望值

    损失期望值有很多别名:

    • 条件风险价值(CVaR)
    • 平均短缺
    • 平均超额损失

    我发现“处于风险中的条件价值”令人困惑。我可以看到人们认为在一定条件下它是一种风险价值,而不是超出风险价值的预期损失。

    平均超额损失似乎是最具描述性的名称。

    在上方,我们看到一个带有多个名称的概念。在下面,我们看到一个具有多个概念的名称。

    概率等级

    当我说5%时,有人说95%。其实我们都是在处理尾部,这意味着(在我的术语中)肯定少于50%。

    缩略语

    “风险价值”的缩写有可能与其他两个概念混淆:

    • 方差
    • 向量自回归

    所有这些都可以避免与大写约定冲突:

    • VaR:风险价值
    • var:方差
    • VAR:向量自回归

    估算

    初始成分

    有两种初始成分:

    • 投资组合中的资产
    • 所涉及资产的价格历史

    衍生成分

    投资组合加上当前价格得出投资组合权重。

    价格历史记录矩阵用于获取退货历史记录矩阵。

    给定投资组合的回报历史记录,可以通过多种方式获得预测分布:

    • 拟合假设分布
    • 模拟(使用一段时间内的经验分布)
    • 总体预测
    • 梯度模拟

    如果假设正态分布,则可以估计标准偏差以获得预测分布。如果假设t分布,则还需要估计自由度或假设自由度。

    通常被称为模拟方法的方法实际上只是使用一些特定数量的投资组合收益的经验分布。

    使用单变量garch模型可以很好地估算VaR和ES。

    R语言

    对于VaR和ES ,R语言是非常合适的环境。

    填充区域

    您可能想知道如何填充图中的区域,如图3所示。窍门是使用该polygon函数。

     
        plot(xseq, pd, type="l", col="steelblue", lwd=3, 
            yaxt="n", ylab="", 
            xlab="Predicted Profit/Loss (millions of dollars)")
    
        abline(v=qnorm(.05, mean=.5, sd=1), lty=2, lwd=3)
    
         polygon(c(xseqt, max(xseqt)), c(dnorm(xseqt, 
            mean=.5, sd=1), 0), col="gold", border=NA)
    
    
        lines(xseq, pd, type="l", col="steelblue", lwd=3)
        abline(h=0, col="gray80", lwd=2)
     

    投资组合方差计算

    给定方差矩阵和权重向量的R命令来获得投资组合方差:

    weight %*% varianceMatrix %*% weight
    

    假设权重向量与方差矩阵完全对齐。 

    weight %*% varianceMatrix[names(weight), 
       names(weight)] %*% weight

    风险价值和损失期望值的估计

    评估风险价值和损失期望值的简介,以及使用R进行估算 。

     

    基本 

    风险价值(VaR)和预期短缺(ES)始终与投资组合有关。

    您需要两种基本成分:

    • 投资组合 
    • 所涉及资产的价格历史

     

    这些可以用来估计市场风险。价格历史记录中可能不包含其他风险,例如信用风险。

    多元估计

    当我们从资产级别开始时,VaR和ES在投资组合级别上都是一个风险数字。一种方法是估计资产收益的方差矩阵,然后使用投资组合权重将其折叠为投资组合方差。

     

    单变量估计

    通过投资组合的单个时间序列收益(现在是该投资组合),估算更为简单。

    我们可以通过将投资组合中资产的简单收益矩阵乘以投资组合权重的矩阵来获得此信息。 

    R1 <- assetSimpRetMatrix %*% portWts
    

    或 :

    R1 <- assetSimpRetMatrix[, names(portWts)] %*% portWts
    

     

    R1上面计算的对象持有投资组合的(假设的)简单收益。 

    r1 <- log(R1 + 1)
    

    当然,还有其他选择,但是一些常用方法是:

    • 历史的(使用最近一段时间内的经验分布)
    • 正态分布(根据数据估算参数)并使用适当的分位数
    • t分布(通常假设自由度而不是估计自由度)
    • 拟合单变量garch模型并提前进行模拟

    R分析

    以下是示例,其中spxret11包含2011年标准普尔500指数每日对数收益的向量。因此,我们将获得2012年第一天的风险度量(收益)。

    >  "historical")
               [,1]
    VaR -0.02515786
    > "gaussian")
              [,1]
    VaR -0.0241509
    >  "gaussian" 
               [,1]
    VaR -0.03415703
    >  "historical")
              [,1]
    ES -0.03610873
    >  "gaussian")
              [,1]
    ES -0.03028617

    如果第一个参数是矩阵,则每一列都可以视为投资组合中的资产。 

    no weights passed in, assuming equal weighted portfolio
    $MVaR
               [,1]
    [1,] 0.02209855
    
    $contribution
    Convertible Arbitrage            CTA Global 
             0.0052630876         -0.0001503125 
    Distressed Securities      Emerging Markets 
             0.0047567783          0.0109935244 
    Equity Market Neutral 
             0.0012354711 
    
    $pct_contrib_MVaR
    Convertible Arbitrage            CTA Global 
              0.238164397          -0.006801916 
    Distressed Securities      Emerging Markets 
              0.215252972           0.497477204 
    Equity Market Neutral 
              0.055907342

    风险价值的历史估计

    这是用于风险价值的历史估计的简单函数的定义:

     
    VaRhistorical <- function(returnVector, prob=.05, 
        notional=1, digits=2) 
    {
      if(prob > .5) prob <- 1 - prob
      ans <- -quantile(returnVector, prob) * notional
      signif(ans, digits=digits)
    }

     投资组合,例如:

    > VaRhistorical(spxret11, notional=13e6)
        5% 
    330000

    损失期望值 

    EShistorical <- function(returnVector, prob=.05, 
        notional=1, digits=2) 
    {
     

    可以这样使用:

    > EShistorical(spxret11, notional=13e6)
    [1] 470000
    

    因此,风险价值为  330,000,损失期望值为 470,000。

    正态分布

    稍后会有一个更好的版本(从统计意义上来说),但是这是一种假设正态分布来获得“风险价值”的简单方法:

    用法如下:

    > VaRnormalEqwt(spxret11, notional=13e6)
    [1] 310000
    > VaRnormalEqwt(spxret11, notional=13e6, 
    +     expected.return=0)
    [1] 310000

    在这种情况下,计算损失期望值有点复杂,因为我们需要找到尾部的期望值。

    ESnormalEqwt <- function(returnVector, prob=.05, 
        notional=1, expected.return=mean(returnVector), 
        digits=2)
    {
    
    
    
    
      ans <- -tailExp * notional
      signif(ans, digits=digits)
     

    这个例子的结果是:

    > ESnormalEqwt(spxret11, notional=13e6)
    [1] 390000

    一个更好的办法是用指数平滑得到的波动性:

    VaRnormalExpsmo <- function(returnVector, prob=.05, 
         notional=1, expected.return=mean(returnVector), 
         lambda=.97, digits=2)
    {
    
    
    
      signif(ans, digits=digits)
     

    其中pp.exponential.smooth取自“指数衰减模型”

    > VaRnormalExpsmo(spxret11, notional=13e6)
    [1] 340000

    t分布

    VaRtExpsmo <- function(returnVector, prob=.05, 
        notional=1, lambda=.97, df=7, digits=2)
    {
      if(prob > .5) prob <- 1 - prob
     
    
    
     

    结果是:

     
    > VaRtExpsmo(spxret11, notional=13e6)
    2011-12-30 
        340000

    参考文献

    1.R语言基于ARMA-GARCH-VaR模型拟合和预测实证研究

    2.R语言时变参数VAR随机模型

    3.R语言时变参数VAR随机模型

    4.R语言基于ARMA-GARCH过程的VAR拟合和预测

    5.GARCH(1,1),MA以及历史模拟法的VaR比较

    6.R语言时变参数VAR随机模型

    7.R语言实现向量自动回归VAR模型

    8.R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型

    9.R语言VAR模型的不同类型的脉冲响应分析

    展开全文
  • 一种基于期望值的模糊多属性决策方法,戴兰,梁雪春,研究了决策者用模糊梯形语言变量来表示决策信息,能有效减少损失。并定义了模糊梯形语言变量的期望值,给出了它的一些性质。基于
  • 交叉熵损失函数证明

    万次阅读 2017-09-25 09:54:09
    对于单个样本而言,令为样本的期望输出,记为y;为样本的实际输出,记为y_hat,那么Logistic回归的损失函数就可以表示为: 而对于全体样本集的成本函数,就可以表示为: 与损失函数不同的是,它描述了在全体样本上...

    下面的损失函数是用于图像分类任务,对于单个样本而言,令 y y y为样本的期望输出, y ^ \hat{y} y^为样本的实际输出,那么Logistic回归的损失函数就可以表示为:

    L ( y ^ i , y i ) = − [ y i l o g ( y i ^ ) + ( 1 − y i ) l o g ( 1 − y i ^ ) ] L(\hat{y}_{i},y_{i}) = -[{y}_{i}log(\hat{y_{i}})+(1-{y}_{i})log(1-\hat{y_{i}})] L(y^i,yi)=[yilog(yi^)+(1yi)log(1yi^)]
    而对于全体样本集的成本函数,就可以表示为:

    J ( w , b ) = 1 m ∑ i = 1 m L ( y ^ i , y i ) = − 1 m ∑ i = 1 m [ y i l o g ( y i ^ ) + ( 1 − y i ) l o g ( 1 − y i ^ ) ] J(w,b) =\frac{1}{m}\sum_{i=1}^{m}L(\hat{y}_{i},y_{i})=-\frac{1}{m}\sum_{i=1}^{m}[{y}_{i}log(\hat{y_{i}})+(1-{y}_{i})log(1-\hat{y_{i}})] J(w,b)=m1i=1mL(y^i,yi)=m1i=1m[yilog(yi^)+(1yi)log(1yi^)]

    与损失函数不同的是,它描述了在全体样本集上,模型的参数 w w w b b b与优化目标之间的关系,在这两个公式中,成本函数其实是损失函数的平均值。

    那么我们先看一下对于损失函数而言,为什么它能发挥作用:

    如果期望输出 y = 1 y=1 y=1,那么优化目标为 m i n [ L ( y ^ i , y i ) ] = m i n [ − l o g ( y i ^ ) ] min[ L(\hat{y}_{i},y_{i})]=min[-log(\hat{y_{i}})] min[L(y^i,yi)]=min[log(yi^)],显然此时 y i ^ \hat{y_{i}} yi^越大,优化目标会得到最小值;
    如果期望输出 y = 0 y=0 y=0,那么优化目标为 m i n [ L ( y ^ i , y i ) ] = m i n [ − l o g ( 1 − y i ^ ) ] min[ L(\hat{y}_{i},y_{i})]=min[-log(1-\hat{y_{i}})] min[L(y^i,yi)]=min[log(1yi^)],显然此时 y i ^ \hat{y_{i}} yi^越小,优化目标会得到最小值;

    下面证明下这个损失函数是怎么来的:
    Logistic回归模型如下:
    y ^ = s i g m o i d ( w T x + b ) \hat{y}=sigmoid(w^{T}x+b) y^=sigmoid(wTx+b)
    s i g m o i d ( z ) = 1 1 + e − z sigmoid(z)=\frac{1}{1+e^{-z}} sigmoid(z)=1+ez1

    那么令 y ^ \hat{y} y^为给定 x x x的情况下 y = 1 y=1 y=1的概率:
    y ^ = p ( y = 1 ∣ x ) \hat{y}=p(y=1\mid x) y^=p(y=1x)

    那么则有:

    i f : y = 1 , p ( y ∣ x ) = y ^ if:y=1 , p(y\mid x)=\hat{y} if:y=1,p(yx)=y^
    i f : y = 0 , p ( y ∣ x ) = 1 − y ^ if:y=0 , p(y\mid x)=1-\hat{y} if:y=0,p(yx)=1y^

    由于是个二分类问题, y y y的值非1即0,那么合并上式就可得到:
    p ( y ∣ x ) = y ^ y ( 1 − y ^ ) ( 1 − y ) p(y\mid x) =\hat{y}^{y}(1-\hat{y})^{(1-y)} p(yx)=y^y(1y^)(1y)

    同时由于log函数是严格单调递增的函数,在机器学习中,我们往往不太关注log的底数到底是什么,甚至直接省略掉,所以出现了log的写法,但是在数学中这样写是错的。所以,为了后续求解方便,我们可以取对数,于是 p ( y ∣ x ) p(y\mid x) p(yx)等价于 l o g ( p ( y ∣ x ) ) log(p(y\mid x)) log(p(yx))
    l o g ( p ( y ∣ x ) ) = − [ y l o g ( y ^ ) + ( 1 − y ) l o g ( 1 − y ^ ) ] log(p(y\mid x)) = -[ylog(\hat{y})+(1-y)log(1-\hat{y})] log(p(yx))=[ylog(y^)+(1y)log(1y^)]

    而对于成本函数来说,他对于整个训练集优化 w w w b b b,所以就有了这个上面出现过的式子:

    J ( w , b ) = 1 m ∑ i = 1 m L ( y ^ i , y i ) = − 1 m ∑ i = 1 m [ y i l o g ( y ^ ) + ( 1 − y i ) l o g ( 1 − y ^ ) ] J(w,b) =\frac{1}{m}\sum_{i=1}^{m}L(\hat{y}_{i},y_{i})=-\frac{1}{m}\sum_{i=1}^{m}[{y}_{i}log(\hat{y})+(1-{y}_{i})log(1-\hat{y})] J(w,b)=m1i=1mL(y^i,yi)=m1i=1m[yilog(y^)+(1yi)log(1y^)]

    在这里其实是可以用最大似然估计的方法来求这个解的,但是在实际的优化中,我们往往直接使用梯度下降法。
    而这个损失函数,其实就是二值交叉熵,是一种交叉熵的特例。

    展开全文
  • 期望损失函数之所以难以理解是因为...它只是一个统计期望值的函数,而且是统计损失值的,不同于收益统计;因为结果未知,就好比玩德州扑克,还有最后一张牌没发,那你就思考这张牌给我带来的损失是多少,基于牌的每...

    期望损失函数之所以难以理解是因为定性思维认为它是一个损失函数;一是x固定的情况下,怎么还有这么多种可能;这好理解,多分类输出就是概率向量值,对应每个类别的概率;二是怎么没有真实样本的标签;因为这个函数根本就不是平常所理解的损失函数;它只是一个统计期望值的函数,而且是统计损失值的,不同于收益统计;因为结果未知,就好比玩德州扑克,还有最后一张牌没发,那你就思考这张牌给我带来的损失是多少,基于牌的每一种可能性做损失统计,同花顺,葫芦,同花,顺子等,每一种牌输的概率是多少,会损失多少筹码,然后计算个平均值;如下所示:

    从这里我也明白了,从风险最小化和收益最大化的角度来看,两个结果是不同的;一个是风险厌恶型的,一个是风险偏好型的;

     

    展开全文
  • 本文研究了一种多损失条件风险的双层规划模型, 对于多个损失函数和对应的权值水平, 在给定的置信水平下, 定义了不超过给定损失值的最小风险(即VaR)和对应的累积期望损失值(即CVaR损失值) 概念, 然后建立了一...
  • 交叉熵损失函数原理详解

    万次阅读 多人点赞 2019-08-30 10:28:42
    之前在代码中经常看见交叉熵损失函数(CrossEntropy Loss),只知道它是分类问题中经常使用的一种损失函数,对于其内部的原理总是模模糊糊,而且一般使用交叉熵作为损失函数时,在模型的输出层总会接一个softmax函数,...

    交叉熵损失函数原理详解

    之前在代码中经常看见交叉熵损失函数(CrossEntropy Loss),只知道它是分类问题中经常使用的一种损失函数,对于其内部的原理总是模模糊糊,而且一般使用交叉熵作为损失函数时,在模型的输出层总会接一个softmax函数,至于为什么要怎么做也是不懂,所以专门花了一些时间打算从原理入手,搞懂它,故在此写一篇博客进行总结,以便以后翻阅。


    交叉熵简介

    交叉熵是信息论中的一个重要概念,主要用于度量两个概率分布间的差异性,要理解交叉熵,需要先了解下面几个概念。


    信息量

    信息奠基人香农(Shannon)认为“信息是用来消除随机不确定性的东西”,也就是说衡量信息量的大小就是看这个信息消除不确定性的程度。

    “太阳从东边升起”,这条信息并没有减少不确定性,因为太阳肯定是从东边升起的,这是一句废话,信息量为0。

    ”2018年中国队成功进入世界杯“,从直觉上来看,这句话具有很大的信息量。因为中国队进入世界杯的不确定性因素很大,而这句话消除了进入世界杯的不确定性,所以按照定义,这句话的信息量很大。

    根据上述可总结如下:信息量的大小与信息发生的概率成反比。概率越大,信息量越小。概率越小,信息量越大。

    设某一事件发生的概率为P(x),其信息量表示为:
    I ( x ) = − log ⁡ ( P ( x ) ) I\left ( x \right ) = -\log\left ( P\left ( x \right ) \right ) I(x)=log(P(x))
    其中 I ( x ) I\left ( x \right ) I(x)表示信息量,这里 log ⁡ \log log表示以e为底的自然对数。


    信息熵

    信息熵也被称为熵,用来表示所有信息量的期望。

    期望是试验中每次可能结果的概率乘以其结果的总和。

    所以信息量的熵可表示为:(这里的 X X X是一个离散型随机变量)
    H ( X ) = − ∑ i = 1 n P ( x i ) log ⁡ ( P ( x i ) ) ) ( X = x 1 , x 2 , x 3 . . . , x n ) H\left ( \mathbf{X} \right ) = -\sum \limits_{i=1}^n P(x_{i}) \log \left ( P \left ( x_{i} \right ))) \qquad ( \mathbf{X}= x_{1},x_{2},x_{3}...,x_{n} \right) H(X)=i=1nP(xi)log(P(xi)))(X=x1,x2,x3...,xn)
    使用明天的天气概率来计算其信息熵:

    序号事件概率P信息量
    1明天是晴天0.5 − log ⁡ ( 0.5 ) -\log \left ( 0.5 \right ) log(0.5)
    2明天出雨天0.2 − log ⁡ ( 0.2 ) -\log \left ( 0.2 \right ) log(0.2)
    3多云0.3 − log ⁡ ( 0.3 ) -\log \left ( 0.3 \right ) log(0.3)

    H ( X ) = − ( 0.5 ∗ log ⁡ ( 0.5 ) + 0.2 ∗ log ⁡ ( 0.2 ) + 0.3 ∗ log ⁡ ( 0.3 ) ) H\left ( \mathbf{X} \right ) = -\left ( 0.5 * \log \left ( 0.5 \right ) + 0.2 * \log \left ( 0.2 \right ) + 0.3 * \log \left ( 0.3 \right ) \right) H(X)=(0.5log(0.5)+0.2log(0.2)+0.3log(0.3))

    对于0-1分布的问题,由于其结果只用两种情况,是或不是,设某一件事情发生的概率为 P ( x ) P\left ( x \right ) P(x),则另一件事情发生的概率为 1 − P ( x ) 1-P\left ( x \right ) 1P(x),所以对于0-1分布的问题,计算熵的公式可以简化如下:
    H ( X ) = − ∑ n = 1 n P ( x i log ⁡ ( P ( x i ) ) ) = − [ P ( x ) log ⁡ ( P ( x ) ) + ( 1 − P ( x ) ) log ⁡ ( 1 − P ( x ) ) ] = − P ( x ) log ⁡ ( P ( x ) ) − ( 1 − P ( x ) ) log ⁡ ( 1 − P ( x ) ) H\left ( \mathbf{X} \right ) = -\sum \limits_{n=1}^n P(x_{i}\log \left ( P \left ( x_{i} \right )) \right) \\ = -\left [ P\left ( x \right) \log \left ( P\left ( x \right ) \right ) + \left ( 1 - P\left ( x \right ) \right) \log \left ( 1-P\left ( x \right ) \right ) \right] \\ = -P\left ( x \right) \log \left ( P\left ( x \right ) \right ) - \left ( 1 - P\left ( x \right ) \right) \log \left ( 1-P\left ( x \right ) \right) H(X)=n=1nP(xilog(P(xi)))=[P(x)log(P(x))+(1P(x))log(1P(x))]=P(x)log(P(x))(1P(x))log(1P(x))


    相对熵(KL散度)

    如果对于同一个随机变量 X X X有两个单独的概率分布 P ( x ) P\left(x\right) P(x) Q ( x ) Q\left(x\right) Q(x),则我们可以使用KL散度来衡量这两个概率分布之间的差异

    下面直接列出公式,再举例子加以说明。
    D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) log ⁡ ( p ( x i ) q ( x i ) ) D_{KL}\left ( p || q \right) = \sum \limits_{i=1}^n p\left ( x_{i}\right ) \log \left ( \frac{p\left ( x_{i} \right )}{q\left ( x_{i} \right )} \right ) DKL(pq)=i=1np(xi)log(q(xi)p(xi))
    在机器学习中,常常使用 P ( x ) P\left(x\right) P(x)来表示样本的真实分布, Q ( x ) Q \left(x\right) Q(x)来表示模型所预测的分布,比如在一个三分类任务中(例如,猫狗马分类器), x 1 , x 2 , x 3 x_{1}, x_{2}, x_{3} x1,x2,x3分别代表猫,狗,马,例如一张猫的图片真实分布 P ( X ) = [ 1 , 0 , 0 ] P\left(X\right) = [1, 0, 0] P(X)=[1,0,0], 预测分布 Q ( X ) = [ 0.7 , 0.2 , 0.1 ] Q\left(X\right) = [0.7, 0.2, 0.1] Q(X)=[0.7,0.2,0.1],计算KL散度:
    D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) log ⁡ ( p ( x i ) q ( x i ) ) = p ( x 1 ) log ⁡ ( p ( x 1 ) q ( x 1 ) ) + p ( x 2 ) log ⁡ ( p ( x 2 ) q ( x 2 ) ) + p ( x 3 ) log ⁡ ( p ( x 3 ) q ( x 3 ) ) = 1 ∗ log ⁡ ( 1 0.7 ) = 0.36 D_{KL}\left ( p || q \right) = \sum \limits_{i=1}^n p\left ( x_{i}\right ) \log \left ( \frac{p\left ( x_{i} \right )}{q\left ( x_{i} \right )} \right ) \\ = p\left ( x_{1}\right ) \log \left ( \frac{p\left ( x_{1} \right )}{q\left ( x_{1} \right )} \right ) + p\left ( x_{2}\right ) \log \left ( \frac{p\left ( x_{2} \right )}{q\left ( x_{2} \right )} \right ) + p\left ( x_{3}\right ) \log \left ( \frac{p\left ( x_{3} \right )}{q\left ( x_{3} \right )} \right ) \\ = 1 * \log \left ( \frac{1}{0.7} \right ) = 0.36 DKL(pq)=i=1np(xi)log(q(xi)p(xi))=p(x1)log(q(x1)p(x1))+p(x2)log(q(x2)p(x2))+p(x3)log(q(x3)p(x3))=1log(0.71)=0.36
    KL散度越小,表示 P ( x ) P\left(x\right) P(x) Q ( x ) Q\left(x\right) Q(x)的分布更加接近,可以通过反复训练 Q ( x ) Q\left(x \right) Q(x)来使 Q ( x ) Q\left(x \right) Q(x)的分布逼近 P ( x ) P\left(x \right) P(x)


    交叉熵

    首先将KL散度公式拆开:
    D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) log ⁡ ( p ( x i ) q ( x i ) ) = ∑ i = 1 n p ( x i ) l o g ( p ( x i ) ) − ∑ i = 1 n p ( x i ) l o g ( q ( x i ) ) = − H ( p ( x ) ) + [ − ∑ i = 1 n p ( x i ) l o g ( q ( x i ) ) ] D_{KL}\left ( p || q \right) = \sum \limits_{i=1}^n p\left ( x_{i}\right ) \log \left ( \frac{p\left ( x_{i} \right )}{q\left ( x_{i} \right )} \right ) \\ = \sum \limits_{i=1}^n p \left (x_{i}\right) log \left(p \left (x_{i}\right)\right) - \sum \limits_{i=1}^n p \left (x_{i}\right) log \left(q \left (x_{i}\right)\right) \\ = -H \left (p \left(x \right) \right) + \left [-\sum \limits_{i=1}^n p \left (x_{i}\right) log \left(q \left (x_{i}\right)\right) \right] DKL(pq)=i=1np(xi)log(q(xi)p(xi))=i=1np(xi)log(p(xi))i=1np(xi)log(q(xi))=H(p(x))+[i=1np(xi)log(q(xi))]
    前者 H ( p ( x ) ) H \left (p \left (x \right)\right) H(p(x))表示信息熵,后者即为交叉熵,KL散度 = 交叉熵 - 信息熵

    交叉熵公式表示为:
    H ( p , q ) = − ∑ i = 1 n p ( x i ) l o g ( q ( x i ) ) H \left (p, q\right) = -\sum \limits_{i=1}^n p \left (x_{i}\right) log \left(q \left (x_{i}\right)\right) H(p,q)=i=1np(xi)log(q(xi))
    在机器学习训练网络时,输入数据与标签常常已经确定,那么真实概率分布 P ( x ) P\left(x \right) P(x)也就确定下来了,所以信息熵在这里就是一个常量。由于KL散度的值表示真实概率分布 P ( x ) P\left(x\right) P(x)与预测概率分布 Q ( x ) Q \left(x\right) Q(x)之间的差异,值越小表示预测的结果越好,所以需要最小化KL散度,而交叉熵等于KL散度加上一个常量(信息熵),且公式相比KL散度更加容易计算,所以在机器学习中常常使用交叉熵损失函数来计算loss就行了。


    交叉熵在单分类问题中的应用

    在线性回归问题中,常常使用MSE(Mean Squared Error)作为loss函数,而在分类问题中常常使用交叉熵作为loss函数。

    下面通过一个例子来说明如何计算交叉熵损失值。

    假设我们输入一张狗的图片,标签与预测值如下:

    *
    Label010
    Pred0.20.70.1

    那么loss
    l o s s = − ( 0 ∗ log ⁡ ( 0.2 ) + 1 ∗ log ⁡ ( 0.7 ) + 0 ∗ log ⁡ ( 0.1 ) ) = 0.36 loss = -\left ( 0 * \log \left ( 0.2 \right ) + 1 * \log \left ( 0.7 \right ) + 0 * \log \left ( 0.1 \right )\right) = 0.36 loss=(0log(0.2)+1log(0.7)+0log(0.1))=0.36
    一个batch的loss为
    l o s s = − 1 m ∑ i = 1 m ∑ j = 1 n p ( x i j ) l o g ( q ( x i j ) ) loss = -\frac{1}{m}\sum \limits_{i=1}^m \sum \limits_{j=1}^n p \left (x_{ij}\right) log \left(q \left (x_{ij}\right)\right) loss=m1i=1mj=1np(xij)log(q(xij))
    其中m表示样本个数。


    总结:

    • 交叉熵能够衡量同一个随机变量中的两个不同概率分布的差异程度,在机器学习中就表示为真实概率分布与预测概率分布之间的差异。交叉熵的值越小,模型预测效果就越好。

    • 交叉熵在分类问题中常常与softmax是标配,softmax将输出的结果进行处理,使其多个分类的预测值和为1,再通过交叉熵来计算损失。


    参考:

    https://blog.csdn.net/tsyccnh/article/details/79163834


    THE END

    展开全文
  • 经验风险就是模型f(X)在训练数据集上的平均损失(损失函数的),也称之为经验损失。 为什么叫经验风险呢?提供一个记忆的方法,由于训练数据集是我们已知的,那么就是我们的经验了,在训练集上的损失自然可以理解成...
  • 以输电阻塞损失期望值均衡为基础,使电力发电商与电力用户之间通过输电权期权交易,公平地承担输电阻塞引起的利益损失风险。同时,通过交易优化电力市场条件下电网潮流经济性流动,降低输电阻塞的发生。输电权期权交易的...
  • 损失函数

    千次阅读 2018-10-23 10:27:22
    机器学习模型关于单个样本的预测与真实的差称为损失损失越小,模型越好,如果预测与真实相等,就是没有损失。 用于计算损失的函数称为损失函数。模型每一次预测的好坏用损失函数来度量。 2. 损失函数 ...
  • 平方损失函数与交叉熵损失函数

    万次阅读 2018-05-07 15:21:43
    在机器学习中学习模型的参数是通过不断损失函数的来实现的。对于机器学习中常见的损失函数有:平方损失函数与交叉熵损失函数。在本文中将讲述两者含义与响应的运用区别。 2. 平方损失函数 平方损失函数较为...
  • Softmax函数: softmax用于多分类过程中,二分类一般是S型函数,S型函数可以看做是softmax函数的特殊形式! softmax的数学公式: 例子: ...假设数组v=[3,1,-3],则数组v中每个元素经过softmax()的...因为期望值与...
  • 损失函数(loss function),量化了分类器输出的结果(预测)和我们期望的结果(标签)之间的差距,这和分类器结构本身同样重要。有很多的学者花费心思探讨如何改良损失函数使得分类器的结果最优,因...
  • 损失函数比较

    千次阅读 2019-08-15 16:40:15
    损失函数(Loss Function)是用来评估模型好坏程度,即预测f(x)与真实的不一致程度,通常表示为L(Y, f(x))的一个非负的浮点数。比如你要做一个线性回归,你拟合出来的曲线不会和原始的数据分布是完全吻合(完全...
  • 深度神经网络中损失函数的选择

    千次阅读 2018-03-11 22:17:54
    损失函数是模型对数据拟合程度的反映,拟合的越差,损失函数的就应该越大,同时我们还期望损失函数在比较大时,它对应的梯度也要比较大,这样的话更新变量就可以更新的更快一点。事实上,我们对损失函数的也就两...
  • 交叉熵和损失函数

    千次阅读 2017-09-15 16:08:51
    熵,交叉熵和损失函数,在机器学习中,这些概念...熵熵作为一种测量信息量的一个度量,可以用意外程度的期望值来定义,其反应了系统的有序化程度。 假设一个事件发生的概率为p,则得知该消息的意外程度log2(12) log_{2
  • 损失函数和优化函数

    千次阅读 2019-06-20 21:38:38
    损失函数和优化函数的重要性: 深度神经网络中的的损失用来度量我们的模型得到的的预测值和...均方误差(Mean Square Error)函数计算的是预测值与真实值之差的期望值,可用于评价数据的变化程度,其得到的值越小,...
  • 随机性存储模型1; 特点需求是连续的 其概率或分布已知;...损失期望值表;问题 已知报童每天销售报纸数是离散随机变量;设每天订报量为Q需求量为r;若Q为每天最佳订报量;随机性存储模型报童问题(4;引例 每售出1千张可赢利
  • 交叉熵损失函数,梯度下降算法

    千次阅读 2020-09-08 17:23:07
    文章目录机器学习的三要素模型学习准则优化算法 机器学习的三要素 模型 模型就是一种映射。...损失函数有很多种,功能是衡量真实值和期望值的差异。 比如交叉熵损失函数 风险最小化准则 优化算法 ...
  • 理解熵,交叉熵和交叉熵损失

    千次阅读 2020-01-12 15:27:13
    交叉熵损失是深度学习中应用最广泛的损失函数之一,这个强大的损失函数是建立在交叉熵概念上的。当我开始使用这个损失函数时,我很难理解它背后的直觉。在google了不同材料后,我能够得到一个令人满意的理解,我想在...
  • 损失函数设计

    千次阅读 2020-05-27 15:14:06
    1.常见损失函数 1.1 平方损失函数 1.2 绝对值损失函数 1.3 Huber损失函数 1.4 Hinge损失函数 1.5 交叉熵损失函数 1.6 指数损失函数 2.不对称损失函数设计 3.面向容错的损失函数设计 4.评测指标不可导时的...
  • 几种损失函数比较

    千次阅读 2018-12-08 12:38:39
    损失函数(Loss Function)是用来评估模型好坏程度,即预测f(x)与真实的不一致程度,通常表示为L(Y, f(x))的一个非负的浮点数。比如你要做一个线性回归,你拟合出来的曲线不会和原始的数据分布是完全吻合(完全...
  • 常用损失函数

    千次阅读 2019-03-31 17:09:16
    自己随便乱粘的,自用 1、logloss对数损失函数 对数损失, 即对数似然损失(Log-...它常用于(multi-nominal, 多项)逻辑斯谛回归和神经网络,以及一些期望极大算法的变体. 可用于评估分类器的概率输出.  对数损...
  • 比如对于一个4分类问题,期望输出应该为 g0=[0,1,0,0] ,实际输出为 g1=[0.2,0.4,0.4,0] ,计算g1与g0之间的差异所使用的方法,就是损失函数,分类问题中常用损失函数是交叉熵。 交叉熵(cross entropy)描述的是两...
  • 系统学习深度学习(八)--损失函数

    万次阅读 2017-02-21 09:41:10
    在分类算法中,损失函数通常可以表示成损失项和正则项的和,即有如下的形式: 其中,L为损失项,R为正则项。mi的具体形式如下: 对于损失项,主要的形式有: 0-1损失 Log损失 Hinge损失 指数损失 感知...
  • 神经网络中的损失函数

    千次阅读 2019-11-07 13:00:22
    总览 这篇文章主要记录了对损失函数和目标函数的理解,然后介绍了两种较常用的损失函数:均方误差和交叉熵。...损失函数的作用是用来表示模型预测和训练样本之间的差异,我们的目的是通过降低...
  • 如何选择合适的损失函数

    千次阅读 2019-05-10 19:30:36
    损失函数是衡量预测模型预测期望结果表现的指标。寻找函数最小值的最常用方法是“梯度下降”。把损失函数想象成起伏的山脉,梯度下降就像从山顶滑下,目的是到达山脉的最低点。 没有一个损失函数可以适用于所有...
  • 用历史台风的损失记录作为样本来量化风险时,台风风险就是台风损失样本的平均值,它必等于由台风发生概率和易损性偶合估计出的损失期望值.当统计资料较少时,由于信息扩散模型能提高小样本的工作效率,消除用简单...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,257
精华内容 15,702
关键字:

损失期望值