Questions tagged «loss-functions»

用于根据模型量化观察数据和预测值之间差异的函数。损失函数的最小化是一种估计模型参数的方法。

2
为什么不使用梯度下降优化k均值?
我知道k-均值通常使用优化的期望最大化。但是,我们可以像优化其他任何函数一样优化其损失函数! 我发现一些论文实际上对大型k均值使用随机梯度下降法,但是我的问题无法得到解答。 那么,有人知道为什么吗?是因为期望最大化收敛得更快了吗?是否有任何特别的保证吗?还是历史原因?

1
偏差方差分解
在Bishop的模式识别和机器学习的 3.2节中,他讨论了偏差方差分解,指出对于平方损失函数,预期损失可以分解为平方偏差项(它描述了平均预测与真实预测之间的距离。模型),方差项(描述了平均值周围的预测范围)和噪声项(给出了数据的固有噪声)。 可以使用除平方损失以外的损失函数执行偏差方差分解吗? 对于给定的模型数据集,是否有多个模型的预期损失在所有模型中均是最小的,如果是这样,是否意味着可能会有不同的偏差和方差组合产生相同的最小预期损失? 如果模型涉及正则化,则偏差,方差和正则化系数之间是否存在数学关系?λλ\lambda 如果您不知道真实的模型,如何计算偏差? 在某些情况下,将偏差或方差最小化而不是预期损失(偏差和方差的平方和)更有意义吗?

1
为什么朴素贝叶斯分类器最适合0-1损失?
朴素贝叶斯分类器是基于最大化类成员资格的后验P (C | x )将项分配给类C的分类器,并假定项的特征是独立的。xxxCCCP(C|x)P(C|x)P(C|x) 0-1损失是指将任何未分​​类归类为“ 1”的损失,并将任何正确分类为“ 0”的损失。 我经常读(1),“朴素贝叶斯”分类器对于0-1损失是最佳的。为什么会这样呢? (1)一个示例性来源:贝叶斯分类器和贝叶斯误差

