清华青年AI自强作业hw3_2:前向传播和反向传播实战

news2024/11/17 3:44:11

清华青年AI自强作业hw3_2:前向传播和反向传播实战

    • 实现过程
    • 各层参数维度分析
    • 拟合结果
    • 相关链接

在这里插入图片描述

一起学AI系列博客:目录索引

前向传播和反向传播的公式理解化用于作业hw3_2中::用NN网络拟合小姐姐喜好分类

  • 完成前向传播、反向传播算法的Python实现
  • 完成课堂的网络模型搭建,并实现喜好分类训练集精度100%

实现过程


FP前向传播计算公式与例图:
在这里插入图片描述

BP反向传播误差计算参考公式和例图:
在这里插入图片描述

计算Dij/Wij的公式:
在这里插入图片描述

如想对反向传播计算过程有深入理解,可以参考:“反向传播算法”过程及公式推导(超直观好懂的Backpropagation)

各层参数维度分析


已知信息:

  • 输入层不需要扩展列,中间隐藏层需要扩展列表征偏置
  • 样本数50个

前向传播过程

每层神经元经过激活函数后输出:

  • a1: (3, 50),3表示该层有3个神经元,每列表示对应第i个样本的输出结果
  • a2: (6, 50),6表示6个神经元,含偏置神经元,默认输出无权重对应连接
  • a3: (4, 50)
  • a4: (1, 50)

经过权重调节后的输出:

  • z1=a1
  • z2: (5, 50),6-1减去偏置神经元
  • z3: (3, 50),4-1减去偏置神经元
  • z4: (1, 50),无神经元

同一层z的维度与a一致,运算经过点乘实现非线性变换。偏置神经元无z->a非线性变换,公式举例:z2 = w1 * a1

每层神经元相应连接权重:主要跟前后神经元个数有关系

  • W1: (5, 3),5表示权重连接下一层共有5个神经元(下层含偏置神经元1个,则下层共有5+1个神经元),3表示当前层神经元个数
  • W2: (3, 5)
  • W3: (1, 3)

反向传播过程:

每层神经元的误差

  • delta4: (1, 50),1为最后一层神经元个数,50为样本数
  • delta3: (3, 50),去掉了偏置神经元
  • delta2: (5, 50),去掉了偏置神经元

各层神经元所有样本的累积误差

  • bigDelta1: (5, 3),5表示权重连接下一层共有5个神经元(下层含偏置神经元1个,则下层共有5+1个神经元),3表示当前层神经元个数
  • bigDelta2: (3, 6)
  • bigDelta3: (1, 4),含偏置神经元

各层神经元所有样本的均值误差

  • D3与W3维度一致
  • D2与W2
  • D1与W1

拟合结果


显然成功过拟合了,说明用这个模型来拟合这点数据规模,有点杀鸡用牛刀了。

在这里插入图片描述

遗留问题:

  1. 为啥predict函数和precision函数输入的维度不同?

相关链接


  1. 文科生都能零基础学AI?清华这门免费课程让我信了,link
  2. 清华青年AI自强作业2:线性回归预测,link

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/634569.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JavaEE进阶之Spring】一分钟让你学会什么是Spring以及如何使用创建Spring

前言: 💞💞今天我们正式进入到JavaEE进阶的学习中了,在JavaEE进阶的学习中,我们最主要的就是学习Spring框架。 💟💟那我们从今天就要逐渐从最基础的Spring开始,教会大家什么是Spring…

54、基于51单片机饮水机温度水位控制无线蓝牙APP控制报警系统设计(程序+原理图+PCB源文件+Proteus仿真+参考论文+开题报告+元器件清单等)

方案的选择 方案一:采用51单片机作为控制核心,配合无线蓝牙模块、水温加热模块继电器开关、基于Dallas单线数字式的DS18B20温度传感器模块、蜂鸣器报警模块、按键模块、LCD1602液晶显示器模块、晶振电路模块、复位电路模块以及电源模块为一体构成无线水…

winsw使用——将Nginx和Jar包注册到WIN服务

文章目录 1.winsw介绍2.注册Nginx到win服务2.1 首先将下载的winsw下并改名2.2 nginx-service.exe.config配置2.3 nginx-service.xml配置2.4 nginx-service安装到服务 3.注册Jar包到win服务3.1 复制winsw文件并改名3.2 创建xml配置文件3.3 执行安装命令 1.winsw介绍 Windows Se…

ChatGPT Prompt Engineering for Developers from DeepLearning.AI

链接:https://learn.deeplearning.ai/chatgpt-prompt-eng/lesson/1/introduction In this course, there are some example codes that you can already run in Jupyter Notebook. Below, I will write down the core knowledge points (how to build a prompt and…

CSS基础学习--4 创建式样

一、插入样式表的几种方法? 外部样式表内部样式表内联样式 二、外部样式表 使用前提:当样式需要应用于很多页面时,外部样式表将是理想的选择。 在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。每个页…

Ognl使用总结

