Matlab - 神经网络训练

2024-04-19

我正在努力创建一个具有反向传播的 2 层神经网络。神经网络应该从 20001x17 向量获取数据,该向量在每行中包含以下信息:

- 前 16 个单元格包含从 0 到 15 的整数,它们充当变量,帮助我们确定在看到这些变量时要表达的 26 个字母中的哪一个。例如,如下一系列 16 个值旨在表示字母 A:[2 8 4 5 2 7 5 3 1 6 0 8 2 7 2 7]。

- 第 17 个单元格包含一个从 1 到 26 的数字,代表我们想要的字母表中的字母。 1代表A,2代表B等。

神经网络的输出层由 26 个输出组成。每次向神经网络输入如上所述的输入时,它都应该输出一个 1x26 向量,其中除了与输入值要表示的字母相对应的一个单元格之外,所有单元格均包含零。例如,输出 [1 0 0 ... 0] 将是字母 A,而 [0 0 0 ... 1] 将是字母 Z。

在展示代码之前,有一些重要的事情:我需要使用 traingdm 函数,并且隐藏层编号(目前)固定为 21。

为了创建上述概念,我编写了以下 matlab 代码:

%%%%%%%%
%Start of code%
%%%%%%%%

%
%Initialize the input and target vectors
%
p = zeros(16,20001);
t = zeros(26,20001);

%
%Fill the input and training vectors from the dataset provided
%
for i=2:20001
    for k=1:16
        p(k,i-1) = data(i,k);
    end
    t(data(i,17),i-1) = 1;
end

net = newff(minmax(p),[21 26],{'logsig' 'logsig'},'traingdm');

y1 = sim(net,p);

net.trainParam.epochs = 200;
net.trainParam.show = 1;
net.trainParam.goal = 0.1;
net.trainParam.lr = 0.8;
net.trainParam.mc = 0.2;
net.divideFcn = 'dividerand';
net.divideParam.trainRatio = 0.7;
net.divideParam.testRatio = 0.2;
net.divideParam.valRatio = 0.1;

%[pn,ps] = mapminmax(p);
%[tn,ts] = mapminmax(t);

net = init(net);
[net,tr] = train(net,p,t);

y2 = sim(net,pn);

%%%%%%%%
%End of code%
%%%%%%%%

现在我的问题是:我希望我的输出如所描述的那样,即 y2 向量的每一列都应该是一个字母的表示。但我的代码并没有这样做。相反,它产生的结果在 0 和 1 之间变化很大,值从 0.1 到 0.9。

我的问题是:是否有一些我需要做而我没有做的转换?意思是,我是否必须将输入和/或输出数据转换为一种形式,通过这种形式我可以真正看到我的神经网络是否正确学习?

任何意见将不胜感激。


这个是正常的。您的输出层使用 log-sigmoid 传递函数,这将始终为您提供 0 和 1 之间的一些中间输出。

您通常要做的就是寻找具有最大值的输出——换句话说,寻找最可能的字符。

这意味着,对于中的每一列y2,您正在查找包含该行中最大值的行的索引。您可以按如下方式计算:

[dummy, I]=max(y2);

I那么是一个包含每行中最大值的索引的向量。

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