2
带有嘈杂标签的分类?
我正在尝试训练神经网络进行分类,但是我拥有的标签比较吵(大约30%的标签是错误的)。 交叉熵损失确实有效,但是我想知道在这种情况下是否有其他方法更有效?还是交叉熵损失最优? 我不确定,但是我正在考虑某种程度地“减少”交叉熵损失,这样一个数据点的损失将不大于某个上限,这行得通吗? 谢谢! 更新 根据卢卡斯的答案,我得到了预测输出和softmax函数z的输入的导数。所以我想基本上是在增加一个平滑项3ÿyyžzz为导数。p我=0.3/Ñ+0.7Ŷ我升=-Σ吨我登录(p我)∂升37 N37N\frac{3}{7N} p一世= 0.3 /牛+ 0.7 ÿ一世pi=0.3/N+0.7yip_i=0.3/N+0.7y_i l = − ∑ t一世日志(p一世)l=−∑tilog⁡(pi)l=-\sum t_i\log(p_i) ∂升∂升∂ÿ一世= - 吨一世∂日志(p一世)∂p一世∂p一世∂ÿ一世= - 0.7 吨一世p一世= - 吨一世37 N+ y一世∂l∂yi=−ti∂log⁡(pi)∂pi∂pi∂yi=−0.7tipi=−ti37N+yi\frac{\partial l}{\partial y_i}=-t_i\frac{\partial\log(p_i)}{\partial p_i}\frac{\partial p_i}{\partial y_i}=-0.7\frac{t_i}{p_i}=-\frac{t_i}{\frac{3}{7N}+y_i} 衍生物为原交叉熵损失: ∂升∂升∂ž一世= 0.7 ∑ĴŤĴpĴ∂ÿĴ∂ž一世= y一世∑ĴŤĴÿĴ37 N+ yĴ- Ť一世ÿ一世37 N+ y一世∂l∂zi=0.7∑jtjpj∂yj∂zi=yi∑jtjyj37N+yj−tiyi37N+yi\frac{\partial l}{\partial z_i}=0.7\sum_j\frac{t_j}{p_j}\frac{\partial y_j}{\partial z_i}=y_i\sum_jt_j\frac{y_j}{\frac{3}{7N}+y_j}-t_i\frac{y_i}{\frac{3}{7N}+y_i} ∂升∂升∂ÿ一世= - 吨一世ÿ一世∂l∂yi=−tiyi\frac{\partial …

2
为什么0-1损失函数很难处理?
在伊恩·古德费洛(Ian Goodfellow)的深度学习书中,写道 有时,我们实际上关心的损失函数(例如分类错误)并不是可以有效优化的函数。例如,即使对于线性分类器,精确地将期望的0-1损失最小化通常也是棘手的(输入维度上的指数)。在这种情况下,通常通常会优化替代损失函数,该函数充当代理但具有优势。 为什么0-1损失难以解决,或者在输入维度中它如何指数化?

2
交叉熵损失函数的不同定义
我从使用Neuronetworksanddeeplearning点com教程开始学习神经网络。特别是在第三章中,有一节关于交叉熵函数,并将交叉熵损失定义为: C= - 1ñ∑X∑Ĵ(yĴln一种大号Ĵ+ (1 − yĴ)ln(1 − a大号Ĵ))C=-1个ñ∑X∑Ĵ(ÿĴln⁡一种Ĵ大号+(1个-ÿĴ)ln⁡(1个-一种Ĵ大号))C = -\frac{1}{n} \sum\limits_x \sum\limits_j (y_j \ln a^L_j + (1-y_j) \ln (1 - a^L_j)) 但是,阅读Tensorflow简介后,交叉熵损失定义为: C= - 1ñ∑X∑Ĵ(yĴln一种大号Ĵ)C=-1个ñ∑X∑Ĵ(ÿĴln⁡一种Ĵ大号)C = -\frac{1}{n} \sum\limits_x \sum\limits_j (y_j \ln a^L_j)(使用与上面相同的符号时) 然后四处搜寻以查找发生了什么事情,我发现了另一组注释:(https://cs231n.github.io/linear-classify/#softmax-classifier),它使用了完全不同的交叉熵损失定义,尽管这时间用于softmax分类器,而不是神经网络。 有人可以告诉我这是怎么回事吗?为什么会有差异。人们将交叉熵损失定义为什么?是否有一些总体原则?

1
Logistic损失函数的梯度
我想问一个与此有关的问题。 我在这里找到了为xgboost编写自定义损失函数的示例: loglossobj <- function(preds, dtrain) { # dtrain is the internal format of the training data # We extract the labels from the training data labels <- getinfo(dtrain, "label") # We compute the 1st and 2nd gradient, as grad and hess preds <- 1/(1 + exp(-preds)) grad <- preds …


1
损失函数的二阶近似(深度学习书,7.33)
在Goodfellow(2016)的一本关于深度学习的书中,他谈到了尽早停止与L2正则化的等效性(https://www.deeplearningbook.org/contents/regularization.html第247页)。 成本函数二次逼近由下式给出:jjj J^(θ)=J(w∗)+12(w−w∗)TH(w−w∗)J^(θ)=J(w∗)+12(w−w∗)TH(w−w∗)\hat{J}(\theta)=J(w^*)+\frac{1}{2}(w-w^*)^TH(w-w^*) 其中是Hessian矩阵(方程7.33)。这是缺少中期吗?泰勒展开应该是: HHHf(w+ϵ)=f(w)+f′(w)⋅ϵ+12f′′(w)⋅ϵ2f(w+ϵ)=f(w)+f′(w)⋅ϵ+12f″(w)⋅ϵ2f(w+\epsilon)=f(w)+f'(w)\cdot\epsilon+\frac{1}{2}f''(w)\cdot\epsilon^2

3
一个人应该使用什么损失函数来获得高精度或高召回率的二进制分类器?
我正尝试制作一个很少出现的物体(在图像中)检测器,计划使用在滑动/调整大小的窗口中应用的CNN二进制分类器。我已经构建了平衡的1:1正负训练和测试集(在这种情况下,这样做是对的吗?),分类器在测试集上的准确性很好。现在,我想控制分类器的召回率/精度,例如,它不会错误地标记过多的多数类事件。 明显的(对我来说)解决方案是使用与现在使用的相同的逻辑损失,但是通过将两种情况之一中的损失乘以某个常数,可以将I型和II型权重的误差乘以不同,这可以调整。这样对吗? PS第二个想法是,这等同于对一些训练样本进行加权。我认为,只增加一个班级就能达到相同的效果。

1
Scikit二项式偏差损失函数
这是scikit GradientBoosting的二项式偏差损失函数, def __call__(self, y, pred, sample_weight=None): """Compute the deviance (= 2 * negative log-likelihood). """ # logaddexp(0, v) == log(1.0 + exp(v)) pred = pred.ravel() if sample_weight is None: return -2.0 * np.mean((y * pred) - np.logaddexp(0.0, pred)) else: return (-2.0 / sample_weight.sum() * np.sum(sample_weight * ((y * pred) …

2
百分损失函数
解决问题的方法: minmE[|m−X|]minmE[|m−X|] \min_{m} \; E[|m-X|] 众所周知,它是X的中值XXX,但是其他百分位数的损失函数看起来如何?例如:X的第25个百分位数是解决以下问题的方法: minmE[L(m,X)]minmE[L(m,X)] \min_{m} \; E[ L(m,X) ] 什么是LLL在这种情况下?

3
MAP是
我在其中一门在线课程中遇到了这些幻灯片(第16和#17号幻灯片)。讲师试图解释最大后验估计(MAP)实际上是解决方案L(θ)=I[θ≠θ∗]L(θ)=I[θ≠θ∗]L(\theta) = \mathcal{I}[\theta \ne \theta^{*}],其中θ∗θ∗\theta^{*}是真实参数。 有人可以解释一下如何进行吗? 编辑:添加了幻灯片,以防链接断开。

1
我应该使用什么损失函数来对seq2seq RNN模型进行评分?
我正在研究Cho 2014论文,该论文介绍了用于seq2seq建模的编码器-解码器体系结构。 在本文中,他们似乎使用给定输入(或负对数似然)的输出概率作为长度为M的输入和长度为N的输出y的损失函数:xxxMMMyyyNNN P(y1,…,yN|x1,…,xM)=P(y1|x1,…,xm)P(y2|y1,x1,…,xm)…P(yN|y1,…,yN−1,x1,…,xm)P(y1,…,yN|x1,…,xM)=P(y1|x1,…,xm)P(y2|y1,x1,…,xm)…P(yN|y1,…,yN−1,x1,…,xm)P(y_1, …, y_N | x_1, …, x_M) = P(y_1 | x_1, …, x_m) P(y_2 | y_1, x_1, …, x_m) \dots P(y_N | y_1, …, y_N-1, x_1, …, x_m) 但是,我认为将其用作损失函数会遇到一些问题: 似乎假设教师在训练期间是强迫的(即,不是使用解码器的位置猜测作为下一次迭代的输入,而是使用已知标记。 它不会惩罚长序列。由于概率是输出的到N,因此如果解码器生成更长的序列,则第一个N之后的所有内容都不会计入损失。111NNNNNN 如果模型预测字符串尽头的早期令牌,则损失函数仍需要步-这意味着我们将基于未经训练的模型“流形”生成输出。这似乎草率。NNN 这些顾虑是否有效?如果是这样,那么向更高级的损失功能迈进了吗?

1
将偏见和方差平方和的加权和最小化的估算器如何适合决策理论?
好的-我的原始讯息未能引起回应;因此,让我将问题改写为另一个。我将从决策理论的角度解释我对估计的理解。我没有经过正规的培训,如果我的想法在某种程度上有缺陷,也不会感到惊讶。 假设我们有一些损失函数。预期的损失是(频繁发生的)风险:L (θ ,θ^(x ))L(θ,θ^(x))L(\theta,\hat\theta(x)) [R (θ ,θ^(x ))= ∫L (θ ,θ^(x ))L(θ ,θ^(x ))dX ,R(θ,θ^(x))=∫L(θ,θ^(x))L(θ,θ^(x))dx,R(\theta,\hat\theta(x))=\int L(\theta,\hat\theta(x))\mathcal{L}(\theta,\hat\theta(x))dx, 其中是可能性; 贝叶斯风险是预期的常客风险:L (θ ,θ^(x ))L(θ,θ^(x))\mathcal{L}(\theta,\hat\theta(x)) r (θ ,θ^(x ))= ∫∫[R (θ ,θ^(x ))π(θ )dX dθ ,r(θ,θ^(x))=∫∫R(θ,θ^(x))π(θ)dxdθ,r(\theta,\hat\theta(x))=\int\int R(\theta,\hat\theta(x))\pi (\theta)dxd\theta, 其中是我们的先验。π(θ )π(θ)\pi (\theta) 在一般情况下,我们发现了θ(X ),最大限度地减少[R而这一切工作地非常好; 而且富比尼定理适用,我们可以反向整合的顺序,使任何给定的θ(X )最小化[R是独立于所有其他人。这样就不会违反似然性原则,并且让我们对成为贝叶斯等感到满意。θ^(x )θ^(x)\hat\theta(x)[Rrrθ^(x )θ^(x)\hat\theta(x)[Rrr 例如,给定大家熟悉的平方误差损失,我们的频率论风险是均方误差或平方偏差和方差和我们的总和贝叶斯风险是给定我们先前的即后验期望损失的期望偏差和方差的平方和。L (θ ,θ^(x ))= (θ - …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.