标签: mean-square-error

Numpy的平均误差?

是否存在numpy中用于计算两个矩阵之间的均方误差的方法?

我试过搜索但没找到.它的名字不同吗?

如果没有,你怎么克服这个?你自己写的还是使用不同的lib?

python arrays numpy mean mean-square-error

62
推荐指数
5
解决办法
12万
查看次数

为什么Cross Entropy方法优于Mean Squared Error?在什么情况下这不起作用?

尽管上述两种方法都提供了更好的分数以更好地接近预测,但仍然优选交叉熵.是在每种情况下还是有一些特殊情况我们更喜欢交叉熵而不是MSE?

machine-learning backpropagation neural-network mean-square-error cross-entropy

34
推荐指数
3
解决办法
3万
查看次数

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

一般来说,mean_squared_error越小越好.

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

所有得分对象都遵循以下惯例:较高的返回值优于较低的返回值.因此,测量模型和数据之间距离的度量(如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,即越小越好.

所以我想知道我是否错过了关于文档中否定部分的任何内容.谢谢!

python metrics scikit-learn mean-square-error

16
推荐指数
1
解决办法
1万
查看次数

当损耗是均方误差(MSE)时,什么函数定义了Keras的准确度?

当损失函数是均方误差时,如何定义准确度?是绝对百分比误差吗?

我使用的模型具有输出激活线性和编译 loss= mean_squared_error

model.add(Dense(1))
model.add(Activation('linear'))  # number

model.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy'])
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样:

Epoch 99/100
1000/1000 [==============================] - 687s 687ms/step - loss: 0.0463 - acc: 0.9689 - val_loss: 3.7303 - val_acc: 0.3250
Epoch 100/100
1000/1000 [==============================] - 688s 688ms/step - loss: 0.0424 - acc: 0.9740 - val_loss: 3.4221 - val_acc: 0.3701
Run Code Online (Sandbox Code Playgroud)

那么例如val_acc:0.3250是什么意思?Mean_squared_error应该是标量而不是百分比 - 不应该吗?那么val_acc - 均方误差,或平均百分比误差或其他函数?

根据维基百科上的MSE定义:https://en.wikipedia.org/wiki/Mean_squared_error

MSE是估计量质量的度量 - 它总是非负的,接近零的值更好.

这是否意味着价值val_acc: 0.0优于val_acc: 0.325

编辑:我训练时精确度量输出的更多示例 - 随着我训练更多,精度会增加.虽然损失函数 - mse应该减少.是否为mse定义了准确度 - 它是如何在Keras中定义的?

lAllocator: After …
Run Code Online (Sandbox Code Playgroud)

regression machine-learning mean-square-error keras loss-function

15
推荐指数
2
解决办法
8738
查看次数

找到平均误差?

我已经生成了一个线性数据集,并用于lm()将模型拟合到该数据集.我现在正试图找到MSE使用mse()

我知道MSE的公式,但我正在尝试使用此功能.这样做的正确方法是什么?我看过文档,但是我要么愚蠢,要么就是那些真正知道自己在做什么的人的措辞.

library(hydroGOF)

x.linear <- seq(0, 200, by=1) # x data
error.linear <- rnorm(n=length(x.linear), mean=0, sd=1) # Error (0, 1)
y.linear <- x.linear + error.linear  # y data

training.data <- data.frame(x.linear, y.linear)
training.model <- lm(training.data)
training.mse <- mse(training.model, training.data)

plot(training.data)
Run Code Online (Sandbox Code Playgroud)

mse()需要两个数据帧.我不确定如何获取数据帧lm().我是否正在为我的数据寻找合适的MSE?

statistics r mse mean-square-error

6
推荐指数
2
解决办法
4万
查看次数

在 pytorch 中绘制训练和验证损失图

我正在使用 pytorch 来训练我的 CNN 网络。我想绘制训练和验证损失曲线以可视化模型性能。如何绘制两条曲线?

我有下面的代码

# create a function (this my favorite choice)
def RMSELoss(predicted,target):
    return torch.sqrt(torch.mean((predicted-target)**2))

criterion = RMSELoss

# loss = torch.sqrt(criterion(x, y))
optimizer = torch.optim.Adam(model.parameters(), lr=0.0001)
epochs = 300

n_total_steps = len(train_dataset)

trainingEpoch_loss = []
validationEpoch_loss = []

for epoch in range(epochs):
    step_loss = []
    model.train()
    for i, data in enumerate(train_dataset):
        feature,target = data['data'].type(torch.FloatTensor),torch.tensor(data['target']).type(torch.FloatTensor)
         
        # Clear the gradients
        optimizer.zero_grad()
        # Forward Pass
        outputs = model(feature)
        # Find the Loss
        training_loss = criterion(outputs, target)
        # Calculate gradients …
Run Code Online (Sandbox Code Playgroud)

validation plot training-data mean-square-error pytorch

6
推荐指数
1
解决办法
9504
查看次数

为什么在套索回归中计算 MSE 会给出不同的输出?

我正在尝试对来自 lasso2 包的前列腺癌数据运行不同的回归模型。当我使用 Lasso 时,我看到了两种不同的方法来计算均方误差。但他们确实给了我完全不同的结果,所以我想知道我是否做错了什么,或者这是否只是意味着一种方法比另一种更好?

# Needs the following R packages.
library(lasso2)
library(glmnet)

# Gets the prostate cancer dataset
data(Prostate)

# Defines the Mean Square Error function 
mse = function(x,y) { mean((x-y)^2)}

# 75% of the sample size.
smp_size = floor(0.75 * nrow(Prostate))

# Sets the seed to make the partition reproductible.
set.seed(907)
train_ind = sample(seq_len(nrow(Prostate)), size = smp_size)

# Training set
train = Prostate[train_ind, ]

# Test set
test = Prostate[-train_ind, ]

# Creates matrices for independent and dependent …
Run Code Online (Sandbox Code Playgroud)

r machine-learning lasso-regression glmnet mean-square-error

5
推荐指数
1
解决办法
7726
查看次数

如何用百分比表示均方根误差?

我想将我的预测结果与另一个人的预测结果进行比较。在文章中,作者表示“使用均方根的相对百分比(RMS%)来评估性能”。这就是我想与我的预测进行比较的内容。

目前我正在计算均方根误差,但是我不明白如何将其表示为百分比

这就是我使用 Python 计算均方根误差的方法

rmse = math.sqrt(mean_squared_error(y_test,y_predict)
Run Code Online (Sandbox Code Playgroud)

python machine-learning scikit-learn mean-square-error

5
推荐指数
1
解决办法
2万
查看次数

为什么不使用均方误差来解决分类问题?

我正在尝试使用 LSTM 解决一个简单的二元分类问题。我试图找出网络的正确损失函数。问题是,当我使用二元交叉熵作为损失函数时,与使用均方误差 (MSE) 函数相比,训练和测试的损失值相对较高。

经过研究,我发现二元交叉熵应该用于分类问题和 MSE 用于回归问题的理由。但是,就我而言,使用 MSE 进行二元分类时,我获得了更好的准确性和更小的损失值。

我不确定如何证明这些获得的结果是合理的。为什么不使用均方误差来解决分类问题?

python mean-square-error lstm keras cross-entropy

5
推荐指数
2
解决办法
5699
查看次数

如何获得特定维度上张量的 MSE?

我有2张量与.sizetorch.Size([2272, 161])。我想得到它们之间的均方误差。不过,我想它沿着每个161个通道,使我的错误张量有一个.sizetorch.Size([161])。我怎样才能做到这一点?

似乎torch.nn.MSELoss不允许我指定维度。

python mean-square-error pytorch tensor

5
推荐指数
1
解决办法
1940
查看次数