You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何针对张量输入计算测试集平均相对误差(非反向传播用)

LSTM模型构建、训练及测试集平均相对误差计算

现有LSTM模型代码

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense
import tensorflow as tf
from tensorflow.keras import backend as K

def create_model():
    model = Sequential()
    model.add(LSTM(50, return_sequences=True, input_shape=(40002, 12)))
    model.add(LSTM(50, return_sequences=True))
    model.add(LSTM(50, return_sequences=True))
    model.add(tf.keras.layers.LSTM(30))
    model.add(Dense(2, activation='linear'))

    def rmse(Y_test, prediction):
        return K.sqrt(K.mean(K.square(Y_test-prediction)))

    # compile 
    model.compile(optimizer='adam', loss=rmse, metrics=['mean_squared_error', rmse])

    return model

# fit the model
model = create_model()
model.fit(x_train, Y_train, shuffle=False, verbose=1, epochs=10)
  
# predict model
prediction = model.predict(x_test, verbose=0)
print(prediction)

测试集平均相对误差计算需求

给定张量类型的Y_test(真实标签,每个样本含2个数值)和prediction(模型预测结果,维度与Y_test一致),需计算每个输出维度的平均相对误差,核心逻辑为:

  • 对每个样本的每个输出维度,计算单个样本的相对误差:|真实值 - 预测值| / 真实值
  • 对所有样本的同一维度相对误差取平均值,得到该维度的平均相对误差
  • 最终输出为包含2个数值的结果,对应两个输出维度的平均相对误差

计算示例

Y_test = [[0.2, 0.003],
          [0.3, 0.008]]
prediction = [[0.4, 0.005],
              [0.5, 0.007]]

计算过程:

  1. 第一维度相对误差:|0.2-0.4|/0.2=1,|0.3-0.5|/0.3≈0.6667 → 平均值≈0.833
  2. 第二维度相对误差:|0.003-0.005|/0.003≈0.6667,|0.008-0.007|/0.008=0.125 → 平均值≈0.396
    最终结果:[0.833, 0.396]

实现代码(基于TensorFlow)

由于该指标仅用于测试集评估,无需参与反向传播,直接使用张量操作实现即可:

import tensorflow as tf

def calculate_mean_relative_error(Y_test, prediction):
    # 添加极小值epsilon避免真实值为0时出现除以0错误
    epsilon = 1e-8
    # 计算每个样本每个维度的相对误差
    relative_error = tf.abs(Y_test - prediction) / (Y_test + epsilon)
    # 对所有样本求每个维度的平均值
    mean_re = tf.reduce_mean(relative_error, axis=0)
    return mean_re

# 调用示例
mean_relative_error = calculate_mean_relative_error(Y_test, prediction)
# 转换为numpy数组查看结果
print(mean_relative_error.numpy())

内容的提问来源于stack exchange,提问作者sp05

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 18:25:25