输出神经元是 1 个好还是 10 个好?

2024-02-04

最好有:

1 个输出神经元,输出 0 到 15 之间的值,这将是我的最终值

or

16 个输出神经元输出 0 到 1 之间的值,该值代表该值的概率?

示例:我们想通过输入学生的学习小时数和智商来找出他的成绩(范围从 0 到 15)。


TL;DR:我认为你的问题最好作为回归任务来构建,因此使用一个输出神经元,但值得尝试两者。

与非常具体的答案相比,我不太喜欢你的问题的广泛性,所以我将更深入地解释什么才是正确的表述。

在开始之前,我们应该澄清经典人工神经网络执行的两大任务:

  1. 分类
  2. 回归

他们是本质上彼此非常不同 https://math.stackexchange.com/questions/141381/regression-vs-classification;简而言之,分类试图在你的输入上贴上标签(例如,输入图像显示dog),而回归尝试预测一个数值(例如,输入数据对应于具有估计价值150万美元).
显然,您可以看到预测数值只需要(简单地)one产值。另请注意,这仅适用于这个具体的例子。可能还有其他回归用例,在这些用例中,您希望输出的维度超过 0(即单个点),而是 1D 或 2D。
一个常见的例子是图像着色 http://cs231n.stanford.edu/reports/2016/pdfs/219_Report.pdf,有趣的是,我们也可以将其框架为分类问题。提供的链接显示了两者的示例。在这种情况下,您显然必须对每个像素进行回归(或分类),这会导致多个输出神经元。

现在,为了解决您的实际问题,我想详细说明为什么首选单热编码输出(即具有与类一样多的通道的输出)的推理用于分类任务在单个神经元上。
由于我们可以认为单个神经元足以预测类别值,因此我们必须理解为什么以这种方式到达特定类别是有问题的。

分类变量、序数变量、区间变量 https://stats.idre.ucla.edu/other/mult-pkg/whatstat/what-is-the-difference-between-categorical-ordinal-and-interval-variables/

