问题标签 [objective-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
206 浏览

neural-network - 如何计算排名损失的梯度?

我试图了解基于CS 224D: Deep Learning for NLP 讲义的排名损失(又名,最大边际目标函数,MarginRankingLoss ...) 。

在本说明中,成本定义如下: J = (1 + sc - s)

s= f(θ,x),sc = f(θ,xc),x是正确的输入,xc是错误的输入。

所以,s 是好事的分数,sc 是坏事的分数。

我的问题是:要更新权重,我必须得到∂J/∂θ还是∂s/∂θ?

我想我必须做 ∂J / ∂θ 来更新 θ。

因此,由于 J = 1 + sc-s,∂J / ∂θ = ∂sc / ∂θ - ∂s / ∂θ。

所以我认为应该分别得到∂sc / ∂θ和∂s / ∂θ。

然而,在讲义中,计算 ∂J / ∂s = -1 并使用该值来更新网络。

我究竟做错了什么?

0 投票
1 回答
178 浏览

python - Keras:自定义目标函数,将导数放在哪里

我正在尝试对我的修道院的损失函数进行一些修改,并且我对实施方面有一些疑问。

我已经知道如何在 Keras 中创建自定义损失函数,以及如何调用它。但是我仍然不清楚在哪里包含函数的导数。

假设我的新损失函数是:

损失 = 交叉熵 + f(x)

其中 f(x) = x**2。

我应该在哪里包含 f'(x)=2x 以便在反向支持步骤中使用它?Keras 会自动执行此操作吗?还是我应该在某些部分明确定义?

感谢您对此的任何提示,因为我不知道该怎么做。

川。

0 投票
1 回答
596 浏览

analysis - 如何在 ILOG CPLEX Optimization Studio 中查看目标函数的灵敏度分析

这是我下面的代码

我想通过找到目标函数的协同效率来找到最佳解决方案不会改变的单位利润范围。谢谢。

0 投票
1 回答
51 浏览

c - 权重分配以定义目标函数

我有一组具有执行时间(C1,C2...Cn)和截止日期(D1,D2,...Dn)的作业。每个作业都会在一段时间内完成它的执行,即响应时间(R1,R2,....Rn)。但是,并非每个作业都可能在截止日期之前完成其执行。因此,我为每个作业定义了一个名为 Slack 的变量,即 (S1,S2,...Sn)。Slack 基本上是作业的截止日期和响应时间之间的差异,即

S1=D1-R1 S2=D2-R2, .. 以此类推

我有一套休闲裤 [S1,S2,S3,...Sn]。根据任务的截止日期和完成时间,即 D 和 R,这些 slack 可以是正的或负的。

问题是我需要为每个工作(或 slack)定义权重(W),使得具有负 slack 的工作(即 R>D,错过最后期限的工作)比具有正 slack 的工作具有更大的权重(W)和基于这些权重和松弛度,我需要定义一个可用于最大化松弛度的目标函数。

这个问题似乎并不难。但是,我找不到解决方案。非常感谢这方面的一些帮助。

谢谢

0 投票
1 回答
712 浏览

tensorflow - Keras 中带有附加变量输入的自定义损失/目标函数

我正在尝试在 Keras(tensorflow 后端)中创建一个自定义目标函数,其中包含一个附加参数,其值取决于正在训练的批次。

例如:

我的火车功能如下

但是,损失函数中的 stateValue 并未更新。它只是使用 stateValue 在 model.compile 步骤中的值。

我想这可以通过对 stateValue 使用 placeHolder 来解决,但我不知道该怎么做。有人可以帮忙吗?

0 投票
1 回答
4642 浏览

neural-network - GAN 损失函数的理想值是多少

IJ Goodfellow 最初提出的 GAN 使用以下损失函数,

因此,鉴别器试图最小化 D_loss,生成器试图最小化 G_loss,其中 X 和 Z 分别是训练输入和噪声输入。D(.) 和 G(.) 分别是鉴别器和生成器神经网络的映射。

正如原始论文所说,当 GAN 训练几个步骤时,它会达到生成器和判别器都无法改进且 D(Y) 处处为 0.5 的点,Y 是判别器的一些输入。在这种情况下,当 GAN 被充分训练到这一点时,

那么,为什么我们不能使用 D_loss 和 G_loss 值作为评估 GAN 的指标呢?

如果两个损失函数偏离了这些理想值,那么 GAN 肯定需要训练好或者架构需要设计好。正如原始论文中的定理 1 所讨论的,这些是 D_loss 和 G_loss 的最佳值,但是为什么不能将它们用作评估指标呢?

0 投票
1 回答
10902 浏览

python - PuLP:目标函数:在循环中添加多个 lpSum

我正在尝试使用 PuLp 解决具有不同元素(铁、汞......)的混合问题。但是,我需要最大限度地利用我的约束,而不是最大化/最小化一些利润/成本。所以在Excel中我有这样的东西(在伪代码中):

我从来没有使用过这样的目标函数,但它似乎在 Excel 中工作。

现在我想在纸浆中模拟同样的问题。我想我需要的是这样的想法:

其中 ELEMENTS 是包含所有元素的列表,CONCENTRATES 是从 0 到 100 的值列表,而 dic[Element][Concentrate] 存储来自每个元素及其所有浓缩物的值。

现在使用上面的代码,目标函数在每个循环中都被覆盖。我不需要覆盖旧的目标函数,而是需要 append() 之类的东西来将每个 loops=lpSums 添加到我的概率变量?类?

一般来说,我对编程相当陌生,我想我的问题更多地与我缺乏 python 编程技能有关,而不是我的(也缺乏 :D)PuLP 技能。但是我在PuLP 文档中找不到任何内容,至少我无法将其连接到任何内容。

编辑:包括一张小桌子来展示问题:

“元素 2”和“元素 3”列存储与“元素 1”列相同的信息:各元素在浓缩物 1/2/3 中的百分比份额。

目标函数是最大化所有利用率的总和(u1+u2+u3)。所以我试图确定我应该使用多少每种浓缩物,尽可能多地利用每个元素的给定约束。回到我的 PuLp 代码,我想我可以将相当于“u1”的内容添加到我的 PuLp“LpProblem 类”中,但我不知道如何将这些 LpSum 中的多个添加到我的“LpProblem 类”中环形。

0 投票
1 回答
235 浏览

java - 在cplex(Java)中向目标函数添加二次惩罚项

我正在为还包含电池的家用能源系统开发优化工具。所有值都是正确的,解决方案是有意义的。问题是解决方案包含非常强烈的波动。这意味着决策变量通常为 0 或最大值。为了避免这种情况,我想添加一个二次约束来惩罚两个值的差异(类似于导数)。应该看起来像这样:

((x[t] - x[t-1]) / 步长) ^ 2

其中 x 是感兴趣的决策变量。例如power_g_h[t]

我的目标函数(到目前为止)定义如下:

我希望这在某种程度上是可以理解的,并且有人能够判断这在 CPLEX 中是否可行。

如果这是不可能的,我会很高兴有关如何在 CPLEX 中“平滑”解决方案的提示。

亲切的问候,

L.

0 投票
2 回答
44 浏览

algorithm - 我如何知道我的地理空间数据聚类的效果如何?

我有许多坐标点,每个坐标点都与一个特定的地标相关联,但是它们具有不同且未知的准确度。对于这些地标中的每一个,我都有访客说他们“在地标”时的坐标。

我想使用“地标”坐标来提高未来访客地标的准确性。但是,当我更改聚类算法的参数时,我真的无法知道平均而言,我是否正在提高实际改进现有位置的可能性。

我想创建一个可以用作代理的目标函数 - 有什么想法吗?

请注意,由于地标的地址不完善,谷歌地图 API 调用可能不可靠。

0 投票
1 回答
314 浏览

python - or-tools python中的变量除法

我正在使用or-tools提供的MIP 求解器(在 python 中)

假设我们有两个变量xy。我知道如何最大化一个变量或两个变量的总和。

例如,如果我们想最大化 2*x 我们可以这样做

如果我们想最大化 2*x + 3*y 我们可以这样做

但我不知道如何最大化除以另一个变量的变量。我的问题是如何最大化 (x/y)