比较 MSE 损失和交叉熵损失的收敛性

2023-12-21

For a very simple classification problem where I have a target vector [0,0,0,....0] and a prediction vector [0,0.1,0.2,....1] would cross-entropy loss converge better/faster or would MSE loss? When I plot them it seems to me that MSE loss has a lower error margin. Why would that be? enter image description here

Or for example when I have the target as [1,1,1,1....1] I get the following: enter image description here


作为对已接受答案的补充,我将回答以下问题

  1. 从概率角度解释MSE损失和交叉熵损失是什么?
  2. 为什么分类用交叉熵,线性回归用MSE?

TL;DR如果(随机)目标变量来自高斯分布,则使用 MSE 损失;如果(随机)目标变量来自多项分布,则使用分类交叉熵损失。

MSE(均方误差)

线性回归的假设之一是多变量正态性。由此可见,目标变量呈正态分布(有关线性回归假设的更多信息,请参见here https://www.statisticssolutions.com/assumptions-of-linear-regression/ and here http://r-statistics.co/Assumptions-of-Linear-Regression.html).

Gaussian distribution(Normal distribution) https://en.wikipedia.org/wiki/Normal_distribution with mean eq2 and variance eq3 is given by
eq1
Often in machine learning we deal with distribution with mean 0 and variance 1(Or we transform our data to have mean 0 and variance 1). In this case the normal distribution will be,
eq4 This is called standard normal distribution.
For normal distribution model with weight parameter eq6 and precision(inverse variance) parameter eq6, the probability of observing a single target t given input x is expressed by the following equation

eq , where eq is mean of the distribution and is calculated by model as
eq

Now the probability of target vector eq given input eq can be expressed by

eq eq4
Taking natural logarithm of left and right terms yields

eq
eq eq
Where eq is log likelihood of normal function. Often training a model involves optimizing the likelihood function with respect to eq. Now maximum likelihood function for parameter eq is given by (constant terms with respect to eq can be omitted),

For training the model omitting the constant eq doesn't affect the convergence. eq This is called squared error and taking the mean yields mean squared error.
eq,

交叉熵

在讨论更一般的交叉熵函数之前,我将解释交叉熵的特定类型 - 二元交叉熵。

二元交叉熵

二元交叉熵的假设是目标变量的概率分布是由伯努利分布得出的。根据维基百科

伯努利分布是随机变量的离散概率分布, 以概率 p 取值 1 和值 0 概率 q=1-p

Probability of Bernoulli distribution random variable is given by
eq, where eq and p is probability of success. This can be simply written as eq
Taking negative natural logarithm of both sides yields

eq, this is called binary cross entropy.

分类交叉熵

交叉熵的推广遵循一般情况 当随机变量是多变量时(来自多项分布 )具有以下概率分布

两边取负自然对数会产生分类交叉熵损失。

eq10,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

比较 MSE 损失和交叉熵损失的收敛性 的相关文章

  • ExtJS GridPanel 中的垂直滚动条

    我正在开发一个项目 其中页面上有一个 GridPanel 该面板可以显示任意数量的行 并且我设置了 autoHeight 属性 这会导致 GridPanel 扩展以适合行数 我现在想要一个水平滚动条 因为在某些分辨率下 并非所有列都会显示
  • 反转默认比例梯度ggplot2

    我是新手 我正在尝试设计热图 这是我的代码 ggplot gd aes Qcountry Q6 1 Q6d order TRUE geom tile aes fill prob colour white theme minimal labs
  • Xcode 调试器显示错误的变量值

    我之前问过类似的问题here https stackoverflow com q 53092448 1187415 这个版本有更简单的例子 更新摘要 Xcode 在调试器变量部分中为每个字符串显示 FAIL Swift print 语句显示
  • Cassandra 中的数据分布

    我听说过 Cassandra 及其发行版 其实想知道数据在整个集群中是如何分布的现象 我的意思是 Cassandra 如何决定哪些节点拥有哪些数据 如果您了解 HashTable 数据结构以及 Hashtable 中如何进行哈希处理 那么这
  • 为什么 SQL Server 不推荐使用 SET ANSI_PADDING OFF?

    根据 MSDN BOL 在线书籍 SET ANSI PADDING http msdn microsoft com en us library ms187403 aspx 在 Microsoft SQL Server 的未来版本中 ANSI
  • bin 文件夹内任何文件的任何更改是否会导致 ASP.NET Web 应用程序中的应用程序回收?

    我知道在 ASP NET Web 应用程序中 更改位于bin文件夹会导致应用程序回收 但我想知道 正如主题所暗示的那样 是否any文件更改会导致这种行为吗 此场景中是否包含简单的文本文件 那么子文件夹呢 bin文件夹 它们的内容呢 我知道我
  • 并行 Haskell - GHC GC 火花

    我有一个正在尝试并行化的程序 带有可运行代码的完整粘贴here http lpaste net 101528 我进行了分析 发现大部分时间都花在findNearest这本质上是一个简单的foldr超过一个大Data Map findNear
  • 是否可以将 Vagrant 与 intelliJ 一起使用?

    假设我正在使用 Java 并使用 IntelliJ 来执行构建和部署等操作以及其他类似操作 我以前没有使用过 Vagrant 但是在运行 Vagrant 实例时是否可以继续使用 IntelliJ 进行构建和部署 是的 您可以将 IDE 与
  • 每次都在django查询数据库中过滤查询集吗?

    想象一下我有以下代码 qs Users objects all list for i in range 10 list append qs filter age i 这里过滤器被调用 10 次 它是连接到数据库 10 次还是第一次使用过滤器
  • 如何设置打开文件时默认展开?

    In my vimrc我已经把set foldmethod syntax启用方法折叠等 但是 我不喜欢每次打开文件时都会折叠整个文件的默认设置 有没有办法启用foldmethod 但是当我打开文件时文件是否展开了 set foldlevel
  • 带有客户端证书的android webview

    我尝试了几天使用嵌入在应用程序中的客户端证书的Web视图 但在我看来 android sdk没有提供任何方法来做到这一点 是否有回调来拦截服务器发送的质询 有没有办法将 webview 与客户端证书一起使用并发出 https 请求 因为我也
  • 从 Bigcommerce 的浏览器内存中删除注入的分析库?

    我们如何删除这个脚本注入器系统并清除内存中的函数 简报 最近 Bigcommerce 的不法分子以 监控 为幌子创建了一个分析注入器 JS 该注入器被锁定在全局变量中 他们在未经任何 OP 同意的情况下将其推广到所有 50 000 家前台商
  • 将十进制转换为十六进制

    首先 这是家庭作业 我正在尝试将 5 位数字读入寄存器 bx 假定该数字不大于 65535 16 位 以下是我尝试这样做的方法 但是 当我尝试打印该号码时 我仅打印输入的最后一位数字 这让我猜测 当我向 bx 添加另一个数字时 它会覆盖以前
  • 当页面加载图像时,它是只加载一次,还是每次在标记中找到它时加载?

    当页面加载图像时 它是只加载一次 还是每次在标记中找到它时加载 那么 jquery 呢 附加一个 img 会导致它再次重新加载吗 我问这个问题是因为我有高分辨率图像 但需要在标记的许多情况下使用它 img src hello jpg img
  • JavaScript Uncaught ReferenceError:jQuery 未定义;未捕获的引用错误:$未定义[重复]

    这个问题在这里已经有答案了 这是我的小提琴http jsfiddle net 4vaxE 35 http jsfiddle net 4vaxE 35 它在我的小提琴中工作得很好 但是 当我将其转移到dreamweaver时 它无法工作 我在
  • 高图表的分散工具提示未显示

    我有一个散点图和条形图 我无法查看酒吧上方散点的工具提示 这是小提琴http jsfiddle net tZ9Rt http jsfiddle net tZ9Rt 我正在使用这两个系列 series type scatter index 2
  • 在 Rx 中,如何按 id 对事件进行分组并按多个时间跨度限制每个组?

    可以这么说 我陷入了 Rx 热潮 这个问题与我的相关here https stackoverflow com questions 19425965 rx how to group by a key a complex object and
  • Django 无法覆盖表单字段小部件

    我需要在表单中生成基于列的复选框 myapp templates forms widgets custom html div class row for group options index in widget optgroups for
  • 使用 Fetch 发生超时错误 - React Native

    我有一个正在运行的用户登录功能 但是 我想在获取时加入超时错误 有没有办法设置一个 5 秒左右的计时器 这样在这个时间之后就会停止尝试获取 否则 一段时间后我就会出现红屏 提示网络错误 userLogin var value this re
  • 当支持 SPDY 的浏览器收到 HTTP2 (H2) 响应时会发生什么?

    我的直觉是 支持 SPDY 的浏览器会将其视为 SPDY 响应 然而 我能找到的最多的是 H2 响应将优雅地降级到 HTTP1 1 的保证 我正在考虑以面向 H2 的方式提供资产 多个请求 无域分片等 但我确实需要支持一些非 H2 浏览器

随机推荐

  • Mobile Safari:机身上的惯性滚动和最小的 UI 行为?

    这个问题需要一些解释 所以请耐心等待 与普遍看法相反 默认情况下 Mobile Safari 中的网页不启用惯性滚动 非常流畅的 60fps 滚动 由于它对用户体验产生了巨大的影响 在专门针对 iOS 进行 Modernizr 测试之后 我
  • 在 Spring Boot 1.4 中测试安全性

    我正在尝试测试 WebMvcTest与定义的自定义安全设置SecurityConfig class Configuration EnableWebSecurity public class SecurityConfig extends We
  • 如何在iOS中将UILabel的字体名称设置为HelveticaNeue Thin?

    我正在创建 UILabel 对于标签 我可以将字体名称设置为 HelveticaNeue Regular Light UltraLight 等 但我无法将字体名称设置为 HelveticaNeue Thin 它无法按预期工作 我喜欢 lab
  • ZoomExtents 方法调用的工作方式与通过手势激活 ZoomExtents 不同

    我一直在 MVVM 风格应用程序中开发一个小型 3D 预览窗口 创建视图 然后设置其数据上下文 因此 ZoomExtentsWhenLoaded True 似乎并不能帮助完成我需要的事情 我需要类似 ZoomExtentsWhenDataC
  • 如何使用ansible读取json文件

    我的 ansible 脚本所在的目录中有一个 json 文件 以下是json文件的内容 resources name package1 downloadURL path to file1 name package2 downloadURL
  • Apache Flink 如何处理倾斜数据?

    例如 我有一大堆单词 想统计每个单词的数量 问题是这些话是歪曲的 这意味着某些单词的频率会很高 但大多数其他单词的频率很低 在storm中 我们可以使用下面的方式来解决这个问题 首先对流进行随机分组 在每个节点中对窗口时间内本地的单词进行计
  • 为什么 JSF 2.2 在 Wildfly 上部分渲染 ajax 请求需要更多时间

    我正在努力将项目从 JSF 1 2 在 JBoss 4 2 3 上运行的 Richfaces 3 3 4 迁移到 JSF 2 2 在 Wildfly 8 1 0 上运行的 Richfaces 4 5 在部分迁移一些视图后 我发现使用 JSF
  • Objective C:Posing 可以在 ios 上使用吗?

    我正在尝试为一个 ios 项目实现摆姿势 场景 在运行时定义控制器类 https stackoverflow com questions 29424934 defining class of controller at run time 我
  • 如何将基于页面的 PHP 应用程序转换为 MVC?

    一段时间以来 我一直在努力解决如何使用 MVC 框架重新编码基于页面的 PHP 应用程序 仅作为背景 我必须将应用程序移至 MVC 因为我的老板正在让我这样做 不管怎样 我已经坐下来 打印出了目录结构 然后我开始尝试计划如何将这些页面转换为
  • 向 Keras 中 Flatten() 层的输出添加新功能

    我正在做图像分类 首先 我将图像输入 Keras 中的 CNN 模型 我想在 keras 中 Flatten 层的输出中添加新功能 然后将其输入到密集层 我该如何为其编写代码 基本上我对图像使用卷积 最后我想添加其他功能 例如年龄性别等 m
  • 如何使用lua打乱单词的字母

    我在 PHP 中使用了这个 str shuffle 函数 和梅卡this api https i stack imgur com papuI png我需要做同样的想法 将字母打乱 字母之间有空格 但使用 lua 对于使用电报机器人 我进行了
  • scrollIntoView 在所有浏览器中都有效吗?

    Does scrollIntoView 适用于所有浏览器 如果没有的话有没有jQuery选择 是的 但用户体验很差 正如 9bits 指出的那样 这长期以来一直是所有主流浏览器都支持 https developer mozilla org
  • 当 C 说全局变量的启动值为零时,是否也意味着结构成员?指针的初始值是多少?

    当 C 说全局 static 变量的启动值为零时 是否也意味着结构成员 全局 静态 指针的初始值是多少 无效的 是的 这是由 C99 6 7 8p10 指定的 如果一个对象具有自动 存储期限未初始化 明确地 它的值是 不定 如果一个对象有
  • 打印 char 数组的一部分

    So char someCArray something 我想从 某物 中打印出 ethin 您可以使用printf精度说明符 include
  • 在循环中替换 Pandas 数据框中的值

    我正在尝试循环遍历 pandas 数据框 并在某些列中的值满足某些条件时替换它们 我意识到一般有更直接的方法可以做到这一点 但在我的具体示例中 我需要一个循环 因为一行的结果可能取决于前一行 下面是一个可重现的错误示例 当我尝试替换文本时
  • `.map(f)` 和 `.map(|x| f(x))` 有什么区别?

    做的时候沙沙声standard library types iterators2 rs https github com rust lang rustlings blob main exercises standard library ty
  • 替换SWF中的字符串[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们已经为大型 Flash 项目的不同客户修改了数十个 SWF 版本 现在必须替换每个副本中脚本中嵌入的
  • 将 RMagick 与 Ocra 捆绑在一起

    我正在尝试使用 Ocra 创建 Ruby 脚本的可移植版本 该脚本取决于rmagick这还需要安装 ImageMagick 生成的可执行文件在我的计算机上可以运行 但在其他所有计算机上都会失败 除非最终用户手动安装 ImageMagick
  • 取消引用双指针

    我有一段代码片段 我无法理解它是如何工作的 因为有一行执行了双重取消引用 代码如下所示 void afunction int x x malloc 2 sizeof int x 12 x 1 13 int main int v 10 afu
  • 比较 MSE 损失和交叉熵损失的收敛性

    For a very simple classification problem where I have a target vector 0 0 0 0 and a prediction vector 0 0 1 0 2 1 would