精华内容
下载资源
问答
  • 在面试题中会出现介绍损失函数并且进行对比的情况,在这本书中提到了,就简单做下介绍,反正我是不能靠这个赚钱了,但是也是一种热爱,尽力了解吧,没有人指导怕是要放弃了,没有奢望。 一、意义? 如何帮助指导...


    前言

    在面试题中会出现介绍损失函数并且进行对比的情况,在这本书中提到了,就简单做下介绍,反正我是不能靠这个赚钱了,但是也是一种热爱,尽力了解吧,没有人指导怕是要放弃了,没有奢望。


    一、意义?

    如何帮助指导训练算法通过查看数据来选择正确的参数。

    二、均方误差损失

    mean squared error MSE
    预测值与目标值之差的平方的平均值
    解决回归问题,比如平均均方误差(MAE)和均方根误差(RMSE)

    三、分类交叉熵损失

    用于多类分类集,输出被解释为类成员概率的预测。
    真实多项分布与多项分布的预测进行比较衡量损失

    四、交叉熵损失

    利用二元概率向量和真值向量计算交叉熵损失。

    总结

    太烦了,让去校外上学,恶心,没心情了

    展开全文
  • 在上一篇 博客“损失函数——交叉熵损失函数(引子)”中为了更好的理解交叉熵应用,先引入了交叉熵损失函数,在这篇文章中,更详细的介绍交叉熵损失函数的应用。 交叉熵损失函数的形式 交叉熵损失函数的表示形式...

    在上一篇 博客“损失函数——交叉熵损失函数(引子)”中为了更好的理解交叉熵应用,先引入了交叉熵损失函数,在这篇文章中,更详细的介绍交叉熵损失函数的应用。

    交叉熵损失函数的形式

    交叉熵损失函数的表示形式如下所示:
    在这里插入图片描述
    其中t指的是标签,y指的是概率。
    具体举例来说:
    假设我们输入一张狗的图片,标签与预测值如下:
    在这里插入图片描述
    如下图所示就是神经网络的构成与计算步骤:
    其中上面公式中的y指的就是预测概率,也就是由softmax计算得来,softmax的计算公式
    在这里插入图片描述
    在这个例子中,具体由下面图中的softmax列的公式可以计算出每个分类的预测概率,也就是是表格中pred的计算由来。
    最后的label是标签的意思。标签为什么用0和1表示呢。因为我们输入的图片的是狗,所以狗的真实分类概率用1表示,与前篇博客推导的公式相对应的就是概率的意思,也就是p(x),对应的就是真实概率的意思
    在这里插入图片描述

    其他的就用概率0表示,引申的含义也可以理解为标签,故此这就是标签用0和1表示的由来。

    在这里插入图片描述
    由此可以进行损失函数的计算:
    在这里插入图片描述
    小伙伴们明白了吗,哪里不清楚的话可以留言为你解答~~~~~~~~~~~~~

    展开全文
  • 书: 基于深度学习的自然语言处理 Neural Network Methods...注:主要是在自然语言处理中经常和线性模型以及神经网络一起使用的损失函数。 1. hinge损失函数 二分类:间隔损失或支持向量机损失 表示: Lhi...
    • 书:
      • 基于深度学习的自然语言处理
      • Neural Network Methods for Natural Language Processing
    • 作者:Yoav Goldberg
    • 出版社:机械工业出版社
    • 章节:2.7 训练和最优化

    优化目标

    优化目标包括两部分:损失函数和正则项。
    损失函数用于衡量预测值与实际值的差距(更好地拟合),正则项用于控制参数值的复杂度(避免过拟合)。
    优 化 目 标 = 最 小 化 ( 损 失 函 数 + λ 正 则 项 ) 优化目标=最小化(损失函数+\lambda正则项) =+λ
    其中, λ \lambda λ用于控制正则化的程度。

    损失函数

    注:主要是在自然语言处理中经常和线性模型以及神经网络一起使用的损失函数。

    1. hinge损失函数

    二分类:间隔损失、SVM损失

    • 损失函数:
      L h i n g e ( b i n a r y ) ( y ~ , y ) = m a x ( 0 , 1 − y ⋅ y ~ ) L_{hinge(binary)}(\widetilde{y},y)=max(0, 1-y\cdot\widetilde{y}) Lhinge(binary)(y ,y)=max(0,1yy )
      分类规则为:
      p r e d i c t i o n = y ^ = s i g n ( y ~ ) prediction=\hat{y}=sign(\widetilde{y}) prediction=y^=sign(y )
      其中, y y y是正确的类别(1或-1), y ~ \widetilde{y} y 是分类器的计算结果, y ^ \hat{y} y^是分类器的输出。
    • 目标:
      • 得到一个间隔至少是1的正确分类

    多分类

    • 损失函数:
      L h i n g e ( m u l t i − c l a s s ) ( y ^ , y ) = m a x ( 0 , 1 − ( y ^ [ t ] − y ^ [ k ] ) ) L_{hinge(multi-class)}(\hat{\mathbf{y}},\mathbf{y})=max(0,1-(\hat{\mathbf{y}}_{[t]}-\hat{\mathbf{y}}_{[k]})) Lhinge(multiclass)(y^,y)=max(0,1(y^[t]y^[k]))
      分类规则为选择分数最高的类别:
      p r e d i c t i o n = arg ⁡ max ⁡ i   y ^ [ i ] prediction=\mathop{\arg\max}_{i}\ \hat{\mathbf{y}}_{[i]} prediction=argmaxi y^[i]
      其中, y y y是正确类别的独热向量, y ^ \hat{y} y^是模型的输出向量( y ^ = y ^ [ 1 ] , y ^ [ 2 ] , … , y ^ [ n ] \hat{\mathbf{y}}=\hat{\mathbf{y}}_{[1]},\hat{\mathbf{y}}_{[2]},\dots,\hat{\mathbf{y}}_{[n]} y^=y^[1],y^[2],,y^[n]), y ^ [ t ] \hat{\mathbf{y}}_{[t]} y^[t]为正确类别 t t t对应的分数, y ^ [ k ] \hat{\mathbf{y}}_{[k]} y^[k]最高分类别 k k k的分数。
    • 目标:
      • 使正确类别的得分比其他类别至少高出1。

    评价

    • 可用于线性输出
    • 适用于当需要一个严格的决策规则,而不需要建模类别成员概率的情况

    2. 对数(log)损失函数

    • 损失函数:
      L l o g ( y ^ , y ) = l o g ( 1 + e x p ( − ( y ^ [ t ] − y ^ [ k ] ) L_{log}(\hat{\mathbf{y}},\mathbf{y})=log(1+exp(-(\hat{\mathbf{y}}_{[t]}-\hat{\mathbf{y}}_{[k]}) Llog(y^,y)=log(1+exp((y^[t]y^[k])
      符号含义同多分类hinge。

    评价

    • 是hinge损失的常用变形
    • 可以看作hinge损失的平缓版本,具有无限大的间隔

    3. 交叉熵

    二分类:二元交叉熵损失、logistic损失

    • 损失函数:
      L l o g i s t i c ( y ^ , y ) = − y l o g y ^ − ( 1 − y ) l o g ( 1 − y ^ ) L_{logistic}(\hat{y},y)=-ylog\hat{y}-(1-y)log(1-\hat{y}) Llogistic(y^,y)=ylogy^(1y)log(1y^)
      分类规则:
      p r e d i c t i o n = { 0 y ^ &lt; 0.5 1 y ^ ≥ 0.5 prediction= \begin{cases} 0 &amp; \hat{y}&lt;0.5 \\ 1 &amp; \hat{y}\ge0.5 \end{cases} prediction={01y^<0.5y^0.5
      其中, y y y是正确的类别(0或1), y ^ \hat{y} y^是模型的输出 y ~ \widetilde{y} y 经过变换的结果( y ^ = s i g m o d ( y ~ ) = P ( y = 1 ∣ x ) ) \hat{y}=sigmod(\widetilde{y})=P(y=1|x)) y^=sigmod(y )=P(y=1x)),即 y ^ \hat{y} y^为样本为1的概率。

    多分类:分类交叉熵损失、负对数似然损失

    • 损失函数:
      L c r o s s − e n t r o p y ( y ^ , y ) = − ∑ i y [ i ] l o g ( y ^ [ i ] ) L_{cross-entropy}(\hat{\mathbf{y}},\mathbf{y})=-\sum_i\mathbf{y}_{[i]}log(\hat{\mathbf{y}}_{[i]}) Lcrossentropy(y^,y)=iy[i]log(y^[i])
      其中, y \mathbf{y} y是正确类别分布向量( y = y [ 1 ] , y [ 2 ] , … , y [ n ] \mathbf{y}=\mathbf{y}_{[1]},\mathbf{y}_{[2]},\dots,\mathbf{y}_{[n]} y=y[1],y[2],,y[n]), y ^ \hat{\mathbf{y}} y^是经过softmax转换的模型(线性分类器)输出向量( y ^ = y ^ [ 1 ] , y ^ [ 2 ] , … , y ^ [ n ] , y ^ [ i ] = P ( y = i ∣ x ) ) \hat{\mathbf{y}}=\hat{\mathbf{y}}_{[1]},\hat{\mathbf{y}}_{[2]},\dots,\hat{\mathbf{y}}_{[n]},\hat{\mathbf{y}}_{[i]}=P(y=i|x)) y^=y^[1],y^[2],,y^[n]y^[i]=P(y=ix))
    • 简化版:
      • 对于训练样本有且只有一个正确的类别这类严格的分类问题来说, y y y是一个代表正确类别的独热向量:
        L c r o s s − e n t r o p y ( h a r d   c l a s s i f i c a t i o n ) ( y ^ , y ) = − log ⁡ ( y ^ [ t ] ) L_{cross-entropy(hard\ classification)}(\hat{\mathbf{y}},\mathbf{y})=-\log(\hat{\mathbf{y}}_{[t]}) Lcrossentropy(hard classification)(y^,y)=log(y^[t])
        其中, t t t是正确的类别。
    • 目标:
      • (正常版)最小化正确类别分布 y y y与预测类别分布 y ^ \hat{y} y^之间的相异度
      • (简化版)使正确类别的概率最大

    评价

    • 常见于对数线性模型和神经网络文献中
    • 用于构造一个不仅可以预测最好类别也可以预测可能类别分布的多分类器

    4. 等级损失

    注:还没整明白

    margin

    • 损失函数:
      L r a n k i n g ( m a r g i n ) ( x , x ′ ) = m a x ( 0 , 1 − ( f ( x ) − f ( x ′ ) ) ) L_{ranking(margin)}(\mathbf{x},\mathbf{x}&#x27;)=max(0,1-(f(\mathbf{x})-f(\mathbf{x}&#x27;))) Lranking(margin)(x,x)=max(0,1(f(x)f(x)))

    log

    • 损失函数:
      L r a n k i n g ( l o g ) ( x , x ′ ) = l o g ( 1 + e x p ( − f ( x ) − f ( x ′ ) ) ) ) L_{ranking(log)}(\mathbf{x},\mathbf{x}&#x27;)=log(1+exp(-f(\mathbf{x})-f(\mathbf{x}&#x27;)))) Lranking(log)(x,x)=log(1+exp(f(x)f(x))))

    正则项

    1. L 2 L_2 L2正则项:高斯先验、Ridge

    • 表示:
      R L 2 ( W ) = ∣ ∣ W ∣ ∣ 2 2 = ∑ i , j ( W [ i , j ] ) 2 R_{L_2}(\mathbf{W})=||\mathbf{W}||_2^2=\sum_{i,j}(\mathbf{W}_{[i,j]})^2 RL2(W)=W22=i,j(W[i,j])2
    • 目标:
      • 保证参数的平方和足够小,即让所有特征的比重都缩小
    • 特点:
      • 一旦参数值足够接近于0, L 2 L_2 L2正则化的作用几乎可以忽略不计
      • 把10个参数都减少0.1 v . s . v.s. v.s. 把一个参数减少1: L 2 L_2 L2正则化会选择后者

    2. L 1 L_1 L1正则项:稀疏先验、Lasso

    • 表示:
      R L 1 ( W ) = ∣ ∣ W ∣ ∣ 1 = ∑ i , j ∣ W [ i , j ] ∣ R_{L_1}(\mathbf{W})=||\mathbf{W}||_1=\sum_{i,j}|\mathbf{W}_{[i,j]}| RL1(W)=W1=i,jW[i,j]
    • 目标:
      • 保证参数值的绝对值和足够小,即让一部分特征的比重减少到0(特征选择)
    • 特点:
      • 偏向把所有非零参数减少到0

    3. 弹性网络

    • 表示:
      R e l a s t i c − n e t ( W ) = λ 1 R L 1 ( W ) + λ 2 R L 2 ( W ) R_{elastic-net}(\mathbf{W})=\lambda_1R_{L_1}(\mathbf{W})+\lambda_2R_{L_2}(\mathbf{W}) Relasticnet(W)=λ1RL1(W)+λ2RL2(W)
    • 目标:
      • 得到少量非零参数
    • 特点:
      • 组合了 L 1 L_1 L1正则和 L 2 L_2 L2正则
    展开全文
  •   本文将给出NLP任务中一些常见的损失函数(Loss Function),并使用Keras、PyTorch给出具体例子,最后再介绍标签平滑技术(Label Smoothing)。   本文将介绍的损失函数如下: Mean Squared Error(均方差损失...

      本文将给出NLP任务中一些常见的损失函数(Loss Function),并使用Keras、PyTorch给出具体例子。
      在讲解具体的损失函数之前,我们有必要了解下什么是损失函数。所谓损失函数,指的是衡量模型预测值y真实标签Y之间的差距的函数。本文将介绍的损失函数如下:

    • Mean Squared Error(均方差损失函数)
    • Mean Absolute Error(绝对值损失函数)
    • Binary Cross Entropy(二元交叉熵损失函数)
    • Categorical Cross Entropy(多分类交叉熵损失函数)
    • Sparse Categorical Cross Entropy(稀疏多分类交叉熵损失函数)
    • Hingle Loss(合页损失函数)

      以下将分别介绍上述损失函数,并介绍Keras和PyTorch中的例子。在此之前,我们分别导入Keras所需模块和PyTorch所需模块。Keras所需模块如下:
    导入Keras相关模块
    PyTorch所需模块如下:
    PyTorch所需模块
    从导入模块来看,PyTorch更加简洁,在后面的部分中我们将持续比较这两种框架的差异。

    Mean Squared Error

      Mean Squared Error(MSE)为均方差损失函数,一般用于回归问题。我们用 y ~ i \widetilde{y}_{i} y i表示样本预测值序列 { y ~ 1 , y ~ 2 , . . . , y ~ n } \{\widetilde{y}_{1}, \widetilde{y}_{2},...,\widetilde{y}_{n}\} {y 1,y 2,...,y n}中的第i个元素,用 y i y_{i} yi表示样本真实值序列 { y 1 , y 2 , . . . , y n } \{y_{1}, y_{2},...,y_{n}\} {y1,y2,...,yn}中的第i个元素,则均方差损失函数MSE的计算公式如下:

    M S E = 1 n ∑ i = 1 n ( y ~ i − y i ) 2 MSE=\frac{1}{n}\sum_{i=1}^n(\widetilde{y}_{i}-y_{i})^{2} MSE=n1i=1n(y iyi)2

      Keras实现代码如下:
    Keras MSE

      PyTorch实现代码如下:
    PyTorch MSE

    Mean Absolute Error

      Mean Absolute Error(MAE)为绝对值损失函数,一般用于回归问题。我们用 y ~ i \widetilde{y}_{i} y i表示样本预测值序列 { y ~ 1 , y ~ 2 , . . . , y ~ n } \{\widetilde{y}_{1}, \widetilde{y}_{2},...,\widetilde{y}_{n}\} {y 1,y 2,...,y n}中的第i个元素,用 y i y_{i} yi表示样本真实值序列 { y 1 , y 2 , . . . , y n } \{y_{1}, y_{2},...,y_{n}\} {y1,y2,...,yn}中的第i个元素,则绝对值损失函数MAE的计算公式如下:

    M A E = 1 n ∑ i = 1 n ∣ y ~ i − y i ∣ MAE=\frac{1}{n}\sum_{i=1}^n|\widetilde{y}_{i}-y_{i}| MAE=n1i=1ny iyi

      Keras实现代码如下:
    Keras MAE
      PyTorch实现代码如下:
    PyTorch MAE
    注意,在PyTorch中L1Loss中的L1表示为L1范数,即通常所说的绝对值,绝对值函数 ∣ x ∣ |x| x处处连续,但在x=0处不可导。

    Binary Cross Entropy

      Binary Cross Entropy(BCE)为二元交叉熵损失函数,一般用于二分类问题。我们用Y表示样本真实标签序列(每个值为0或者1),用 Y ˉ \bar{Y} Yˉ表示样本预测标签序列(每个值为0-1之间的值),则BCE计算公式如下:

    B C E = Y ⋅ ( − l o g ( Y ˉ ) ) + ( 1 − Y ) ⋅ ( − l o g ( 1 − Y ˉ ) ) BCE=Y \cdot (-log(\bar{Y}))+(1-Y) \cdot (-log(1-\bar{Y})) BCE=Y(log(Yˉ))+(1Y)(log(1Yˉ))

    我们不在讲解具体的计算公式,如需具体的计算方式,可以参考文章Sklearn中二分类问题的交叉熵计算

      Keras实现代码如下:
    Keras BCE
      PyTorch实现代码如下:
    PyTorch BCE
    从上面的结果中可以看到Keras和PyTorch在实现BCE损失函数的差异,给定样本,Keras给出了每个样本的BCE,而PyTorch给出了所有样本BCE的平均值。更大的差异体现在多分类交叉熵损失函数

    Categorical Cross Entropy

      Categorical Cross Entropy(CCE)为多分类交叉熵损失函数,是BCE(二分类交叉熵损失函数)扩充至多分类情形时的损失函数。多分类交叉熵损失函数的数学公式如下:

    C C E = − 1 N ∑ i = 1 N ∑ c = 1 C 1 y i ∈ C c l o g ( p m o d e l [ y i ∈ C c ] ) CCE=-\frac{1}{N}\sum_{i=1}^{N}\sum_{c=1}^{C}1_{y_{i}\in C_{c}}log(p_{model}[y_{i}\in C_{c}]) CCE=N1i=1Nc=1C1yiCclog(pmodel[yiCc])

    其中N为样本数,C为类别数, 1 y i ∈ C c 1_{y_{i}\in C_{c}} 1yiCc表示第i个样本属于第c个类别的值(0或1), p m o d e l [ y i ∈ C c ] p_{model}[y_{i}\in C_{c}] pmodel[yiCc]表示模型预测的第i个样本属于第c个类别的概率值(0-1之间)。如需查看具体的计算方式,可以参考文章多分类问题的交叉熵计算
      Keras实现代码如下:
    Keras CCE
      PyTorch中的CCE采用稀疏多分类交叉熵损失函数实现,因此直接查看稀疏多分类交叉熵损失函数部分即可。

    Sparse Categorical Cross Entropy

      Sparse Categorical Cross Entropy(稀疏多分类交叉熵损失函数,SCCE)原理上和多分类交叉熵损失函数(CCE)一致,属于多分类问题的损失函数,不同之处在于多分类交叉熵损失函数中的真实样本值用one-hot向量来表示,其下标i为1,其余为0,表示属于第i个类别;而稀疏多分类交叉熵损失函数中真实样本直接用数字i表示,表示属于第i个类别。
      Keras实现代码如下:
    Keras SCCE
    例子中一共四个样本,它们的真实样本标签为[2,2,0,1],不是one-hot向量。
      PyTorch中的SCCE实现代码与上述数学公式不太一致,有些微改动。我们先看例子如下:
    PyTorch SCCE
    这明显与Keras实现代码是不一致的。要解释这种差别,我们就要详细了解PyTorch是如何实现CCE损失函数的。
      简单来说,PyTorch中的输入中的样本预测,不是softmax函数作用后的预测概率,而是softmax函数作用前的值。对该值分别用softmax函数、log函数、NLLLoss()函数作用就是PyTorch计算SCCE的方式。
      在上面的例子中,y_pred_tmp是softmax函数作用前的值,是PyTorch计算SCCE的预测样本的输入,y_pred是softmax函数作用后的值,是sklearn模块、Keras计算SCCE的预测样本的输入。对y_pred_tmp、y_true使用softmax函数、log函数所得到的结果,与y_pred、y_true使用sklearn模块、Keras计算SCCE的结果一致,而对该结算结果再作用NLLLoss(),就是PyTorch计算SCCE的方式。
      也许上面的解释还有点模糊,我们借助知乎上别人给出的一个例子也许能更好地理解PyTorch计算SCCE的方式,代码如下:

    # -*- coding: utf-8 -*-
    import torch
    import torch.nn as nn
    x_input = torch.randn(3, 3)   # 随机生成输入
    print('x_input:\n', x_input)
    y_target = torch.tensor([1, 2, 0])    # 设置输出具体值 print('y_target\n',y_target)
    
    # 计算输入softmax,此时可以看到每一行加到一起结果都是1
    softmax_func = nn.Softmax(dim=1)
    soft_output = softmax_func(x_input)
    print('soft_output:\n', soft_output)
    
    # 在softmax的基础上取log
    log_output = torch.log(soft_output)
    print('log_output:\n', log_output)
    
    # 对比softmax与log的结合与nn.LogSoftmaxloss(负对数似然损失)的输出结果,发现两者是一致的。
    logsoftmax_func = nn.LogSoftmax(dim=1)
    logsoftmax_output = logsoftmax_func(x_input)
    print('logsoftmax_output:\n', logsoftmax_output)
    
    # pytorch中关于NLLLoss的默认参数配置为:reducetion=True、size_average=True
    nllloss_func = nn.NLLLoss()
    nlloss_output = nllloss_func(logsoftmax_output, y_target)
    print('nlloss_output:\n', nlloss_output)
    
    # 直接使用pytorch中的loss_func=nn.CrossEntropyLoss()看与经过NLLLoss的计算是不是一样
    crossentropyloss = nn.CrossEntropyLoss()
    crossentropyloss_output = crossentropyloss(x_input, y_target)
    print('crossentropyloss_output:\n', crossentropyloss_output)
    

    输出结果如下:

    x_input:
     tensor([[ 0.1286,  1.1363,  0.5676],
            [ 1.0740, -0.7359, -0.6731],
            [ 0.7915, -0.8525, -1.2906]])
    soft_output:
     tensor([[0.1890, 0.5178, 0.2932],
            [0.7474, 0.1223, 0.1303],
            [0.7588, 0.1466, 0.0946]])
    log_output:
     tensor([[-1.6659, -0.6582, -1.2269],
            [-0.2911, -2.1011, -2.0382],
            [-0.2760, -1.9200, -2.3581]])
    logsoftmax_output:
     tensor([[-1.6659, -0.6582, -1.2269],
            [-0.2911, -2.1011, -2.0382],
            [-0.2760, -1.9200, -2.3581]])
    nlloss_output:
     tensor(0.9908)
    crossentropyloss_output:
     tensor(0.9908)
    

    Hingle Loss

      Hingle Loss为合页损失函数,常用于分类问题。合页损失函数不仅要分类正确,而且确信度足够高时损失才是0,也就是说,合页损失函数对学习有更高的要求。一个常见的例子为SVM,其数学公式如下:

    H i n g l e L o s s = m a x ( 0 , 1 − y ⋅ y ~ ) Hingle Loss=max(0, 1-y \cdot \widetilde{y}) HingleLoss=max(0,1yy )

    其中 y y y为真实标签, y ~ \widetilde{y} y 为预测标签。

      Keras实现代码如下:

    Keras Hingle Loss
      PyTorch中没有专门的Hingle Loss实现函数,不过我们可以很轻松地自己实现,代码如下:
    PyTorch Hingle Loss

    总结

      本文介绍了NLP任务中一些常见的损失函数(Loss Function),并使用Keras、PyTorch给出具体例子。
      本文代码已上传至Github,地址为:https://github.com/percent4/deep_learning_miscellaneous/tree/master/loss_function
      2021年4月24日于上海浦东,此日惠风和畅~

    参考网址

    1. How To Build Custom Loss Functions In Keras For Any Use Case:https://cnvrg.io/keras-custom-loss-functions/
    2. Pytorch常用的交叉熵损失函数CrossEntropyLoss()详解:https://zhuanlan.zhihu.com/p/98785902
    展开全文
  • 在上一篇博客中“损失函数——交叉熵由来”介绍了交叉熵的由来,在这边博客中我将为大家介绍交叉熵损失函数的应用。 损失函数可以理解为目标函数,为了更容易的理解交叉熵损失函数,我先介绍最小二乘目标函数。 最小...
  • 通常来说,对于分类(包括多分类),我们都会采用交叉熵作为损失函数,它的来源就是最大似然估计(参考《梯度下降和EM算法:系出同源,一脉相承》)。但是,我们最后的评估目标,并非要看交叉熵有多小,而是看模型的...
  • 损失函数

    2016-10-23 13:11:25
    1. 机器学习中都有哪些损失函数 2, 这些损失函数的应用场景 比如:Ranking 经常用的最大间隔损失函数  分类一般以交叉熵作为损失函数 http://blog.csdn.net/heyongluoyao8/article/details/52462400 ...
  • 常见损失函数总结 loss一般是正的,而且越小越好。 0-1 loss / abs loss 应用场景:回归问题 0-1 loss:只要预测值和标签不相等,就loss+=1;或者预测值q和标签p之间的差值大于阈值t,就loss+=1.或者套用其他的非...
  • 交叉熵损失函数

    2020-05-13 08:21:10
    交叉熵损失函数是用来衡量神经网络的预测值与实际值的一种方式。与均方差损失函数相比,它能更有效地促进网络的训练 为什么很少用MSE(均方误差作为损失函数) 预测数据和原始数据对应点误差的平方和的均值,n为...
  • 本文分为三个部分,第一个部分主要介绍一下在分类问题中为什么用交叉熵作为损失函数,第二部分主要介绍一下在交叉熵的基础上的一些改进的损失函数,最后使用上述的几种损失函数在 CLUENER 细...
  • 常见损失函数总结

    2020-03-29 00:06:02
    常见损失函数 损失函数: 用来评价模型的预测值和真实值不一致的程度,损失函数越好,通常模型的性能越好。不同的模型用的损失函数一般也不一样。 0-1损失函数(zero-one loss) 公式:L(Y,f(X))={1Y=f(X)0Y≠f(X)L...
  • 在 http://cs224d.stanford.edu/assignment1/assignment1.pdf 中对下面一题的探索 答案在 https://blog.csdn.net/longxinchen_ml/article/details/51765418 答案是 答案的解释是在 ...
  • 拟合过程中,函数给出每个样本的预测值,可能与真实值偏大或者偏小,这时我们需要利用损失函数L(Yp,f(x)),来判断拟合的好坏。我们的目的就是让此函数值(即损失值)最小。 但是不能是只针对某一个样本函数值最小,...
  • 我主要分三篇文章给大家介绍tensorflow的损失函数,本篇为tensorflow自定义损失函数。 (一)tensorflow内置...
  • 常见损失函数和评价指标总结

    千次阅读 2020-01-24 11:36:53
    本文为你总结常见损失函数和评价指标。 注:本文采用markdown进行编写,用markdown打开可得更佳展示效果~ ## 1. 损失函数: ### 1.1 回归问题: #### 1. 平方损失函数(最小二乘法): $$L(Y,f(x)) = \sum_{i=...
  • 神经网络的交叉熵损失函数

    千次阅读 2017-07-04 18:07:16
    常见损失函数 0-1损失函数 L(Y,f(X))={1,0Y != f(X)Y = f(X)L(Y,f(X))=\begin{cases}1,& \text{Y != f(X)}\\0& \text{Y = f(X)}\end{cases} 平方损失函数 L(Y,f(X))=(Y−f(X))2L(Y,f(X))=(Y-f(X))^{2} 绝对损失...
  • 深度学习中的激活函数、损失函数、优化算法DL小将激活函数sigmoidtanhrelugelusoftmax损失函数分类问题常用的损失函数回归问题常用的损失函数优化算法随机梯度下降SGDAdam牛顿法 DL小将 本文对深度学习中的激活函数...
  • 关于激活函数和损失函数的调研1) 激活函数(Activation Function)背景Sigmoid函数dProscons适用场景tanh函数dProscons适用场景Relu函数dProscons适用场景Leaky Relu函数(PReLu)f(x)=max(0.01x,x)Proscons适用...
  • 点击上方,选择星标或置顶,每天给你送干货!阅读大概需要7分钟跟随小博主,每天进步一丢丢机器学习算法与自然语言处理出品@公众号原创专栏作者yyHaker单位 |哈工大SCIR实验室损失...
  • 激活函数 损失函数 优化器

    千次阅读 2018-10-10 09:29:37
    均方差损失函数+Sigmoid的反向传播算法中,每一层向前递推都要乘以σ′(z)(激活函数的导数),得到梯度变化值。Sigmoid的这个曲线意味着在大多数时候,我们的梯度变化值很小,导致我们的W,b更新到极值的速度较慢,也...
  • 最近在学习自然语言处理,其中大量模型涉及到了用softmax层作为输出,再用交叉熵(cross-entropy loss)作为损失函数。 在此回忆一下交叉熵损失函数,并从3个方面: 为了解决sigmoid激活函数的问题 从极大似然估计...
  • 这是前向学习的内容,我们知道深度学习需要定义损失函数来进行反向传播,更新梯度。对于序列标注的模型,如何定义损失函数呢? 我们可以使用CRF损失函数学习模型参数。在这里维特比解码要解决的问题是对于一个新的...
  • 激活函数将线性的计算进行了非线性的处理 线性激活函数 输入什么输出什么,一般在网络最后一层使用 线性转换即使是经过多次转换,因为它没有对输入进行任何操作,所以这种激活函数使用1个和使用N个效果一样 ...
  • 也希望能分享给大家一些重点,这本书的作者是Yoav Goldberg,曾任EMNLP、EACL会议领域主席,而这本书也有中文版叫做《基于深度学习的自然语言处理》,由车万翔、郭江等哈工大顶尖教授与学者翻译,目标是对于深度学习...
  • sklearn基于make_scorer函数构建自定义损失函数或者评估指标 # 导入需要的包和库 # Load libraries from sklearn.metrics import make_scorer, r2_score from sklearn.model_selection import train_test_...
  • 最全的损失函数汇总

    千次阅读 2020-06-25 00:12:29
    编辑:深度学习自然语言处理 链接: https://blog.csdn.net/shanglianlm/article/details/85019768 tensorflow和pytorch很多都是相似的,这里以pytorch为例。 **19种损失函数 ** 1. L1范数损失 L1Loss 计算 output ...
  • 常见损失函数总结(一)

    千次阅读 2019-05-18 23:48:30
    在介绍常见损失函数之前,我想先就选择损失函数的意义做一下探讨,我认为损失函数应该从两个方面去进行考量: (1) 如果损失函数达到最优了,在多大程度上可以认为模型的性能是非常好的?这点是最基本的要求,如果...
  • 机器学习中的损失函数

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,776
精华内容 12,310
关键字:

nlp的损失函数