目录 一、简介二、快速入门三、详细使用3.0 Ognl操作3.1 基本数据类型3.2 对象类型3.3 List集合3.4 Set集合3.5 Map集合3.6 数组3.7 静态调用3.8 算术运算3.9 逻辑运算3.10 同时执行多个表达式3.11 位运算 一、简介 OGNL(Object-Graph Navigation Language的简称&a…

开始使用chat-gpt4

目录 一、说明 二、安装步骤 三、测试效果咋样 (1)写代码能力 (2)回答问题能力 (3)写作能力 一、说明 参考(非常感谢这位博主的分享):http://t.csdn.cn/qypw9 注意&…

FTP服务器项目

文章目录 1. 项目简介2. FTP协议和用到指令说明2.1 FTP协议详解2.2 指令说明 3. FTP项目的类图分析3.1 UML3.2 工厂类XFtpFactoryXFtpFactory.hXFtpFactory.cpp 2.2 XFtpTaskXFtpTask.hXFtpTask.cpp 2.3 XFtpServerCMDXFtpServerCMD.hXFtpServerCMD.cpp 4. 运行演示FileZilla的…

数字逻辑期末必刷卷(基础卷)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 💡一、填空题(每空1分,共20分)💡二、单项选择题(每小题2分,共20分)&a…

第七章 Linux实际操作——组管理和权限管理

第七章 Linux实际操作——组管理和权限管理 7.1 Linux组基本介绍7.2 文件、目录 所有者7.2.1 查看文件的所有者7.2.2 修改文件所有者 7.3 组的创建7.3.1 基本指令7.3.2 应用实例 7.4 文件、目录所在组7.4.1 查看文件、目录所在组7.4.2 修改文件、目录所在组 7.5 其他组7.6 权限…

观澜南林輋旧改回迁房--周边巨量旧改,未来区政府核心商圈。

项目亮点 观澜福城街道办旧改最集中的区域,且地铁4号的茜坑站就在门口!未来一区域成为龙华区政府的中心地段。本项目拆迁约10万,主打高端商业综合体,项目规划27班九年一贯性学校,约4万多平用于建设公共设施、绿地。 …

ROS学习——通信机制(服务通信)

2.2.3 服务通信自定义srv调用A(C) Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 068服务通信(C)3_客户端优化_Chapter2-ROS通信机制_哔哩哔哩_bilibili 一、理论模型 服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的&#xf…

【Java|多线程与高并发】volatile关键字和内存可见性问题

文章目录 1.前言2. 编译器优化带来的内存可见性问题3. 使用volatile保证内存可见性5.volatile不能保证原子性以JMM的角度看待volatile总结 1.前言 synchronized和volatile都是Java多线程中很重要的关键字,但它们的作用和使用场景有所不同。 synchronized关键字可以…

Linux之文件打包和解压缩

任务描述 有时,我们会在Linux系统中将多个文件打包成一个单独的文件,通过本关的学习,我们将学会如何在Linux系统中将多个文件/目录打包生成一个文件。 本关任务:使用tar命令完成文件和目录的打包操作。 相关知识 tar&#xff…

验证断言(立即断言并行断言)

目录 1.何为断言 2.断言的作用: 3.断言的种类 3.1立即断言 3.2并发断言 4.断言层次结构 4.1 sequence 序列 4.2 property 序列 5.sequence和property的异同 6.补充知识点(assert/cover/assume) 7.写在后边 1.何为断言 断言主要…

网络知识点之-FTP协议

FTP协议指文件传输协议(File Transfer Protocol,FTP),是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UD…

第一节 初识C语言

第一节 初识C语言 目录 一. 什么是C语言二. 第一个C语言程序三. 数据类型四. 变量与常量五. 未完待续 本章重点: 什么是C语言第一个C语言程序数据类型变量、常量字符串转义字符注释选择语句循环语句函数数组…

【LeetCode】每日一题 -- 1171. 从链表中删去总和值为零的连续节点 -- Java Version

题目链接:https://leetcode.cn/problems/remove-zero-sum-consecutive-nodes-from-linked-list/ 1. 题解(1171. 从链表中删去总和值为零的连续节点) 2021年字节二面真题 1.1 暴力解法:穷举 时间复杂度 O(n2),空间复杂…

Python系列之面向对象编程

目录 一、面向对象编程 1.1 面向对象三大特征 1.2 什么是对象 二、类(class)和实例(instance) 2.1 类的构成 2.2 创建类 2.3 创建实例对象和访问属性 2.4 Python内置类属性 2.5 类属性与方法 三、类的继承 3.1 方法重写 四、多态 一、面向对象编程 1.1 面向对象三大…

抖音短视频矩阵系统-源码-系统搭建

目录 1. 短视频AI智能创作 2. 托管式账号管理: 3. 数据分析 4. 智能营销获客 开发流程 抖音账号矩阵系统开发,抖音账号矩阵系统源码搭建,抖音账号技术系统源码部署 抖音矩阵系统专注于为短视频私域运营达人或企业提供一站式赋能服务平台。具体包括智…