Questions tagged «loss-functions»

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

5
神经网络中多类别,多标签分类任务的损失函数是什么?
我正在训练一个神经网络,以将一组对象分类为n类。每个对象可以同时属于多个类(多类,多标签)。 我读到,对于多类问题,通常建议使用softmax和分类交叉熵代替mse作为损失函数,并且我或多或少地了解了为什么。 对于我的多标签问题,使用softmax当然是没有意义的,因为每种类别的概率都应该彼此独立。因此,我的最后一层就是S型单元,将其输入压缩到每个类的概率范围为0..1。 现在我不确定应该使用什么损失函数。观察分类交叉熵的定义,我认为它不适用于此问题,因为它将仅考虑应为1的神经元输出,而忽略其他神经元的输出。 二进制交叉熵听起来更合适,但是我只看到它曾经针对单个输出神经元的二进制分类问题提到过。 我正在使用python和keras进行培训,以防万一。

3
机器学习:我应该使用分类交叉熵还是二进制交叉熵损失进行二进制预测?
首先,我意识到如果需要执行二进制预测,则必须通过执行一次热编码来创建至少两个类。它是否正确?但是,二元互熵是否仅适用于只有一个类别的预测?如果我使用大多数图书馆(例如TensorFlow)中常见的分类交叉熵损失,会不会有明显的不同? 实际上,分类交叉熵和二进制交叉熵之间的确切区别是什么?我从未在TensorFlow中看到过二进制交叉熵的实现,所以我认为也许绝对分类的效果同样好。

5
神经网络的成本函数是非凸的吗?
神经网络的成本函数为,据称它是非凸的。我不太明白为什么会这样,因为我发现它与逻辑回归的成本函数非常相似,对吗?Ĵ( W,b )Ĵ(w ^,b)J(W,b) 如果是非凸的,因此二阶导数∂Ĵ∂w ^&lt; 0∂Ĵ∂w ^&lt;0\frac{\partial J}{\partial W} < 0,是吗? 更新 感谢下面的答案以及@gung的评论,我明白了,如果根本没有隐藏的图层,它就是凸的,就像逻辑回归一样。但是,如果存在隐藏层,则通过置换隐藏层中的节点以及后续连接中的权重,我们可以对导致相同损失的权重采用多种解决方案。 现在有更多问题, 1)有多个局部最小值,其中一些应该具有相同的值,因为它们与某些节点和权重置换相对应,对吗? 2)如果根本不会置换节点和权重,那么它是凸的,对吗?最小值将是全局最小值。如果是这样,则1)的答案是,所有这些局部最小值将具有相同的值,对吗?

2
OLS线性回归中的成本函数
我对Andrew Ng在Coursera上关于机器学习的线性回归讲座感到有些困惑。在那里,他给出了一个成本函数,该函数将平方和最小化为: 12m∑i=1m(hθ(X(i))−Y(i))212m∑i=1m(hθ(X(i))−Y(i))2 \frac{1}{2m} \sum _{i=1}^m \left(h_\theta(X^{(i)})-Y^{(i)}\right)^2 我知道1212\frac{1}{2}来自。我认为他这样做是为了使他在平方项上执行导数时,平方项中的2将被一半抵消。但我不知道来源。1m1m\frac{1}{m} 为什么我们需要做?在标准线性回归中,我们没有它,我们只是将残差最小化。为什么在这里需要它?1m1m\frac{1}{m}


4
哪个损失函数对逻辑回归是正确的?
我读到了两个用于逻辑回归的损失函数版本,其中哪个是正确的,为什么? 来自机器学习的 Zhou ZH(中文),其中:β=(w,b) and βTx=wTx+bβ=(w,b) and βTx=wTx+b\beta = (w, b)\text{ and }\beta^Tx=w^Tx +b l(β)=∑i=1m(−yiβTxi+ln(1+eβTxi))(1)(1)l(β)=∑i=1m(−yiβTxi+ln⁡(1+eβTxi))l(\beta) = \sum\limits_{i=1}^{m}\Big(-y_i\beta^Tx_i+\ln(1+e^{\beta^Tx_i})\Big) \tag 1 从我的大学课程中,:zi=yif(xi)=yi(wTxi+b)zi=yif(xi)=yi(wTxi+b)z_i = y_if(x_i)=y_i(w^Tx_i + b) L(zi)=log(1+e−zi)(2)(2)L(zi)=log⁡(1+e−zi)L(z_i)=\log(1+e^{-z_i}) \tag 2 我知道第一个是所有样本的累加,第二个是单个样本的累加,但是我对两个损失函数形式的差异感到更加好奇。不知何故,我觉得它们是等效的。

