当前位置: 首页 > article >正文

【机器学习】线性回归 线性回归模型的损失函数 MSE RMSE MAE R方

线性回归模型的损失函数

V1.0

损失函数的计算方法

线性回归模型的单一特征向量的损失为 y i r e a l − y i p r e d i c t y_{i_{real}}-y_{i_{predict}} yirealyipredict,即特征标签真实值减去特征的预测值。
总体损失为单一特征向量的损失进行投票的结果,根据投票方式的不同,得到不同的损失函数。

损失函数的分类

在实际使用中经常使用的损失函数

  • MSE (Mean Squared Error) 均方误差
  • RMSE (Root Mean Squared Error) 均方根误差
  • MAE (Mean Average Error) 平均绝对误差
  • R 2 R^2 R2 (Coefficient of Determination) R方误差

MSE (Mean Squared Error)

公式如下:
1 n ∑ i = 1 m ( y r e a l − y p r e d i c t ) 2 \frac{1}{n}\sum_{i=1}^{m}(y_{real}-y_{predict})^2 n1i=1m(yrealypredict)2
MSE是最常用的线性回归模型的损失函数。

RMSE (Root Mean Squared Error)

公式如下:
1 n ∑ i = 1 m ( y r e a l − y p r e d i c t ) 2 \sqrt{\frac{1}{n}\sum_{i=1}^m(y_{real}-y_{predict})^2} n1i=1m(yrealypredict)2
RMSE即MSE取平方根,因为MSE在求解时,特征向量的偏差越大,对损失值的贡献也越大,是平方级别的,RMSE取MSE的平方根可以消除量纲的影响。

MAE (Mean Average Error)

公式如下:
1 n ∑ i = 1 m ∣ y r e a l − y p r e d i c t ∣ \frac{1}{n}\sum_{i=1}^m|y_{real}-y_{predict}| n1i=1myrealypredict

R 2 R^2 R2 (Coefficient of Determination)

公式如下:
1 − ∑ ( y r e a l − y p r e d i c t ) 2 ∑ ( y r e a l − y ˉ ) 2 1-\frac{\sum(y_{real}-y_{predict})^2}{\sum(y_{real}-\bar{y})^2} 1(yrealyˉ)2(yrealypredict)2
R方损失的上界为1,在此时分式的分子为0,即所有预测数据与真实数据均相等,在数据偏差很大时,即分子大于分母时,R方损失可能会小于0。
R方损失公式中的分子,如果乘以 1 n \frac{1}{n} n1,就会变成MSE ( 1 n ∑ ( y r e a l − y p r e d i c t ) 2 \frac{1}{n}\sum(y_{real}-y_{predict})^2 n1(yrealypredict)2)。分母如果乘以 1 n \frac{1}{n} n1就会变成方差 ( ∑ ( y r e a l − y ˉ ) 2 {\sum(y_{real}-\bar{y})^2} (yrealyˉ)2) 。

因此,R方损失也可以记为:
1 − M S E V a r i a n c e 1-\frac{MSE}{Variance} 1VarianceMSE

损失函数的用途

MSE,RMSE和MAE常用作线性模型求解时的损失函数。
R方经常被用来评价线性回归模型


http://www.kler.cn/a/549383.html

相关文章:

  • 【Elasticsearch】multi_match查询
  • 【微服务学习四】gateway网关的使用
  • 切换git仓库远程地址
  • SaaS 平台开发要点
  • 如何在Servlet容器中使用HttpServletResponse?
  • 【Three.js】JS 3D library(一个月进化史)
  • 根据deepseek模型微调训练自动驾驶模型及数据集的思路
  • 【学习笔记】深度学习网络-深度模型中的优化
  • 【Oracle专栏】客户端expdp 实验验证
  • 用大模型学大模型05逻辑回归
  • 3.【BUUCTF】[GKCTF 2021]easycms
  • pptx2md - 将PPT文件转换成Markdown
  • linux中tar命令详解
  • 002 第一个python程序
  • 如何在 GitHub 上写博客
  • EasyRTC嵌入式WebRTC视频通话SDK支持Web浏览器、Linux、ARM、Android、iOS
  • 如何使用 DeepSeek R1 构建开源 ChatGPT Operator 替代方案
  • wordpress get_footer();与wp_footer();的区别的关系
  • Docker拉不下来镜像问题解决法案
  • 我们来学HTTP/TCP -- 另辟蹊径从响应入手