数学基础 -- 均方误差(Mean Squared Error, MSE)与交叉熵(Cross-Entropy)的数学原理

本文主要是介绍数学基础 -- 均方误差(Mean Squared Error, MSE)与交叉熵(Cross-Entropy)的数学原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

均方误差(Mean Squared Error, MSE)与交叉熵(Cross-Entropy)的数学原理

1. 均方误差(Mean Squared Error, MSE)

均方误差主要用于回归问题,度量预测值与实际值之间的平均平方差。其数学公式为:

MSE = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 MSE=n1i=1n(yiy^i)2

  • n n n:样本数量。
  • y i y_i yi:实际值。
  • y ^ i \hat{y}_i y^i:预测值。

原理:

  1. 误差:首先计算每个样本的预测值与实际值之间的差,即 y i − y ^ i y_i - \hat{y}_i yiy^i
  2. 平方:将误差进行平方,这样可以避免正负误差相互抵消,也使得较大的误差权重更大。
  3. 平均:对所有样本的平方误差求平均值,以获得整体的误差。

均方误差的值越小,说明模型的预测结果越接近实际值。由于平方的原因,MSE 对异常值(outliers)较为敏感。

2. 交叉熵(Cross-Entropy)

交叉熵损失函数通常用于分类问题,度量两个概率分布之间的差异。其数学公式根据任务的不同,分为二分类交叉熵多分类交叉熵

二分类交叉熵损失

在二分类问题中,假设输出结果为类别 y ∈ { 0 , 1 } y \in \{0, 1\} y{0,1},预测值为 y ^ \hat{y} y^,则交叉熵损失的公式为:

Binary Cross-Entropy = − 1 n ∑ i = 1 n [ y i ⋅ log ⁡ ( y ^ i ) + ( 1 − y i ) ⋅ log ⁡ ( 1 − y ^ i ) ] \text{Binary Cross-Entropy} = -\frac{1}{n} \sum_{i=1}^{n} \left[ y_i \cdot \log(\hat{y}_i) + (1 - y_i) \cdot \log(1 - \hat{y}_i) \right] Binary Cross-Entropy=n1i=1n[yilog(y^i)+(1yi)log(1y^i)]

  • y i y_i yi:实际类别标签(0 或 1)。
  • y ^ i \hat{y}_i y^i:模型输出的预测概率。

多分类交叉熵损失

在多分类问题中,假设类别有 k k k 个,模型输出为一个概率分布 y ^ i = [ y ^ i 1 , y ^ i 2 , … , y ^ i k ] \hat{y}_i = [\hat{y}_{i1}, \hat{y}_{i2}, \dots, \hat{y}_{ik}] y^i=[y^i1,y^i2,,y^ik],则多分类交叉熵损失的公式为:

Categorical Cross-Entropy = − 1 n ∑ i = 1 n ∑ j = 1 k y i j ⋅ log ⁡ ( y ^ i j ) \text{Categorical Cross-Entropy} = -\frac{1}{n} \sum_{i=1}^{n} \sum_{j=1}^{k} y_{ij} \cdot \log(\hat{y}_{ij}) Categorical Cross-Entropy=n1i=1nj=1kyijlog(y^ij)

  • y i j y_{ij} yij:实际类别的 one-hot 编码表示,即如果样本 i i i 属于类别 j j j,则 y i j = 1 y_{ij} = 1 yij=1,否则 y i j = 0 y_{ij} = 0 yij=0
  • y ^ i j \hat{y}_{ij} y^ij:模型输出的预测概率,表示样本 i i i 属于类别 j j j 的概率。

原理:

  1. 信息熵:交叉熵源于信息论中的“熵”概念,表示一个概率分布与目标分布之间的不确定性。熵越大,模型的预测结果越不确定。
  2. 对数函数:使用对数函数是为了惩罚模型对于实际类别的错误预测,对数值越接近0,损失越大。
  3. 求和:交叉熵通过对所有样本和类别求和,得出整体的损失值。

交叉熵损失函数在分类问题中非常常用,因为它直接与概率相关,能够准确反映模型对分类任务的表现。交叉熵越小,说明模型预测的概率分布与实际类别分布越接近。

这篇关于数学基础 -- 均方误差(Mean Squared Error, MSE)与交叉熵(Cross-Entropy)的数学原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1104527

相关文章

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf

uva 10025 The ? 1 ? 2 ? ... ? n = k problem(数学)

题意是    ?  1  ?  2  ?  ...  ?  n = k 式子中给k,? 处可以填 + 也可以填 - ,问最小满足条件的n。 e.g k = 12  - 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 with n = 7。 先给证明,令 S(n) = 1 + 2 + 3 + 4 + 5 + .... + n 暴搜n,搜出当 S(n) >=

uva 11044 Searching for Nessy(小学数学)

题意是给出一个n*m的格子,求出里面有多少个不重合的九宫格。 (rows / 3) * (columns / 3) K.o 代码: #include <stdio.h>int main(){int ncase;scanf("%d", &ncase);while (ncase--){int rows, columns;scanf("%d%d", &rows, &col

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显