5
如何在机器学习中处理分层/嵌套数据
我将用一个例子来解释我的问题。假设您要根据以下属性预测个人的收入:{年龄,性别,国家/地区,城市}。你有一个像这样的训练数据集 train &lt;- data.frame(CountryID=c(1,1,1,1, 2,2,2,2, 3,3,3,3), RegionID=c(1,1,1,2, 3,3,4,4, 5,5,5,5), CityID=c(1,1,2,3, 4,5,6,6, 7,7,7,8), Age=c(23,48,62,63, 25,41,45,19, 37,41,31,50), Gender=factor(c("M","F","M","F", "M","F","M","F", "F","F","F","M")), Income=c(31,42,71,65, 50,51,101,38, 47,50,55,23)) train CountryID RegionID CityID Age Gender Income 1 1 1 1 23 M 31 2 1 1 1 48 F 42 3 1 1 2 62 M 71 4 …
29 regression  machine-learning  multilevel-analysis  correlation  dataset  spatial  paired-comparisons  cross-correlation  clustering  aic  bic  dependent-variable  k-means  mean  standard-error  measurement-error  errors-in-variables  regression  multiple-regression  pca  linear-model  dimensionality-reduction  machine-learning  neural-networks  deep-learning  conv-neural-network  computer-vision  clustering  spss  r  weighted-data  wilcoxon-signed-rank  bayesian  hierarchical-bayesian  bugs  stan  distributions  categorical-data  variance  ecology  r  survival  regression  r-squared  descriptive-statistics  cross-section  maximum-likelihood  factor-analysis  likert  r  multiple-imputation  propensity-scores  distributions  t-test  logit  probit  z-test  confidence-interval  poisson-distribution  deep-learning  conv-neural-network  residual-networks  r  survey  wilcoxon-mann-whitney  ranking  kruskal-wallis  bias  loss-functions  frequentist  decision-theory  risk  machine-learning  distributions  normal-distribution  multivariate-analysis  inference  dataset  factor-analysis  survey  multilevel-analysis  clinical-trials 

1
XGBoost损失函数与泰勒展开式的近似
例如,以第次迭代的XGBoost模型的目标函数为例:ttt L(t)=∑i=1nℓ(yi,y^(t−1)i+ft(xi))+Ω(ft)L(t)=∑i=1nℓ(yi,y^i(t−1)+ft(xi))+Ω(ft)\mathcal{L}^{(t)}=\sum_{i=1}^n\ell(y_i,\hat{y}_i^{(t-1)}+f_t(\mathbf{x}_i))+\Omega(f_t) 其中是损失函数,是第个树的输出,是正则化。近似值是快速计算的(许多)关键步骤之一:ℓℓ\ellftftf_ttttΩΩ\Omega L(t)≈∑i=1nℓ(yi,y^(t−1)i)+gtft(xi)+12hif2t(xi)+Ω(ft),L(t)≈∑i=1nℓ(yi,y^i(t−1))+gtft(xi)+12hift2(xi)+Ω(ft),\mathcal{L}^{(t)}\approx \sum_{i=1}^n\ell(y_i,\hat{y}_i^{(t-1)})+g_tf_t(\mathbf{x}_i)+\frac{1}{2}h_if_t^2(\mathbf{x}_i)+\Omega(f_t), 其中和是损失函数的一阶和二阶导数。gigig_ihih一世h_i 我要问的是令人信服的论点,以揭开上述近似为何起作用的神秘色彩: 1)具有上述近似值的XGBoost与具有完整目标函数的XGBoost相比如何?近似中丢失了哪些潜在的有趣的高阶行为? 2)很难形象化(并取决于损失函数),但是,如果损失函数具有较大的三次方分量,则逼近可能会失败。怎么不给XGBoost造成问题?

3
在分类中选择不同的损失函数以近似0-1损失有什么影响
我们知道有些目标函数更容易优化,而有些则很难。而且我们有很多损失函数要使用但很难使用,例如0-1损失。因此,我们找到了一些代理丢失功能来完成这项工作。例如,我们使用铰链损失或逻辑损失来“近似” 0-1损失。 接下来的情节来自克里斯·毕晓普(Chris Bishop)的PRML书。铰链损耗用蓝色绘制,对数损耗用红色绘制,平方损耗用绿色绘制,0/1误差用黑色绘制。 我了解我们之所以设计(针对铰链和逻辑损失)的原因是我们希望目标函数是凸的。 通过查看铰链损失和逻辑损失,它会对严重错误分类的实例进行更严厉的处罚,有趣的是,如果分类不正确,则还会对正确分类的实例进行惩罚。这是一个非常奇怪的设计。 我的问题是,通过使用不同的“代理损失函数”(例如铰链损失和物流损失),我们需要支付的价格是多少?

2
骰子系数损失函数与交叉熵
在训练像素分割神经网络(例如全卷积网络)时,您如何决定使用交叉熵损失函数还是Dice系数损失函数? 我意识到这是一个简短的问题,但不确定要提供什么其他信息。我看了一堆有关这两个损失函数的文档,但是无法直观地了解何时使用它们。

