【数值计算方法】误差

目录

绪论

一、误差来源

[1. 模型误差](#1. 模型误差)

[2. 观测误差(测量误差)](#2. 观测误差(测量误差))

[3. 方法误差 截断误差](#3. 方法误差 截断误差)

[4. 舍入误差(roundin off error)](#4. 舍入误差(roundin off error))

二、误差分类

[1. 绝对误差](#1. 绝对误差)

[2. 相对误差](#2. 相对误差)

三、机器学习中的误差


用数值方法在计算机上求解数学问题,不可避免地会出现误差,得到的一般是问题的近似解,因此,误差分析和误差的估计成为数值计算法研究的一项重要内容。

绪论

一、误差来源

1. 模型误差

模型误差指的是由于模型本身的限制或不完善而导致的误差。模型误差可能源自模型的假设、参数选择、训练数据的不足等因素。降低模型误差的方法包括改进模型结构、增加训练数据量、优化模型参数等。

2. 观测误差(测量误差)

观测误差指在进行实际观测或测量过程中,由于各种因素的影响,观测值与真实值之间存在的差异。观测误差可能由于仪器精度、环境条件、人为因素等引起。为了减小观测误差,可以采取多次观测取平均、提高仪器的精度、控制环境条件等方法来提高测量的准确性。

3. 方法误差 截断误差

方法误差指的是由于使用的方法或算法的局限性而引入的误差。方法误差可能由于近似计算、假设违规、数值稳定性等因素而产生。选择适当的方法和算法,并理解其限制和假设,可以降低方法误差。

截断误差是指在计算过程中对数字进行截断而引入的误差。当对一个具有无限小数位的数进行近似表示时,我们需要截断或舍入该数以适应计算机的有限位数表示。这样的近似处理会引入截断误差。截断误差可能会导致结果与真实值之间的差异。它是由于在计算过程中丢失了原始数据的一部分而产生的。截断误差通常随着使用更少的位数进行表示或计算而增大。

如:为了计算函数值 ,我们用有限 Taylor 展式

近似代替 ,此时的方法误差(又称截断误差)为:

4. 舍入误差(roundin off error)

舍入误差指的是在计算过程中对浮点数进行舍入或截断而引入的误差。由于计算机使用有限的位数来表示数字,对于某些计算,舍入误差可能会积累并影响最终结果的精度。在数值计算中,需要注意舍入误差对计算结果的影响,并采取适当的方法进行误差控制和调整。

在误差允许的范围内......

二、误差分类

1. 绝对误差

绝对误差是指近似值与真实值之间的差的绝对值。它表示了近似值与真实值之间的差异的大小,而不考虑这种差异在整体范围内的比例关系。绝对误差通常用来衡量误差的绝对程度,以确定近似值的准确性。计算绝对误差的公式为:绝对误差 = |近似值 - 真实值|。

其中,表示精确值

2. 相对误差

相对误差是指绝对误差与真实值之间的比值。相对误差考虑了近似值与真实值之间的差异相对于真实值的比例关系,因此更适用于比较不同量级的误差。相对误差通常用来衡量误差相对于真实值的相对程度。计算相对误差的公式为:相对误差 = (绝对误差 / 真实值) × 100%。

三、机器学习中的误差

在机器学习中,误差通常用于评估模型的性能和预测的准确程度。以下是几种常见的机器学习中使用的误差度量指标:

  1. 平均绝对误差(Mean Absolute Error,MAE):MAE是预测值与真实值之间绝对误差的平均值。它衡量了预测值与真实值之间的平均差异程度,具有较好的鲁棒性,不会受到异常值的影响。

  2. 均方误差(Mean Squared Error,MSE):MSE是预测值与真实值之间误差的平方的平均值。相比于MAE,MSE对较大的误差给予更高的惩罚,因此对异常值更为敏感。

  3. 均方根误差(Root Mean Squared Error,RMSE):RMSE是MSE的平方根,它与原始数据的单位一致。RMSE在评估模型性能时更容易解释,因为它与原始数据的量纲一致。

  4. R平方(R-squared):R平方是用来衡量模型对观测数据的拟合程度。它表示模型解释的方差占总方差的比例,取值范围在0到1之间。R平方越接近1,表示模型对观测数据的拟合程度越好。

  5. 对数损失(Log Loss):对数损失通常用于二分类或多分类问题中,衡量模型的预测概率与真实标签之间的差异。对数损失越小,表示模型的预测结果越接近真实情况。

python 复制代码
import numpy as np
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score, log_loss

# 示例数据
y_true = np.array([3, 4, 2, 1, 6])
y_pred = np.array([2.5, 4.3, 1.8, 0.9, 5.8])
y_prob = np.array([0.1, 0.8, 0.3, 0.2, 0.9])  # 用于对数损失的预测概率

# 平均绝对误差(MAE)
mae = mean_absolute_error(y_true, y_pred)
print("MAE:", mae)

# 均方误差(MSE)
mse = mean_squared_error(y_true, y_pred)
print("MSE:", mse)

# 均方根误差(RMSE)
rmse = np.sqrt(mse)
print("RMSE:", rmse)

# R平方(R-squared)
r2 = r2_score(y_true, y_pred)
print("R-squared:", r2)

# 对数损失(Log Loss)
logloss = log_loss(y_true, y_prob)
print("Log Loss:", logloss)
相关推荐
珠海新立电子科技有限公司2 小时前
FPC柔性线路板与智能生活的融合
人工智能·生活·制造
IT古董2 小时前
【机器学习】机器学习中用到的高等数学知识-8. 图论 (Graph Theory)
人工智能·机器学习·图论
曼城周杰伦3 小时前
自然语言处理:第六十三章 阿里Qwen2 & 2.5系列
人工智能·阿里云·语言模型·自然语言处理·chatgpt·nlp·gpt-3
余炜yw3 小时前
【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感
人工智能·rnn·深度学习
莫叫石榴姐4 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
如若1234 小时前
利用 `OpenCV` 和 `Matplotlib` 库进行图像读取、颜色空间转换、掩膜创建、颜色替换
人工智能·opencv·matplotlib
YRr YRr4 小时前
深度学习:神经网络中的损失函数的使用
人工智能·深度学习·神经网络
ChaseDreamRunner4 小时前
迁移学习理论与应用
人工智能·机器学习·迁移学习
Guofu_Liao4 小时前
大语言模型---梯度的简单介绍;梯度的定义;梯度计算的方法
人工智能·语言模型·矩阵·llama
我爱学Python!4 小时前
大语言模型与图结构的融合: 推荐系统中的新兴范式
人工智能·语言模型·自然语言处理·langchain·llm·大语言模型·推荐系统