Matlab - 神经网络训练 的相关文章

  • 用于多输入图像的 VGG16 网络

    我正在尝试将 VGG16 网络用于多个输入图像 使用具有 2 个输入的简单 CNN 训练该模型给了我一个 acc 大约 50 这就是为什么我想使用 VGG16 这样的既定模型进行尝试 这是我尝试过的 imports from keras a
  • MATLAB:解包函数

    我正在与 Mathworks 的某人讨论 unwrap http www mathworks com access helpdesk help techdoc ref unwrap html函数中对于 以外的跳跃容差有一个 bug 并且希望
  • Tensorflow Inception 多 GPU 训练损失未求和?

    我正在尝试检查多个 GPU 在一台机器上 的 Tensorflow 初始代码 我很困惑 因为据我所知 我们从不同的塔 又名 GPU 中得到了多次损失 但是loss评估的变量似乎只是最后一个塔的变量 而不是所有塔的损失之和 for step
  • 如何在快速人工智能中获得给定测试集的预测并计算准确性?

    我正在尝试加载由导出的学习者learn export 我想针对测试集运行它 我希望我的测试集有标签 以便我可以测量其准确性 这是我的代码 test src TextList from df df path cols texts split
  • 如何在 R 中导入 matlab 表

    我有一个matlab mat文件与表数据类型我想将其导入 R 中 我为此使用 readMat R 正在将其作为列表读取 之后有没有办法将列表转换为 R 中的数据帧或表格格式 当我使用as dataframe我收到以下错误 Error in
  • torch.stack() 和 torch.cat() 函数有什么区别?

    OpenAI 的强化学习 REINFORCE 和 actor critic 示例具有以下代码 加强 https github com pytorch examples blob master reinforcement learning r
  • Matlab 中二维插值的函数形式

    我需要从二维数据数组构造一个插值函数 我需要返回实际函数的东西的原因是 我需要能够将函数作为我需要进行数值积分的表达式的一部分进行计算 因此 interp2 并没有解决这个问题 它不返回函数 我可以使用 TriScatteredInterp
  • 如何在matlab中绘制彩色一维直方图

    我有一个一维数组 X 其中包含相关系数的统计数据 我想绘制一个彩色直方图 我使用以下代码 histogram X 10 它可以创建具有单色的直方图 现在我想绘制一个直方图 其中每个条形都有不同的颜色 但 FaceColor 选项只能调整整个
  • 使用 lsqcurvefit 进行拟合

    我想将一些数据拟合到洛伦兹函数 但当我使用不同数量级的参数时 我发现拟合存在问题 这是我的洛伦兹函数 function value lorentz x x0 gamma amp value amp gamma 2 x x0 2 gamma
  • 数组中 2 个百分位之间的平均元素

    我有 2 个长度为 200 的向量 例如 A 和 B 然后我使用以下方法找到数组 A 的每第二个百分位数 A1 prctile A 1 2 100 1 这样A1是一个长度为50的数组 现在我想找到A1中每两个元素内的A元素的平均值 即A的第
  • 带 if 语句的可向量化 FIND 函数 MATLAB

    我有一个矩阵u 我想遍历所有行和所有列并执行以下操作 如果元素非零 我返回行索引的值 如果元素为零 则查找该元素之后的下一个非零元素的行索引 我可以使用两个带有 find 函数的 for 循环轻松完成此操作 但我需要多次执行此操作 不是因为
  • 在 Matlab 2014b 中移动等高线图的 z 值

    我正在尝试绘制曲面图 在曲面下方我希望显示轮廓线 但我希望轮廓位于z 1而不是默认值0 我找到了之前关于这个问题的帖子here https stackoverflow com questions 8054966 matlab how to
  • Matlab 中 interp2 的类似 OpenCV Api

    有没有类似的功能 其工作原理与 interp2 x y frame z xd yd linear 0 在 OpenCV 中 功能cv remap 几乎可以满足您的要求 请参阅文档here http docs opencv org modul
  • MATLAB 链表

    有哪些可能的方法来实现链表MATLAB http en wikipedia org wiki MATLAB 注意 我问这个问题是为了教学价值 而不是实用价值 我意识到 如果您实际上在 MATLAB 中滚动自己的链表 那么您可能做错了什么 然
  • 是否有一个函数可以将两个元胞数组“压缩”在一起? [复制]

    这个问题在这里已经有答案了 假设我有一个元胞数组A and B as so A A B C D B 1 2 3 4 我想创建元胞数组C通过将 A 和 B 压缩 在一起 如下所示 C zip A B C A 1 B 2 C 3 D 4 这样的
  • 将 Android 应用程序与服务器上的 Matlab 应用程序连接

    我正在 Android 上开发一个应用程序 它将获取图像输入 并将该输入传递到安装 MATLAB 应用程序的服务器 MATLAB 应用程序将计算结果并将其返回到该 Android 应用程序 我想知道我可以使用哪个服务器 如何将 MATLAB
  • 如何制作 U 矩阵?

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

    I have a network In one place I want to use concat As on this picture 不幸的是 该网络无法训练 为了理解为什么我想连续改变权重 这意味着 FC4096 中的所有值一开始都
  • 如何在 R 或 MATLAB 中为散点图创建阴影误差条“框”

    我想在 R 或 MATLAB 中创建一个简单的散点图 涉及两个变量 x 和 y 它们有与之相关的错误 epsilon x 和 epsilon y 然而 我不是添加误差线 而是希望在每个 x y 对周围创建一个 阴影框 其中框的高度范围从 y
  • tf.keras.utils.image_dataset_from_directory,但标签来自 csv?

    请告诉我哪里出错了 我正在研究 Kaggle 狗品种分类挑战 我想尝试 one hot 编码与标签编码 图像未在图像目录中拆分 因此我无法将 推断 与 tf keras utils image dataset from directory