1
训练损失再次上升和下降。怎么了?
我的训练损失下降,然后又上升。这很奇怪。交叉验证损失跟踪训练损失。到底是怎么回事? 我有两个堆叠的LSTMS,如下所示(在Keras上): model = Sequential() model.add(LSTM(512, return_sequences=True, input_shape=(len(X[0]), len(nd.char_indices)))) model.add(Dropout(0.2)) model.add(LSTM(512, return_sequences=False)) model.add(Dropout(0.2)) model.add(Dense(len(nd.categories))) model.add(Activation('sigmoid')) model.compile(loss='binary_crossentropy', optimizer='adadelta') 我训练了100个纪元: model.fit(X_train, np.array(y_train), batch_size=1024, nb_epoch=100, validation_split=0.2) 训练127803个样本,验证31951个样本 这就是损失的样子:

3
铰链损失的梯度
我正在尝试实现基本的梯度下降,并使用铰链损失函数对其进行测试,即lhinge=max(0,1−y x⋅w)lhinge=max(0,1−y x⋅w)l_{\text{hinge}} = \max(0,1-y\ \boldsymbol{x}\cdot\boldsymbol{w})。但是,我对铰链损耗的梯度感到困惑。我的印象是 ∂∂wlhinge={−y x0if y x⋅w&lt;1if y x⋅w≥1∂∂wlhinge={−y xif y x⋅w&lt;10if y x⋅w≥1 \frac{\partial }{\partial w}l_{\text{hinge}} = \begin{cases} -y\ \boldsymbol{x} &\text{if } y\ \boldsymbol{x}\cdot\boldsymbol{w} < 1 \\ 0&\text{if } y\ \boldsymbol{x}\cdot\boldsymbol{w} \geq 1 \end{cases} 但这是否不返回与\ boldsymbol {x}相同大小的矩阵xx\boldsymbol{x}?我以为我们想返回长度为\ boldsymbol {w}的向量ww\boldsymbol{w}?显然,我在某处有些困惑。有人可以在这里指出正确的方向吗? 我已经包括一些基本代码,以防我对任务的描述不清楚 #Run standard gradient descent gradient_descent&lt;-function(fw, dfw, …

2
分位数回归:损失函数
我试图理解分位数回归,但是让我受苦的一件事是损失函数的选择。 ρτ(u )= u (τ− 1{ u &lt; 0 })ρτ(ü)=ü(τ-1个{ü&lt;0})\rho_\tau(u) = u(\tau-1_{\{u<0\}}) 我知道的期望最小值等于位数,但是从此功能开始的直观原因是什么?我看不到最小化此功能与分位数之间的关系。有人可以向我解释吗?ρτ(y− u )ρτ(ÿ-ü)\rho_\tau(y-u)τ%τ%\tau\%

2
如何设计和实现不对称损失函数进行回归?
问题 在回归中,通常会计算出样本的均方误差(MSE): 来衡量预测变量的质量。MSE = 1ñ∑我= 1ñ(克(x一世)− gˆ(x一世))2MSE=1n∑i=1n(g(xi)−g^(xi))2 \text{MSE} = \frac{1}{n} \sum_{i=1}^n\left(g(x_i) - \widehat{g}(x_i)\right)^2 现在,我正在研究一个回归问题,该问题的目的是在给定许多数字特征的情况下,预测客户愿意为产品支付的价格。如果预测价格过高,则没有客户会购买该产品,但是金钱损失很低,因为价格可以简单地降低。当然不应太高,否则可能会导致长时间不购买该产品。另一方面,如果预测价格过低,则将很快购买产品,而没有机会调整价格。 换句话说,学习算法应该预测稍高的价格,如有必要,可以将其降低,而不是低估会导致立即金钱损失的真实价格。 题 您如何设计一个包含这种成本不对称性的误差度量? 可能的解决方案 定义非对称损失函数的一种方法是简单地乘以权重: 其中是我们可以调整的参数,以更改不对称程度。我在这里找到了。在保持二次损失的同时,这似乎是最直接的事情。α&Element; (0,1)1个ñ∑我= 1ñ∣∣α - 1(克(x一世)− gˆ(x一世))&lt; 0∣∣⋅ (克(x一世)− gˆ(x一世))21n∑i=1n|α−1(g(xi)−g^(xi))&lt;0|⋅(g(xi)−g^(xi))2 \frac{1}{n} \sum_{i=1}^n \left| \alpha - \mathbb{1}_{(g(x_i) - \widehat{g}(x_i)) < 0} \right|\cdot \left(g(x_i) - \widehat{g}(x_i)\right)^2 α &Element; (0 ,1 )α∈(0,1)\alpha \in (0,1)


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.