问题标签 [mean-square-error]

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 投票
3 回答
18757 浏览

python - Keras均方误差损失层

我目前正在实现一个自定义损失层,在此过程中,我偶然发现了objectives.py文件[1]中均方误差的实现。我知道我在理解这个损失计算时遗漏了一些东西,因为我一直认为平均值是在每个小批量(张量的轴 0)中的每个输出的样本中单独完成的,但看起来平均值实际上是在最后一个轴上完成,在一个向量中,这意味着它是在输出上完成的。我在处理我的自定义损失层时偶然发现了这一点,因为它需要对一些输出的损失进行折扣,因为在特定位置的训练输出是一个特定值。无论如何,我对均方误差的理解不正确吗?为什么 Keras 会使用最后一个轴,从而将 1xn 输出向量转换为 1x1 输出向量?

谢谢。

[1] https://github.com/fchollet/keras/blob/master/keras/objectives.py#L7

0 投票
0 回答
410 浏览

python - 逻辑回归梯度下降不收敛

我正在尝试使用梯度下降来实现逻辑回归,以在给定一些数据的情况下找到多元函数的权重。到目前为止,我已经提出了以下内容,并且 gradientDescent() 函数使用 meanSquareError() 输入函数工作。

当我使用logisticError() 函数时,我收到一个溢出错误,这是因为逻辑函数似乎没有与梯度下降收敛。我似乎可以通过正常的在线搜索找到任何错误,因此不胜感激。

0 投票
1 回答
856 浏览

python - 在多输出回归中为均方误差成本函数添加约束

我正在使用均方误差来计算多输出回归器的损失函数。我使用了具有一对多架构的递归神经网络模型。我的输出向量大小为 6 (1*6),并且值是单调的(非递减)。

示例:y_i = [1,3,6,13,30,57,201]

我想强制模型学习这种依赖关系。因此,为成本函数添加了一个约束。我在验证集上得到一个等于 300 的错误。我相信在编辑均方误差损失函数后,我将能够获得更好的性能。

我正在使用 keras 来实现。这里是核心模型。

任何其他关于学习率、衰减等的提示都值得赞赏。

0 投票
2 回答
1585 浏览

python - pandas 将函数应用于按天分组的数据

我有一个如下所示的数据集:

我想做的是每天计算 value1 和 value2 之间的 rmse。所以基本上,我想运行该函数 31 次(每天一次),输入将是我尝试使用的一天中的 24 个条目(每小时一个)

但它给了我一个值,我想要的是一个包含每天 rmse 的列表,例如

0 投票
2 回答
448 浏览

python - 使用 Theano 在均方误差成本函数中应用条件

我正在构建一个卷积神经网络,并使用均方误差作为成本函数。当网络输出超过一时,我将成本函数更改为没有错误,因此当它更大时我将输出阈值设置为一。使用此代码

我想知道theano梯度函数在计算梯度时是否会考虑到这一点,或者我应该改变其他东西。

除此之外,有没有其他方法可以优化此代码以更快地运行或在 GPU 上运行。

0 投票
3 回答
5184 浏览

neural-network - 用于训练神经网络的 MSE 成本函数

在一本关于神经网络和深度学习的在线教科书中,作者从最小化二次成本函数的角度说明了神经网络的基础知识,他说二次成本函数是均方误差的同义词。不过,有两件事让我对他的功能感到困惑(下面的伪代码)。

MSE≡(1/2n)*∑‖y_true-y_pred‖^2

  1. 不是将平方误差的总和除以训练示例的数量n为什么而是除以2n?这是什么意思?
  2. 为什么使用双杠符号而不是括号?这让我想到还有一些其他的计算正在进行,例如 L2 范数,但没有明确显示。我怀疑情况并非如此,该术语旨在表达简单的旧平方误差之和。不过超级混乱。

非常感谢您提供的任何见解!

0 投票
1 回答
1125 浏览

python - 在 TensorFlow 中使用 RMSE 损失时,我收到的损失值非常小,小于 1

您好,我有一个产生这样的 logits / 输出的网络:

--> y ground truth值被缩小,[0, 255] to [0, 1]以增加性能,因为我读过最好使用范围[0, 1]

现在我想像这样计算 RMSE / EuclideanLoss:

或者

不确定哪个更好。

这样做时,我的损失值从粗略开始1.,然后迅速下降到2.5e-4. 当我EuclideanLoss在同一个网络中使用 Caffe 时,我的损失值从粗略开始1000下降到200. 我在 Tensorflow 中做错了什么或者为什么损失值那么小?我无法真正跟踪损失值,tensorboard因为它们太小了。谁能帮我?

0 投票
1 回答
3642 浏览

scikit-learn - scikit learn RidgeCV中的均方误差

我的问题是:在sklearn中,如何计算cv_values_给出的RidgeCV?为什么它与输出不同metrics.mean_squared_error

例如,

在此处输入图像描述

假设我们在 X 和 y 上训练 Ridge 模型

现在的输出

0.1204000013110009,而输出

0.24472577167818438

为什么会有如此巨大的差异?我错过了一些明显的东西吗?

0 投票
1 回答
1002 浏览

python - Python:如何访问列表中的每个元素并将其放入新列表中

我对 python 很陌生,我正在尝试从我的数据中实现 MSE(均方误差)。我正在尝试访问列表中的每个元素并从平均值中减去原始数据并在最后将其平方以用于单独的步骤,以便我可以在最后将其总结并除以列表中的元素总数。

现在,我只是尝试访问列表中的每个元素并找到差异并将其放入新创建的列表 newList 中。

这是我当前的代码:

起初,我试着做

但是,这给了我 typeError 说我不能从列表中减去浮点数。

因此,我尝试创建一个名为 tempList 的新列表,并通过执行以下操作将平均值放入列表中:

现在它给了我相同的 typeError:unsupported operand type(s) for -: 'list' 和 'float'。

我更熟悉 java 和其他 C 语言,我认为这是您编辑列表中每个元素的方式,但我猜 Python 是不同的(显然)。

任何提示将不胜感激。

提前致谢。

0 投票
3 回答
34785 浏览

python - sklearn.metrics.mean_squared_error 越大越好(否定)吗?

一般来说,mean_squared_error越小越好。

当我使用 sklearn 指标包时,它在文档页面中显示:http ://scikit-learn.org/stable/modules/model_evaluation.html

所有 scorer 对象都遵循较高返回值优于较低返回值的约定。因此,衡量模型和数据之间距离的指标,如 metrics.mean_squared_error,可作为 neg_mean_squared_error 使用,它返回指标的否定值。

在此处输入图像描述

但是,如果我去:http ://scikit-learn.org/stable/modules/generated/sklearn.metrics.mean_squared_error.html#sklearn.metrics.mean_squared_error

它说它是Mean squared error regression loss,没有说它被否定。

如果我查看了源代码并检查了那里的示例:https ://github.com/scikit-learn/scikit-learn/blob/a24c8b46/sklearn/metrics/regression.py#L183它是正常的mean squared error,即越小越好。

所以我想知道我是否遗漏了有关文档中被否定部分的任何内容。谢谢!