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 - 神经网络训练 的相关文章

  • 括号中的波形符字符

    在 MATLAB 中 以下代码执行什么操作 m func returning matrix 波浪号运算符 的作用是什么 在 Matlab 中 这意味着不要将函数中相应的输出参数分配到赋值的右侧 因此 如果func returning mat
  • 使 pycaffe 致命错误:找不到“Python.h”文件

    我在运行 OSX 10 9 5 的 Mac 上编译了 caffe 并且我知道尝试编译 pycaffe 当我在 caffe 根文件夹中运行 make pycaffe 时 我得到 CXX LD o python caffe caffe so p
  • 如何使用DecisionTreeClassifier平衡分类?

    我有一个数据集 其中类别不平衡 课程是0 1 or 2 如何计算每个类别的预测误差然后重新平衡weights相应地在 scikit learn 中 如果您想完全平衡 将每个类别视为同等重要 您可以简单地通过class weight bala
  • 理解高斯混合模型的概念

    我试图通过阅读在线资源来理解 GMM 我已经使用 K 均值实现了聚类 并且正在了解 GMM 与 K 均值的比较 以下是我的理解 如有错误请指出 GMM 类似于 KNN 在这两种情况下都实现了聚类 但在 GMM 中 每个簇都有自己独立的均值和
  • 通过 Matlab 访问 Physionet 的 ptbdb 中的数据库

    我首先设置系统 old path which rdsamp if isempty old path rmpath old path 1 end 8 end wfdb url http physionet org physiotools ma
  • batch_size = x.shape[0] AttributeError: 'tuple' 对象没有属性 'shape'

    该代码结合图像和掩模进行图像检测 我怎样才能纠正这个错误 batch size x shape 0 AttributeError tuple 对象没有属性 shape 这是用于训练的代码 train datagen ImageDataGen
  • 如何在 matlab 中创建由多个 3d 图像数据数组组成的数组

    我正在阅读 15 张图片imagedata imread imagename jpg 它的大小总是320 by 320 by 3 如何将数据放入数组中 使用 for for 循环 以便在访问新数组的第一个元素时获得输入的第一个图像的 RGB
  • 如何更改Plotyy第二轴的颜色和字体大小?

    我使用 MATLAB 的plotyy 函数绘制了两条曲线 AX H1 H2 plotyy voltage span amplitude voltage span Ca SR The problem is that I cannot chan
  • MATLAB 中的霍夫变换

    有谁知道如何使用霍夫变换来检测二值图像中最强的线 A zeros 7 7 A 6 10 18 24 36 38 41 1 使用 rho theta 格式 其中 theta 以 45 为步长 从 45 到 90 以及如何在 MATLAB 中显
  • ROC曲线和libsvm

    给定一条 ROC 曲线plotroc m see here http www csie ntu edu tw cjlin libsvmtools roc curve for binary svm 理论问题 如何选择要使用的最佳阈值 编程问题
  • 对象检测 ARKit 与 CoreML

    我正在建设ARKitiPhone 的应用程序 我需要检测特定的香水瓶并根据检测到的内容显示内容 我使用来自developer apple com的演示应用程序来扫描现实世界的对象并导出 arobject我可以在资产中使用的文件 它工作正常
  • 快速有效地计算已知特征值的特征向量

    我的问题的简短版本 计算矩阵特征向量的最佳方法是什么A 如果我们已经知道属于特征向量的特征值呢 更长的解释 我有一个很大的随机矩阵A由于它是随机的 因此具有非负左特征向量x 这样A Tx x 我正在寻找快速有效的方法来数值计算这个向量 最好
  • MATLAB 类的 Description 和DetailedDescription 属性

    内置 MATLAB 类具有 Description 和 DetailedDescription 属性的值 gt gt handle ans meta class handle Package meta Properties Name han
  • matlab中求和函数句柄

    Hi我试图对两个函数句柄求和 但它不起作用 例如 y1 x x x y2 x x x 3 x y3 y1 y2 我收到的错误是 对于 function handle 类型的输入参数 未定义函数或方法 plus 这只是一个小例子 实际上我实际
  • MATLAB 列含义的内存分析

    我正在使用 MATLAB 配置文件来使用命令观察内存 profile memory on profile clear my code profile report and i got this table 1 我想问一下什么意思 已分配内存
  • 如何处理分类中的低频样本?

    我面临一个文本分类问题 我需要将示例分类为 34 组 问题是 34组的训练数据大小不平衡 对于某些组 我有 2000 多个示例 而对于某些组 我只有 100 多个示例 对于一些小群体 分类准确率相当高 我想这些群体可能有特定的关键词来识别和
  • 在 C++ 中使用 matlab 结构(matlab 函数调用的返回值)(由 matlab 编译器生成的库)

    你好 我有一个相当简单的 matlab 函数 例如 function MYSTRUCT myfunc MYSTRUCT prop1 test MYSTRUCT prop2 foo MYSTRUCT prop3 42 end 我用 matla
  • 读出 Matlab / Octave fft2() 函数输出的特定点

    我正在熟悉 Octave 及其功能fft2 在此玩具示例中 我的目标是生成以下 256 x 256 png 图像的 2D DFT 为了能够轻松理解输出 我尝试将此图像转换为 256 x 256 图像 消除颜色信息 Im imread cir
  • Matlab:如何在没有颜色分级的情况下绘图?

    我的朋友制作了一个脚本来处理大量数据并绘制各种图表 但是当他运行脚本时 图表根据图例具有不同的颜色 当我这样做时 所有图表都相似 颜色渐变从黑色到红色的 见图 为什么不同以及如何获得不同颜色的图表 带有颜色分级图的 2D 绘图 figure
  • 在 CatBoost 中测量 AUPRC

    我想测量catboost中精确回忆曲线 AUPRC 曲线下的面积 但是CatBoostClassifier 没有AUPRC作为评估指标 任何有助于我衡量此绩效指标的建议将不胜感激 这是我使用的代码 model CatBoostClassif

随机推荐

  • 使用 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 个字母中