MATLAB R2021b(07)

2023-11-09

详细原文介绍:

神经网络入门随记 以及 matlab中神经网络工具箱的使用

关于神经网络的非常基础概念 个人笔记 不具权威性 仅供参考
欢迎指正错误 提供意见 交流讨论等

1.思路简介

我们有一个数据,称之为样本。样本有四个属性,其中三个属性已知(特征),一个属性未知(目标)。我们需要做的就是通过三个已知属性(特征)预测未知属性(目标)。

具体办法就是使用神经元的公式进行计算。三个已知属性(特征)的值是a1,a2,a3,未知属性(目标)的值是z。z可以通过公式计算出来。

这里,已知的属性称之为特征,未知的属性称之为目标。

假设特征与目标之间确实是线性关系,并且我们已经得到表示这个关系的权值w1,w2,w3。那么,我们就可以通过神经元模型预测新样本的目标。

2.权重

连接是神经元中最重要的东西。每一个连接上都有一个权重。

一个神经网络的训练算法就是让权重的值调整到最佳,以使得整个网络的预测效果最好。

在神经元模型里,每个有向箭头表示的是值的加权传递。
用a表示输入,w表示权值,在连接的末端,信号的大小就变成了a*w。

3.工具箱

(1)首先是导入数据
从MATLAB左上角处选择“主页”,再选择“导入数据”。打开文件,选择所需数据(可对导入数据组更改命名),再点击右上角“导入所选内容”。

注意:输出类型选择“数值矩阵

我准备做的是一个面积运算,AB列分别是宽和高,C列为面积输出。
在这里插入图片描述

(2)选择工具箱
本文工具箱选用“nftool”,即神经网络拟合(neural net fitting),可在APP内选取 or 命令行输入。
接着导入数据,注意对观测值的行列选取(此处主要是行列矩阵的一个区分吧)。它默认是列,但如果是excel导入的,一般改成行,具体因样本而异。然后点击确定,准备训练。

注意:一般训练数据默认70%(据网上资料介绍7-8都差不多),太大会过拟合,太小欠拟合。
在这里插入图片描述
此处,层大小是指隐藏层神经元个数(Number of Hidden Neurons)
关于神经网络层数的问题,可见链接跳转知乎专栏文章

另外附:
MATLAB神经网络工具箱nntool

(3)开始训练
点击训练,稍等片刻后,看“训练结果”栏,分析相关数据。在这里插入图片描述
MSE:表示目标函数损失,全称检验神经网络算法的误差分析,value越低越好。
R:输出和目标之间的相关性。1表示密切关系,0表示随机关系。

补充:
损失函数(loss):用来表示预测与已知答案的差距。在训练神经网络时,通过不断改变神经网络中所有参数,使损失函数不断减小,从而训练出更高准确率的神经网络模型。常用的损失函数有均方误差(MSE),自定义和交叉熵等。

(4)训练 验证 测试

训练:432 * 0.7 = 302.4 选取302个样本
验证和测试:432 * 0.15 = 64.8 选取65个样本
此时,训练验证和测试共计432个样本,完成一个神经网络训练。

  • 训练数据集:用于模型拟合的数据样本。确定模型权值等。
  • 验证数据集:用于调整模型的超参数,为拟合后的模型提供无偏评估。如果模型配置中已包括在验证集上的调整,则该评估偏差会更大。
  • 测试数据集:为拟合后的最终模型提供无偏评估。测试已经训练好的模型的推广能力。当然,test set这并不能保证模型的正确性,他只是说相似的数据用此模型会得出相似的结果。

三者关系参考文章跳转

(5)生成代码

Ⅰ(导出模型出可生成函数代码)
在这里插入图片描述
生成后可查看各个性能参数。

可以保存脚本,然后从命令行运行它,以重现上次训练会话的结果。
也可以编辑脚本来自定义训练过程。
在这里插入图片描述
performance,误差函数,这里选用的是MSE。
ps:
如果迭代次数到达了1000,应该说明性能不是很好。在1000前停下来表示,已经运算达到了最佳值,所以自动停下。

Ⅱ 点击导出模型下拉框

这里我选择了第四个选项
在这里插入图片描述

命令行输入:

B_test05(x1)

输出(一共432个,太多了,截取片段):

ans =

   1.0e+04 *

  列 1 至 9

    0.0009    0.0015    0.0068    0.0910    
    0.0558    0.0518    0.0280    0.6237    0.0600

