matlab 神经网络设计多层隐含层_【MATLAB深度学习】多层神经网络

2023-11-18

多层神经网络

对于多层神经网络的训练,delta规则是无效的,因为应用delta规则训练必须要误差,但在隐含层中没有定义。输出节点的误差是指标准输出和神经网络输出之间的差别,但训练数据不提供隐藏层的标准输出。

真正的难题在于怎么定义隐藏节点的误差,于是有了反向传播算法。反向传播算法的重要性在于,它提供了一种用于确定隐含节点误差的系统方法。在该算法中,输出误差从输出层逐层后移,直到与输入层相邻的隐含层。

1.反向传播算法

在反向传播算法中,隐含节点误差的计算方式是求取delta的反向加权和,节点的delta是误差与激活函数导数之积。该过程从输出层开始,并重复于所有隐含层。

MATLAB代码实现:

输入数据为 { [(0,0,1),0],[(0,1,1),1],[(1,0,1),1],[(1,1,1),0] },网络结构为三个输入节点,四个节点组成的隐含层,一个输出节点。Sigmoid函数为激活函数,采用SGD实现反向传播算法。

function [W1, W2] = BackpropXOR(W1, W2, X, D)

% 以神经网络的权重和训练数据作为输入,返回调整后的权重

% 其中W1和W2为相应层的权重矩阵;X和D分别是训练数据的输入和标准输入

alpha = 0.9;

N = 4;

for k = 1:N

x = X(k, :)';

d = D(k);

v1 = W1*x;

y1 = Sigmoid(v1);

v = W2*y1;

y = Sigmoid(v);

e = d - y;

delta = y.*(1-y).*e;

e1 = W2'*delta; % 反向传播

delta1 = y1.*(1-y1).*e1;

dW1 = alpha*delta1*x';

W1 = W1 + dW1;

dW2 = alpha*delta*y1';

W2 = W2 + dW2;

end

end

Sigmoid函数定义如下:

function y = Sigmoid(x)

y = 1 ./ (1 + exp(-x));

end

验证函数效果程序

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