随机推荐

  • 使用 pyinstaller 在所有系统上保留字体

    我使用 tkinter 制作了一个 GUI 我用 pyinstaller 创建了 onefile exe 但设置的字体 font freesans ttf 不适用于其他计算机 我想我需要添加字体 但在与我类似的情况下 我不明白 pygame
  • 球体表面上测地线(最短距离路径)之间的交点

    我进行了广泛的搜索 但尚未找到该问题的合适答案 给定球体上的两条线 每条线由起点和终点定义 确定它们是否相交以及相交的位置 我找到了这个网站 http mathforum org library drmath view 62205 html
  • PowerShell 未启动

    由于某种原因 PowerShell 不再在我的计算机上打开 打开 PowerShell 会显示以下内容 但永远不会完成打开并且永远不会显示提示 Windows PowerShell Copyright C Microsoft Corpora
  • Android 模拟器上的 Mockito

    Android 新手尝试在 Android 中使用我最喜欢的 Java 测试工具 我正在尝试使用 Mockito 1 9 5 如以下博客文章中所述 但无法在我的模拟器上运行测试 我目前没有用于测试的物理设备 Mockit Android 教
  • Android 版百度地图:访问键无法用于位置搜索

    我正在为中国客户创建一个 Android 应用程序 他们需要地图集成 因此 Google 地图不是一个选择 因为所有 Google 服务在中国都被屏蔽 我正在尝试使用百度地图 它被称为百度LBS 基于位置的服务 云 获得没有叠加层的基本地图
  • GetMessage() 在主消息循环中会返回 -1 吗?

    根据获取消息API http msdn microsoft com en us library ms644936 28VS 85 29 aspx从 MSDN 库来看 出现错误时可能会返回 1 该文档提供了应避免的常见错误的代码片段 whil
  • Java:如何在 ScrollPane 视口上绘制非滚动覆盖?

    我想使用 ScrollPane 在其视口中显示图像 并且在图像上覆盖网格 或框 或任何其他类型的注册 位置标记 我需要覆盖层在滚动时保持固定 这意味着图像似乎在覆盖层 下方 移动 我将以固定速率滚动视口中的视图以提供平滑的运动 而叠加层将提
  • 在 JSX 中使用大括号声明 Const

    我刚刚开始使用 React Native 并习惯 JSX 语法 这就是我所说的吗 或者我在谈论 TypeScript 或者 ES6 反正 我见过这个 const foo this props 在类函数内部 大括号的用途是什么 使用它们和不使
  • 查找日历的第一天

    我想做的是创建一个简单的日历 我想找到特定月份第一周的第一天 我的日历是星期一 gt 星期日日历 以下代码可以工作 但正如您所看到的 它并不是那么好 任何人都对如何获取日历中的第一个日期有更好的想法 var now new DateTime
  • 如何让 wget 在网页索引文件的工作本地副本中包含日期和时间戳

    我有一份报告需要每天下载 我想每天下载一次该文件 并让该文件以 report date time html 结尾 示例代码 wget k p O C Users user Desktop New report date time html
  • 使用命令行查找数据文件的行数

    有一种常规方法 逐行读取并检查iostat每次读数时都会达到非零或负值 不过 我想打电话system command 例行公事和 使用wc l命令来计算数量 然后想要分配要放置数据的数组的维度 例如 我以两种方式打印行数 Program T
  • 在每个php脚本之前执行php脚本?

    除了将其放入所有 php 脚本之外 我如何在每个 php 脚本之前运行它 if SERVER REMOTE ADDR 123 123 123 123 SERVER REMOTE ADDR SERVER HTTP X REAL IP 我基本上
  • 如果 Exception 过滤器的过滤器抛出异常会发生什么

    我还没有在 C 6 中工作过 但想知道 正如标题所说 如果Exception过滤器的过滤器抛出异常会发生什么 我想真正的答案是 过滤器应该以永远不会抛出异常的方式编写 但我们可以说它确实如此 异常是否会发生在 catch 本身内部 try
  • Angular 5 订阅和取消订阅 Observable

    我必须从两个订阅获取数据 但我总是得到第一个订阅的数据 我有一个数据共享服务 import Injectable from angular core import BehaviorSubject from rxjs BehaviorSubj
  • 确定 numpy 数组中的相邻区域

    我正在寻找以下内容 我有一个 numpy 数组 它被标记为区域 numpy 数组表示分割图像 区域是具有相同值的多个相邻单元格 每个地区都有其独特的价值 包含 3 个区域的简化版本如下所示 x np array 1 1 1 1 1 2 2
  • 如何在代码构建中将命令的输出分配给变量

    每当推送到我的源代码时 我都会尝试构建一个 docker 映像 并将 docker 映像移动到 ECR EC2 容器注册表 我尝试过以下构建规范文件 version 0 2 env variables IMG app REPO lt
  • 如何在innerhtml中使用ajax和php更新mysql数据库

    如何使用ajax和php更新mysql数据库而不刷新页面 这里有一个好例子 http www w3schools com PHP php ajax database asp 它显示了一个SELECT声明 但它应该是直接的 并且可以轻松地将脚
  • Maxima:如何替换方程中的变量

    我正在尝试写下我的工作笔记 Maxima 简化我工作的方式是 一旦我编写了一堆方程并且我想要更改变量的定义 我就会这样做并重新评估整个文件 这是我想要实现的目标的示例 问题一 我有一个方程组 我想要从 Maxima 得到的只是变量替换 eq
  • Office 2016 共享按钮 IdMso

    我正在尝试禁用 Office 2016 应用程序右上角的新共享按钮 有谁知道通讯员IdMso吗 我尝试查找 IdMso 表 但只找到 Office 早期版本的表 Microsoft 已在此处发布了 Office 2016 的 ID Offi
  • Matlab - 神经网络训练

    我正在努力创建一个具有反向传播的 2 层神经网络 神经网络应该从 20001x17 向量获取数据 该向量在每行中包含以下信息 前 16 个单元格包含从 0 到 15 的整数 它们充当变量 帮助我们确定在看到这些变量时要表达的 26 个字母中