对比自己导入的输入输出数据,结果一致

下面自己输入新数据验证:
在这里插入图片描述
在这里插入图片描述
可见数值结果接近但是仍然有误差,需要改进。

4.Excel自己生成随机数值:

选中区域,输入

=RANDBTWEEN(a,b)

按下ctrl+enter即可生成随机数值。

其中,a为随机数值的最小取值,b为最大。输入行查找函数时,大小写不限。

pppppps(补充几个选中区域的常用快捷键):
ctrl+shift+↓ 选中一整列(列的尽头是1048576(狗头
ctrl+shift+→ 选中右边一整行(行的尽头是XFD
↑ ← 同理

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

MATLAB R2021b(07) 的相关文章

  • 这是 `min` 和 `nanmin` 之间的区别; Matlab 中的“max”和“nanmax”?

    Matlab描述nanmin and nanmax像这样 NANMIN最小值 忽略NaNs NANMAX最大值 忽略NaNs 但实际上 min and max ignore NaNs too 那我应该使用哪个 根据我的测试 nanmin a
  • 在 MATLAB 中用两个值替换向量值

    我必须创建一个以向量作为输入的函数v和三个标量a b and c 该函数替换了的每个元素v等于a有一个二元素数组 b c 例如 给定v 1 2 3 4 and a 2 b 5 c 5 输出将是 out 1 5 5 3 4 我的第一次尝试是尝
  • 在 Matlab 中快速加载大块二进制文件

    我有一些相当大的 int16 格式的数据文件 256 个通道 大约 75 1 亿个样本 每个文件约 40 50 GB 左右 它以平面二进制格式编写 因此结构类似于 CH1S1 CH2S1 CH3S1 CH256S1 CH1S2 CH2S2
  • 是否有一个函数可以检查矩阵是否对角占优(行占优)

    矩阵是对角占优 http en wikipedia org wiki Diagonally dominant matrix 按行 如果对角线处的值在绝对意义上大于该行中所有其他绝对值的总和 对于列也是如此 只是相反 matlab中有没有函数
  • MATLAB:比较两个不同长度的数组

    我有两个长度不同的数组 由于采样率不同 需要比较 我想对较大的数组进行下采样以匹配较小的数组的长度 但是该因子不是整数而是小数 举个例子 a 1 1 375 1 75 2 125 2 5 2 875 3 25 b 1 2 3 有什么方法可以
  • 同时重新排序和旋转图像的高效方法

    为了快速加载 jpeg 我为turbojpeg 实现了一个 mex wrapper 以有效地将 大 jpeg 读入 MATLAB 对于 4000x3000px 的图像 实际解码只需要大约 120 毫秒 而不是 5 毫秒 然而 像素顺序是 R
  • 如何在Matlab中将世界坐标转换为像素索引

    我有 512x512x313 体积的 dicom 图像 并且我有一个以世界坐标表示的点 57 7475 63 4184 83 1515 我如何在 Matlab 中获得该世界坐标的相应像素坐标 我不想戳破你的幻想 但你所要求的是不可能的 我能
  • 为什么 MATLAB 本机函数 cov(协方差矩阵计算)使用与我预期不同的除数?

    给定一个 M 维和 N 个样本的数据矩阵数据 例如 data randn N M 我可以计算协方差矩阵 data mu data ones N 1 mean data cov matrix data mu data mu N 如果我使用原生
  • 定义自定义 Mupad 程序的一般相对搜索路径

    假设我有一个 mupad 笔记本myMupadNotebook mn在路径上 C projectFolder ABC abc 它调用程序MyMupadProcedure mu它位于 C DEF GHI 现在我有一个 Matlab 脚本mai
  • 非模态 questdlg.m 提示

    我的代码绘制了一个图 然后提示用户是否想使用不同的参数绘制另一个图 问题是 当 questdlg m 打开时 用户无法查看绘图的详细信息 这是代码 while strcmp Cont Yes 1 Some code modifying da
  • 从 Java 运行 MATLAB 函数

    我在 MATLAB 中有一个 m 文件 我想从 Java 调用该文件 并以字符串或 Java 中的任何形式获取解决方案 这听起来很简单 但由于某种原因我无法让它发挥作用 我试过这个 matlab nosplash wait nodeskto
  • Matlab颜色检测

    我试图一致地检测同一场景的图像之间的某种颜色 这个想法是根据颜色配置文件识别一组对象 因此 例如 如果给我一个带有绿色球的场景 并且我选择绿色作为我的调色板的一部分 我想要一个具有反映它检测到球的矩阵的函数 任何人都可以为这个项目推荐一些
  • 我如何编写一个名为 dedbi 的 MATLAB 函数,它将输入 xtx 作为字符串并返回另一个字符串 xtxx 作为输出。

    dedbi 反转单词 即 a 将被 z 替换 b 将被 y 替换 c 将被 x 替换 依此类推 dedbi 将对大写字母执行相同的操作 即将字符串 A 替换为 Z 将 B 替换为 Y 将 C 替换为 X 依此类推 如果我给函数这个字符串 a
  • Matlab 图像数据的 hist 函数

    我是 Matlab 新手 我想制作自己的函数 与 imhist 显示图像数据的直方图 完成相同的工作 但我对此完全是新手 我不知道如何做开发这样的功能 我开始做一些东西 但它非常不完整 function output args myhist
  • MATLAB 编译器与 MATLAB 编码器

    两者有什么区别 据我了解 MATLAB Compiler将MATLAB代码包装成 exe文件 这样就可以在不安装MATLAB的情况下使用它 并且只需要MCR 除此之外 MATLAB Builder NE 还可以用于生成与 Net 框架一起使
  • 以 2 为底的矩阵对数

    Logm 取矩阵对数 并且log2 取矩阵每个元素以 2 为底的对数 我正在尝试计算冯 诺依曼熵 它涉及以 2 为底的矩阵对数 我该怎么做呢 如果将 以 2 为底 的矩阵指数定义为B expm log 2 A 或者如果您类似地通过特征分解直
  • matlab中更快的插值方法

    我正在使用 interp1 来插值一些数据 temp 4 30 4 rand 365 10 depth 1 10 dz 0 5 define new depth interval bthD min depth dz max depth ne
  • 通过 cuFFT 进行逆 FFT 缩放

    每当我使用 cuFFT 绘制程序获得的值并将结果与 Matlab 的结果进行比较时 我都会得到相同形状的图形 并且最大值和最小值位于相同的点 然而 cuFFT 得到的值比 Matlab 得到的值大得多 Matlab代码是 fs 1000 s
  • 将向量(或弧)绘制到玫瑰图上。 MATLAB

    我有两个数据集 其中详细列出了angles 我正在绘制玫瑰图 angles 0 8481065519 0 0367932161 2 6273740453 n 另一个 从这组角度详细说明方向统计 angle error 0 848106563
  • 如何在 MATLAB 中将矩阵元素除以列总和?

    有没有一种简单的方法可以将每个矩阵元素除以列和 例如 input 1 4 4 10 output 1 5 4 14 4 5 10 14 以下是执行此操作的不同方法的列表 使用bsxfun https www mathworks com he

随机推荐

  • 用docker命令时报错,提示:Cannot connect to the Docker daemon at unix:///var/run/docker.sock.

    报错现象 root node02 docker ps Cannot connect to the Docker daemon at unix var run docker sock Is the docker daemon running
  • 工作中报错故障集合

    OOM常见报错排查之堆外内存溢出 报错 ExecutorLostFailure executor xxx exited caused by one of the running tasks Reason Container killed b
  • numpy和torch的一些操作

    1 如何把数据从1维扩充成2维 np expand dims x1 axis 1 或者x1 x1 None 从 2 33075 换成两个 1 33075 x1 x1 None 2 numpy trace array 返回数组沿对角线元素的和
  • Unet网络搭建(Pytorch)

    Unet是一个经典的语义分割网络 常常被用于医学影像的分割 在Unet的网络结构中 可以分为卷积模块 下采样模块以及上采样模块 详见下面的网络结构图 在网络的搭建过程中 也是依照分为三大块这种思路进行搭建 话不多说 直接上代码 import
  • Ubuntu 12.04 64位编译android 4.1.1_r3

    一 初始化编译环境 google推荐的编译环境是在Ubuntu LTS 10 04 但是新的LTS版本12 04已经出来 没必要在旧版本上做文章了 很多行特性和驱动10 04上都没有 例如无线网卡驱动 所以果断选择12 04的LTS版本 对
  • NSGA2算法原理及python实现

    git参考代码 Program Name NSGA II py Description This is a python implementation of Prof Kalyanmoy Deb s popular NSGA II algo
  • Python软件编程等级考试三级——20200913B

    Python软件编程等级考试三级 20200913B 理论 单选题 判断题 实操 第一题 第二题 第三题 理论 单选题 1 关于利用CSV模块对文件进行操作 下列描述不正确的是 A CSV是一种常用的文本格式 使用逗号分隔值的 B CSV模
  • DBus 介绍

    一 什么是 DBus D Bus是一个为应用程序间通信的消息总线系统 用于进程之间的通信 1 1 三层架构 1 函数库libdbus gt gt gt gt gt 用于两个应用程序互相联系和交互消息 2 基于 libdbus 构造的消息总线
  • 《Java进阶学习+面试宝典》高级架构师指南-剑指阿里P8

    企业对Java的需求最大 Java程序员的群体也最为庞大 有着 1200万之多 彼此之间都有更多的选择 换句话说 也是最修罗场的 要想在明年的金三银四拿下自己心仪的offer 咱就一定要做好功课 把那些必考点 套路都给吃透了 为此我专门整理
  • Spring Data CrudRepository增删改查方法(八)

    CrudRepository 的主要方法 long count boolean exists Integer arg0
  • 数据结构有哪些

    概念 数据结构 数据用什么样的方式组合在一起 数据结构是计算机存储数据的方式 指相互之间存在一种或多种特定关系的数据元素集合 常见数据结构 数据存储的常用结构有 栈 队列 数组 链表和红黑树 栈 stack 又称堆栈 它是运算受限的线性表
  • springboot基于Java的衣服穿搭推荐系统-计算机毕业设计

    收藏关注不迷路 文章目录 一 项目介绍 二 开发环境 三 功能介绍 四 核心代码 五 效果图 六 文章目录 一 项目介绍 随着人们物质生活水平的提高 对于精神需求也日趋增长 在日常生活中会更加注意外在形象 尤其是在穿衣搭配方面 无论是日常生
  • C++智能指针详解

    1 概述 我们知道除了静态内存和栈内存外 每个程序还有一个内存池 这部分内存被称为自由空间或者堆 程序用堆来存储动态分配的对象即那些在程序运行时分配的对象 当动态对象不再使用时 我们的代码必须显式的销毁它们 在C 中 动态内存的管理是用一对
  • Linux下的两个特殊的文件(可用来清理日志)——/dev/null与/dev/zero

    1 dev null简介 在类Unix系统中 dev null被称为空设备 是一个特殊的设备文件 写入 dev null 会丢弃一切写入其中的数据 但报告写入操作成功 读取 dev null 则会立即得到一个EOF 在Unix行话中 dev
  • OpenMP、MPI、CUDA总结

    文章目录 一 OpenMP 1 1 多执行绪的概念 1 2 多执行绪的程式 1 3 OpenMP 的基本使用 1 4 OpenMP使用详解 二 MPI Message Passing Interface 三 CUDA 3 1 CUDA发展历
  • 华为OD2023(A卷)基础题23【最短木板长度】

    题目描述 小明有n块木板 第i 1 i n 块木板的长度为ai 小明买了一块长度为m的木料 这块木料可以切割成任意块 拼接到已有的木板上 用来加长木板 小明想让最短的木板尽量长 请问小明加长木板后 最短木板的长度最大可以为多少 输入描述 输
  • Git超实用总结,再也不怕记忆力不好了

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由腾讯工蜂发表于云 社区专栏 Git 是什么 Git 是一个分布式的代码管理容器 本地和远端都保有一份相同的代码 Git 仓库主要是由是三部分组成 本地代码 缓存区 提交历史 这
  • js if判断多个条件_python量化基础

    编辑 Cowboy 校对 李明 来源 牛角财经 目的 python量化基础 条件分支与循环 IF条件分支判断语句的用法 python教程 从入门到高级 免费 特点 案例基于金融市场数据展开 让python量化初学者快速上手 一 基础部分 人
  • springboot/cloud版本升级常见问题和文档

    版本对照链接 https spring io projects spring cloud overview 升级mybatis的starter版本后 集成mybatis spring尽量用高版本 要不然容易出现datesource无法找到或
  • MATLAB R2021b(07)

    详细原文介绍 神经网络入门详解 nftool MathWoks 神经网络入门随记 以及 matlab中神经网络工具箱的使用 关于神经网络的非常基础概念 个人笔记 不具权威性 仅供参考 欢迎指正错误 提供意见 交流讨论等 1 思路简介 我们有