主要问题之一是type你的变量。在您的情况下,存在明确的顺序(15 比 14 好于 13 等),甚至存在间隔排序(至少在纸上),因为 15 和 13 之间的差异与 14 之间的差异相同和 12,尽管一些学者可能会反对这一点;-)
因此,您的目标是一个区间变量,因此理论上可以用于对其进行回归。稍后会详细介绍。但例如,考虑一个描述图像是否描绘猫 (0)、狗 (1) 或汽车 (2) 的变量。现在,可以说,我们甚至不能对变量进行排序(是汽车>狗,还是汽车现在这仍然对应于狗,还是更接近于汽车?但如果图像实际上描绘了一辆具有猫的属性 https://3.bp.blogspot.com/-KJfevJKhqnU/T-v4fJ6iOwI/AAAAAAAAGH8/pKyLYLa0SOU/s1600/the-pink-funny-car-cat-costume-02.jpg?
另一方面,拥有 3 个独立的神经元来反映每个类别的不同概率可以消除该问题,因为每个神经元都可以描述相对“未受干扰”的概率。

如何失去功能

另一个问题是上一个例子中如何通过网络进行反向传播的问题。传统上,分类任务利用交叉熵损失 https://ml-cheatsheet.readthedocs.io/en/latest/loss_functions.html(CE),而回归使用均方误差(MSE)作为衡量标准。这两者本质上是不同的,尤其是 CE 和 CE 的组合Softmax https://developers.google.com/machine-learning/crash-course/multi-class-neural-networks/softmax导致非常方便(且稳定)的推导 https://deepnotes.io/softmax-crossentropy.
可以说,您可以应用舍入从 1.4 得到一个简洁的类值(在这种情况下为 1),然后使用 CE 损失,但这可能会导致数值不稳定;另一方面,MSE 永远不会给你一个“明确的类别值”,而更多的是一个回归估计。


最后,问题归结为:我有分类或回归问题吗。就您而言,我认为这两种方法都可以很好地发挥作用。 (分类)网络可能无法识别不同输出类别之间的相关性;即,很有可能进入 14 年级的学生获得 3 分或更低的概率基本上为零。另一方面,由于其他原因,回归可能无法准确预测结果。
如果您有时间,我强烈鼓励您尝试这两种方法。现在,考虑到目标的区间类型,我个人会进行回归任务,并使用舍入训练完网络后并能做出准确的预测。

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

输出神经元是 1 个好还是 10 个好? 的相关文章

  • 自动同义词检测方法

    我目前正在研究一种基于神经网络的短文档分类方法 由于我正在使用的语料库通常在十个单词左右 因此标准统计文档分类方法的用途有限 因此 我正在尝试对训练中提供的匹配实施某种形式的自动同义词检测 更具体地说 我的问题是关于解决以下情况 假设我有
  • 如何使用 python 将 .mp3 文件转换为频率和振幅数组?

    我想设计一个神经网络 训练后将 mp3 文件作为输入 然后根据训练 以 1 10 的等级来决定音乐的好坏 但为此 我需要将音频文件转换为波长 频率 振幅和定义音乐所需的所有其他参数的数组 然后使用这些数组作为神经网络的输入 我应该如何解决这
  • Encog/neuroph 保存神经网络

    我是神经网络领域的新手 说实话 我几天前才开始 我想在我的 OCR 应用程序中使用神经网络来识别手写文本 我想知道的是 是否可以在初始训练后训练网络 换句话说 我将在开始时训练几个字符 但我想稍后向网络添加更多字符 而不影响之前训练的数据的
  • 反向传播实现问题

    我应该做什么 我有一个黑白图像 100x100px 我应该训练一个反向传播 http en wikipedia org wiki Backpropagation神经网络与该图像 输入是图像的 x y 坐标 从 0 到 99 输出是 1 白色
  • 如何解释和转换 Keras 分类器的预测值?

    我正在训练我的 Keras 模型来预测 使用提供的数据参数 它是否会射击 并且它将以 0 表示否 1 表示是的方式表示 然而 当我尝试预测它时 我得到的是浮点值 我尝试使用与训练数据完全相同的数据来获取 1 但它不起作用 我使用下面的数据尝
  • 如何计算 CNN 第一个线性层的维度

    目前 我正在使用 CNN 其中附加了一个完全连接的层 并且我正在使用尺寸为 32x32 的 3 通道图像 我想知道是否有一个一致的公式可以用来计算第一个线性层的输入尺寸和最后一个卷积 最大池层的输入 我希望能够计算第一个线性层的尺寸 仅给出
  • 如何在快速人工智能中获得给定测试集的预测并计算准确性?

    我正在尝试加载由导出的学习者learn export 我想针对测试集运行它 我希望我的测试集有标签 以便我可以测量其准确性 这是我的代码 test src TextList from df df path cols texts split
  • caret::train:为 mlpWeightDecay(RSNNS 包)指定更多非调整参数

    我在使用插入符号包和 RSNNS 包中的 mlpWeightDecay 方法指定学习率时遇到问题 mlpWeightDecay 的调整参数是大小和衰减 将大小保持为 4 并在 c 0 0 0001 0 001 0 002 上调整衰减的示例
  • 实例标准化与批量标准化

    据我所知 批量归一化通过将激活转向单位高斯分布来帮助加快训练速度 从而解决梯度消失问题 批量归一化行为在训练 使用每个批次的平均值 var 和测试时间 使用训练阶段的最终运行平均值 var 时应用不同 另一方面 实例归一化充当本文提到的对比
  • 神经网络的局部逆

    我有一个带有 N 个输入节点和 N 个输出节点的神经网络 可能还有多个隐藏层和循环 但让我们先忘记这些 神经网络的目标是学习一个N维变量Y 给定N维值X 假设神经网络的输出是Y 学习后应该接近Y 我的问题是 是否有可能得到输出 Y 的神经网
  • 将数值和分类数据混合到具有密集层的 keras 序列模型中

    我在 Pandas 数据框中有一个训练集 我将此数据框传递到model fit with df values 以下是有关 df 的一些信息 df values shape 981 5 df values 0 array 163 0 6 83
  • 如何以 HDF5 格式提供 caffe 多标签数据?

    我想将 caffe 与矢量标签一起使用 而不是整数 我检查了一些答案 似乎 HDF5 是更好的方法 但后来我陷入了这样的错误 precision layer cpp 34 检查失败 outer num inner num bottom 1
  • 如何制作 U 矩阵?

    为了可视化一个 U 矩阵到底是如何构建的自组织映射 http en wikipedia org wiki Self organizing map 更具体地说 假设我有一个 3x3 节点的输出网格 已经经过训练 我如何从中构造一个 U 矩阵
  • Keras Maxpooling2d 层给出 ValueError

    我正在尝试在 keras 中复制 VGG16 模型 以下是我的代码 model Sequential model add ZeroPadding2D 1 1 input shape 3 224 224 model add Convoluti
  • 我可以在反向传播期间(有选择地)反转 Theano 梯度吗?

    我热衷于利用最近论文中提出的架构 通过反向传播进行无监督域适应 http arxiv org pdf 1409 7495 pdf 在 Lasagne Theano 框架中 这篇论文的有点不同寻常之处在于它包含了一个 梯度反转层 invert
  • 支持向量机或人工神经网络进行文本处理? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 对于某些文本处理项目 我们需要在支持向量机和快速人工神经网络之间做出选择 它包括上下文拼写纠正 然后将文本标记为某些短语及其同义词 哪种方
  • 如何反转 dropout 来补偿 dropout 的影响并保持期望值不变?

    我正在学习神经网络中的正则化deeplearning ai课程 在dropout正则化中 教授说 如果应用dropout 计算出的激活值将比不应用dropout时 测试时 更小 因此 我们需要扩展激活以使测试阶段更简单 我理解这个事实 但我
  • 梯度下降有哪些替代方案?

    梯度下降存在局部极小值问题 我们需要运行梯度下降指数次来找到全局最小值 谁能告诉我梯度下降的任何替代方案及其优缺点 Thanks See 我的硕士论文 https arxiv org pdf 1707 09725 pdf page 96对于
  • 为神经网络打乱两个 numpy 数组

    我有两个 numpy 数组用于输入数据 X 和输出数据 y X np array 2 3 sample 1 x 16 4 dtype float sample 2 x y np array 1 0 sample 1 y 0 1 dtype
  • Caffe 的 LSTM 模块

    有谁知道 Caffe 是否有一个不错的 LSTM 模块 我从 russel91 的 github 帐户中找到了一个 但显然包含示例和解释的网页消失了 以前是http apollo deepmatter io http apollo deep

随机推荐

  • Perl - 如何将哈希转换为查询字符串?

    如何将哈希值转换为查询字符串 我想找到一个不涉及使用 CGI 模块的解决方案 这是我想做的一个例子 但不知道最好和最优雅的方法是什么 因为我对 Perl 比较陌生 Hash my data key1 gt value1 key2 gt va
  • 使用 xml/app.config 配置温莎城堡

    我目前正在使用温莎城堡构建一个示例应用程序 座右铭是使用 xml app config 来打开 关闭方法拦截 我之前使用过 Fluent API 它很有魅力 下一步 我尝试用我的 xml 替换 Fluent API 代码要点如下 一个名为
  • Symfony2 路由中的默认语言环境

    我在使用 Symfony2 构建的站点的路由和国际化方面遇到问题 如果我在routing yml 文件中定义路由 如下所示 example pattern locale example defaults controller Example
  • 在 python 中,以下 AutoVivification 类如何工作?

    在寻找使用嵌套字典的方法时 我发现了以下代码nosklo https stackoverflow com users 17160 nosklo 我想对此进行解释 class AutoVivification dict Implementat
  • 为什么表达式树中需要转换

    From 这个问题 https stackoverflow com questions 5067120 expression trees and nullable types我5分钟前问过 很明显下面的代码抛出了一个异常 指出 未处理的异常
  • 不兼容类型 - 发现:int 必需:boolean

    如果第一个数字输入等于第二个输入 我试图显示 EQUIVALENT 我的代码有什么问题吗 import java io public class TwoNum public static void main String args int
  • 从位于 docker 容器中的服务访问主机数据库

    如果我有一个在主机 操作系统 Linux 上运行的 Postgres 数据库 并且在 docker compose 的容器中运行一些服务 如何从容器中的服务访问数据库 docker compose 中服务的 yaml 文件应该是什么样子 在
  • 新的 PayPal 沙盒 - 疯狂的事情 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions Paypal 的人改变了一些东西 在
  • PHP版本升级5.3.25至5.6

    我们需要将 PHP 版本 5 3 25 升级到当前稳定版本 5 6 17 因此 为此我们需要找到最好的方法 逐步的方法 我们可以从5 3 X升级到5 4 X 5 4 X到5 5 X等等 直接升级 这里我们直接从5 3 X升级到5 6 X 除
  • Pandas 在 Windows 终端中绘图

    我有一个简单的熊猫数据框 尝试从 IPython 的 Windows 10 终端会话进行绘图给出了以下结果 In 4 df pd DataFrame Y 1 3 5 7 9 X 0 2 4 6 8 In 5 df Out 5 X Y 0 0
  • mongodb 转储并通过管道连接到其他数据库名称

    Mongodb 版本 3 2 12 我有两个本地数据库 base1 和 base2 我想将所有数据 所有集合 从base1复制到base2 替换那里的所有内容 就像将生产转储到开发环境时一样 任何管道命令 或其他简单的方法 可以做到这一点
  • 将鼠标悬停在类上并修改另一个类

    我有一个网格布局 里面是一个宽度为 64px 的侧边栏 网格 container display grid height 100vh width 100vw grid template areas sidebar header sideba
  • 比较浮点数与 numpy 和 scipy

    numpy 或 scipy 模块中是否有 epsilon 常量 如 Matlab 中的 来比较浮点数 您可以使用np finfo http docs scipy org doc numpy reference generated numpy
  • 重复加载同一张图像

    我的网站的 cms 部分有一个页面 启用了 JavaScript 可以强制选择浏览器 它是一个包含大量图像的日历 img src 1 gif img src 1 gif img src 1 gif img src 1 gif img src
  • 查找跨越文本的多行并使用 PowerShell 进行替换

    我正在使用正则表达式搜索来匹配和替换一些文本 文本可以跨越多行 可能有也可能没有换行符 目前我有这个 regex lt php eval gt Get ChildItem exclude bak Where Object Attribute
  • 在 Eclipse 中添加应用程序启动快捷方式?

    我在 Eclipse 中进行 Android 编程已经大约一年了 我总是通过在项目资源管理器中右键单击我的项目名称 然后依次选择 运行方式 和 Android 应用程序 来启动我的应用程序 一定有更好的方法 有没有办法改变这个 点击三下鼠标
  • IE 输入类型日期未显示为日期选择器[重复]

    这个问题在这里已经有答案了 我在 HTML 中使用输入类型 DATE 在 Chrome 和 Firefox 中一切正常 但 IE 不显示日期选择器 当我使用 JQuery Datepicker 时 我在 Chrome 和 Firefox 中
  • 如何为所有的nosetests测试定义一个设置函数?

    我正在使用带有 python 的谷歌应用程序引擎 并想使用nosetest运行一些测试 我希望每个测试都运行相同的设置功能 我已经进行了很多测试 所以我不想遍历所有测试并复制并粘贴相同的功能 我可以在某处定义一个设置函数并且每个测试都会首先
  • HANDLE 类似于 Linux 中的文件描述符吗?

    HANDLE 类似于 Linux 中的文件描述符吗 据我所知 HANDLE用于处理Windows上的所有资源 例如字体 图标 文件 设备 它本质上只是一个指向保存特定资源数据的内存块的空指针 是的 Windows 句柄与 Unix 文件描述
  • 输出神经元是 1 个好还是 10 个好?

    最好有 1 个输出神经元 输出 0 到 15 之间的值 这将是我的最终值 or 16 个输出神经元输出 0 到 1 之间的值 该值代表该值的概率 示例 我们想通过输入学生的学习小时数和智商来找出他的成绩 范围从 0 到 15 TL DR 我