深度学习中常用的误差方法

158 阅读1分钟

深度学习中常用的误差方法有:

  • 标准差(Standard Deviation):

 标准差也叫均方差,是方差的算术平方根,反应数据的离散程度 ,标准差越小,数据偏离平均值越小,反之亦然 。

公式为:

python代码为:

import math

#平均值
def get_average(records):
    return sum(records) / len(records)

#方差
def get_variance(records):
    average = get_average(records)
    return sum([(x - average) ** 2 for x in records]) / len(records)

#标准差 
def get_standard_deviation(records):
    variance = get_variance(records)
    return math.sqrt(variance)
  • 均方误差MSE(mean-square error)

均方误差 反映估计量与被估计量之间的差异程度。MSE越小,预测结果月精确 。

公式为 :

 

python代码为:

def get_mse(records_real, records_predict):
    if len(records_real) == len(records_predict):
        return sum([(x - y) ** 2 for x, y in zip(records_real, records_predict)]) / len(records_real)
    else:
        return None
  • 均方根误差RMSE(root mean squared error)

均方根误差为均方误差的算术平方根。公式为:

python代码为:

def get_rmse(records_real, records_predict):
    mse = get_mse(records_real, records_predict)
    if mse:
        return math.sqrt(mse)
    else:
        return None
  • 平均绝对误差MAE(mean absolute error)

python代码为:

def get_mae(records_real, records_predict):
    if len(records_real) == len(records_predict):
        return sum([abs(x - y) for x, y in zip(records_real, records_predict)]) / len(records_real)
    else:
        return None

参考资料:

【1】blog.csdn.net/cqfdcw/arti…

【2】blog.csdn.net/mouday/arti…