matlab 神经网络设计多层隐含层_【MATLAB深度学习】多层神经网络 的相关文章

  • idea导入项目,Lombok插件安装了,且配置文件中配置了,还是不能正常启动,表示找不到get、set方法

    1 保证安装了Lombok插件 2 保证maven或者gradle中添加了依赖 3 如下配置
  • E45: ‘readonly‘ option is set (add ! to override)

    vim 修改文件出现错误 E45 readonly option is set add to override 其实这是权限造成的 文件设置成了只读权 只读文件修改前需要执行sudo 但是已经修改了 如何强制保存呢 只需要保存的时候执行如下
  • 【Python】读取txt文件,获取指定行中指定位置数据

    问题描述 需求 读取大约有200多行的txt文件 获取17 216行中每行中指定位置中的数值 实现 coding utf 8 Date 2020 5 21 21 53 Author Pangpd FileName read log py I
  • pytorch: tensor类型的构建与相互转换

    Summary 主要包括以下三种途径 使用独立的函数 使用torch type 函数 使用type as tesnor 将张量转换为给定类型的张量 使用独立函数 import torch tensor torch randn 3 5 pri
  • mpvue中配置vuex并持久化到本地Storage

    demo代码 github com jianjian we 配置vuex和在vue中相同 只是mpvue有一个坑 就是不能直接在new Vue的时候传入store 步骤 1 在src目录下新建一个store目录 结构如下 官方推荐 vuex
  • 微信公众号网页开发jweixin.js的使用

    首先申请测试账号 获取以下信息 使用你的appId和appsecret获取token https api weixin qq com cgi bin token grant type client credential appid wxa4
  • ESP32-cam 初体验 从esp32-cam的购买到局域网监控的实现

    ESP32 cam小项目 helloworld项目 前言 手头有一块esp32 cam闲置很久了 因为比赛和找工作的事情导致许欸小延期了很久 还是因为懒 最近从小仓库把板子捞出来了 上手玩一玩 本次学习参考了B站up 小铭同学 的教程 教程
  • 力扣 2697. 字典序最小回文串

    题目来源 https leetcode cn problems lexicographically smallest palindrome C 题解 从两端往中间判断 不同时则用字典序小的替换字典序大的 class Solution pub
  • mysql存储引擎

    目录 一 存储引擎概念 二 MyISAM特点介绍 三 MyISAM适用的生产场景举例 四 InnoDB特点介绍 五 InnoDB适用生产场景分析 六 企业选择存储引擎的依据 1 需要考虑每个存储引擎提供了哪些不同的核心功能及应用场景 2 支
  • 机器学习算法:特征工程-特征提取

    学习目标 了解什么是特征提取 知道字典特征提取操作流程 知道文本特征提取操作流程 知道tfidf的实现思想 什么是特征提取呢 1 特征提取 1 1 定义 将任意数据 如文本或图像 转换为可用于机器学习的数字特征 注 特征值化是为了计算机更好
  • xdg-open 未找到命令

    安装 apt get install xdg utils root kylinos xdg open bash xdg open 未找到命令 root kylinos apt get install xdg utils 正在读取软件包列表
  • EC-IDE v0.4.1发布

    主要改动包括 在IDE中使用新版的文本编辑器 除去非标准的caller属性 修改 init 的参数 增加类成员浏览功 可至以下地址下载 http www supertree org home user fwg ec ide gb ec id
  • 2021-1-7-一文掌握git/github使用,内容详细,适合新手入门~

    文章目录 前言 一 git是什么 二 github 1 了解github 2 注册github账户 三 git安装 1 windows安装git 2 linux安装git 四 git github使用 1 git工作流简介 2 git基本命
  • jenkins自动部署分布式项目(一)——linux安装Jenkins(war包方式安装)

    1 将jenkins war 上传到服务器 我这里传带了 opt目录下 2 进入文件所在目录 cd opt 3 在文件目录新建一个日志文件 vim nohup out wq 4 执行命令安装并启动Jenkins nohup java jar
  • Coverity 代码静态安全扫描工具 : 认识Coverity

    摘要 Coverity是一款快速 准确且高度可扩展的静态分析 SAST 解决方案 可帮助开发和安全团队在软件开发生命周期 SDLC 的早期解决安全和质量缺陷 跟踪和管理整个应用组合的风险 并确保符合安全和编码标准 1 概述 Coverity
  • Spring不能解决的三种循环依赖问题示例及其解决方案

    文章目录 一 Spring不能解决的三种循环依赖问题 1 构造器注入类型循环依赖 1 代码示例 2 错误信息 2 Async类型循环依赖 1 代码示例 2 错误信息 3 prototype类型循环依赖 1 代码示例 2 错误信息 二 解决方
  • 【分享】分享一个压缩 PNG 的网站 TinyPNG

    TinyPNG 能做什么 TinyPNG 采用智能的有损压缩技术来减少你的 PNG 文件的文件大小 通过选择性地减少图像中的颜色数量 更少的字节用于存储数据 效果几乎是看不见的 但它在文件大小方面差别很大 我为什么要用 TinyPNG PN
  • python实现广义线性模型

    广义线性模型 核心就是最小二乘法 最小二乘法简而言之就是求较小值 在极小值的时候值最小 一阶导数为0 import matplotlib pyplot as plt import numpy as np from sklearn impor
  • Stream流体系

    员工属性类 package Java project 1 public class Employee private String name 姓名 private char sex 性别 private double salary 薪水 p

随机推荐

  • CTF练习WP(week1)之二

    目录 1 flag in your hand1 2 HCTF 2018 WarmUp 1 flag in your hand1 题目链接 题目 xctf org cn 打开附件里的html 在网页上输入token获取flag 会发现每次输入
  • [Vue warn]: Error in render: “TypeError: Cannot read properties of undefined(reading“toString“)

    描述 在我们写了大量的标签但是实际上却出现了无任何东西 一查看控制台就出现了这样的错误提示 解决思路 渲染错误 TypeError 无法读取未定义的属性 读取 toString 全局搜友toSrtring 无变量toString 但是有一个
  • 数据链路层相关协议

    网络类型 根据数据链路层协议进行划分 MA 多点接入网络 BMA广播型 NBMA非广播型 P2P 点到点的网络 以太网协议 需要使用MAC地址对不同的主机设备进行区分和标识 主要因为利用以太网组件的二层网络可以包含 两个和两个以上 的接口
  • 学完责任链之后,逻辑思维上升了一个段位,我马上写了一个月薪3万的简历,HR看了让我去上班

    经过上一篇的文章 我们学习了责任链模式和策略模式 设计模式相对重要 对架构 项目拓展性 移植性要求比较高 下面我会说到简历 对于开发来说 简历是程序员的第二生命 技术是第一生命 简历第二生命 学历第三生命 简历到底是什么 简历是你的第二生命
  • js密码验证

    js密码验证
  • Paper Reading:《LISA: Reasoning Segmentation via Large Language Model》

    目录 简介 目标 创新点 方法 训练 实验 总结 简介 LISA Reasoning Segmentation via Large Language Model 基于大型语言模型的推理分割 日期 2023 8 1 v1 单位 香港中文大学
  • python函数参数里面带*是什么意思

    文章参考 https blog csdn net jiangkejkl article details 121346940 1 函数参数定义中使用独立的符号 在函数定义时 使用了一个独立的符号 这表示在符号后面的参数 调用函数时 必须使用k
  • NAPI机制分析

    NAPI机制分析 NAPI 的核心在于 在一个繁忙网络 每次有网络数据包到达时 不需要都引发中断 因为高频率的中断可能会影响系统的整体效率 假象一个场景 我们此时使用标准的 100M 网卡 可能实际达到的接收速率为 80MBits s 而此
  • 解决 IDEA中springboot项目 修改页面无法生效问题

    解决 IDEA中springboot项目 修改页面无法生效问题 之前网上找了很多解决办法 都是无效的 所以找到解决办法后 先发个博客说一下 至此就完成了springboot 无需重启则对html修改生效 如出现偶尔无效时 请刷新浏览器 之前
  • Linux下使用Git上传和更新代码

    一 上传代码 1 去github上根据网站的提示来创建自己的远程Repository 仓库 2 建立本地git仓库 git init 注意 此指令本地源码根目录执行 执行成功后 会在当前目录生成一个隐藏的名字为 git 的目录 所有对本地仓
  • 【ClickHouse数据库】如何在Win10的Ubuntu上通过ClickHouse存取行情数据

    如何在Win10的Ubuntu上通过ClickHouse存取行情数据 前言 一 ClickHouse是什么 二 如何在Ubuntu上安装ClickHouse 三 添加用户并设置密码 四 使用 1 使用DBeaver操作数据库 2 向Clic
  • 计算机图形学方向和前景&&3D

    我是刚入坑计算机图形学的小菜鸟 在百度上搜索计算机图形学方向和前景和3D 几乎不能搜到什么有用的东西 google还能搜到些有用的 但是需要翻墙 恰好前几天山大承办的games 北京大学陈宝权老师提出了图形学的新疆界 10个左右的国内图形学
  • vue 如何获取input中光标位置,并且点击按钮在当前光标后追加内容

    1 第一步 监听输入框的鼠标失焦事件
  • (原创)c++11中的日期和时间库

    c 11提供了日期时间相关的库chrono 通过chrono相关的库我们可以很方便的处理日期和时间 c 11还提供了字符串的宽窄转换功能 也提供了字符串和数字的相互转换的库 有了这些库提供的便利的工具类 我们能方便的处理日期和时间相关的转换
  • linux服务器管理与维护,linux服务器管理与维护速训..ppt

    linux服务器管理与维护速训 入门级命令 1990年秋天 Linus在芬兰首都赫尔辛基大学学习操作系统课程 因为上机需要排队等待 Linus买了台PC机 开发了第一个程序 程序包括两个进程 分别向屏幕上写字母A和B 然后用定时器来切换进程
  • mysql必考知识_可能是全网最好的MySQL重要知识点 !面试必备

    标题有点标题党的意思 但希望你在看了文章之后不会有这个想法 这篇文章是作者对之前总结的 MySQL 知识点做了完善后的产物 可以用来回顾MySQL基础知识以及备战MySQL常见面试问题 Python资源共享群 484031800 什么是My
  • 在GPU上实现光线跟踪

    include cuda h include book h include cpu bitmap h define DIM 1024 生成图像的大小 DIM DIM define SPHERES 20 生成的图像中球体的个数 define
  • Laplace smoothing in Naïve Bayes algorithm(拉普拉斯平滑)

    在这里转载只是为了让不能够科学搜索的同学们看到好文章而已 个人无收益只是分享知识 顺手做个记录罢了 原网址 https towardsdatascience com laplace smoothing in na C3 AFve bayes
  • 走进计算机的0和1

    一 计算机的产生在历史的长河中 人类发明和创造了许多算法与计算工具 在我国商朝时期就有算珠 春秋战国时期的算表 唐宋时期的算盘 欧洲在16世纪也发明了许多的计算工具 经过一系列的发展 知道1946年一月 世界上第一台计算机诞生 计算机比较笨
  • matlab 神经网络设计多层隐含层_【MATLAB深度学习】多层神经网络

    多层神经网络 对于多层神经网络的训练 delta规则是无效的 因为应用delta规则训练必须要误差 但在隐含层中没有定义 输出节点的误差是指标准输出和神经网络输出之间的差别 但训练数据不提供隐藏层的标准输出 真正的难题在于怎么定义隐藏节点的