吴恩达机器学习全课程笔记第三篇

目录

前言

P42-P48

神经元和大脑

神经网络中的层

更复杂的神经网络

前向传播(做出预测)

P49-P53

代码中的推理

构建一个神经网络

P54-P60

矩阵乘法

TensorFlow框架实现神经网络

前言

这是吴恩达机器学习笔记的第三篇,第二篇笔记请见:

吴恩达机器学习全课程笔记第二篇

完整的课程链接如下:

吴恩达机器学习教程(bilibili)

推荐网站:

scikit-learn中文社区

吴恩达机器学习资料(github)

P42-P48

神经元和大脑

神经网络的历史

根据大脑的神经元,类比出简化的神经元模型

即使做了简单的类比,我们并不能知道人的大脑是如何工作的,我们也并不需要把生物动机看得太过重要

为什么现在又把神经网络看得如此重要?

传统的ai算法比如线性回归、逻辑回归,不能充分使用数据集,如果能训练一个非常大的神经网络,同时利用已经拥有的大量数据,就可以在从语音识别到图像识别的任何事情上获得性能

一个简单的需求预测实例:x输入到神经元当中得到其畅销的概率,这是一个简化的神经元模型

在上面的基础之上,看一个更加复杂的例子:

可以看出神经网络分为输入层、隐藏层和输出层,每一层都可以有多个神经元

一个神经网络可能有多个隐藏层,如下所示:

下面介绍一个图像识别的例子,对于一个图像,将其像素组合成一个向量,输入到神经网络中,经过多个隐藏层,最后可以输出此人是谁

当你观察隐藏层不同层神经元的时候,找出它们可能再计算什么,比如第一层中,第一个神经元在寻找一条垂直线,第二个神经元寻找像这样的定向先或定向边缘,第三个神经元在那个方向寻找一条线,以此类推

对于下一层隐藏层,你会发现这些神经元可能会将许多小的短线组合在一起,以便寻找面部的部分

神经网络中的层

如何构建神经网络中的一个层?

让我们放大隐藏层来看它的计算,在这个隐藏层中输入四个数字,隐藏层中的三个神经元中每一个都只是执行一个小的逻辑回归单元

右上边方框号表的数字1指的是与神经网络第一层相关的数量

第二层的输入时第一层的输出

在计算出一个a^{[2]}之后,你可以选择执行或不执行最后一个可选步骤,取决于你是否正在进行的是二进制预测

更复杂的神经网络

下面是一个四层的神经网络:

放大第三层隐藏层,一定要注意好每个符号上下标所代表的的含义

前向传播(做出预测)

以书写数字识别为例,区分数字0和1(二进制分类问题)

前向传播简单理解就是将上一层的输出作为下一层的输入,并计算下一层的输出,一直到运算到输出层为止

P49-P53

代码中的推理

以咖啡烘焙为例,要控制的参数有温度和时间

我们将这个数据以张量的形式输入网络

在代码中,我们将输入x设置为两个数的数组,建立隐藏层一,随后建立第二层,将tensorflow(张量流)x向前传播,最后输出

之前说过的那个识别手写数字的代码同理:

numpy中表示数据的方式之间存在一些不一致之处,下面让我们学习tenorflow如何表示数据

矩阵用numpy数组的表示

两种表示矩阵的方法,tensor也可以向array发生转换

构建一个神经网络

通过Sequential把不同层连接起来

对于手写数字识别的列子也是同理:

在一个单层中的向前传播的具体代码如下

如果把具体的层信息和sequential封装起来,就可以写成如下形式,这也是前向传播在python中的常见写法

P54-P60

AI的分类

神经网络中for循环和矢量化的代码对比:

矩阵乘法

向量点乘

矩阵乘法

如何在代码中实现矩阵乘法?

回到前面dense layer的例子,上面的矩阵乘法的原理解释了为什么dense layer的代码可以那样去写

TensorFlow框架实现神经网络

上面都是python的代码,下面展示如何在tensorflow框架中训练神经网络

总结起来的话,就是三个步骤:

1.指定告诉tensorflow的模型,如何计算推理

2.使用特定的损失函数编译模型

3.训练模型

这段代码背后发生了什么?

根据前面所学的知识,逐步解析如下图所示:

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

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

相关文章

基于springboot+vue的美发门店管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

中医笔记(阴阳,五行,十二经脉,天干地支,子午流注,倪海厦中医笔记)

目录 一.阴阳1.1 什么是阴阳?1.2 作用1.3 阴阳理论在中医上的运用 二.五行2.1 五行之间的关系2.2 五行对应的力量2.3 原理: 三.天干地支四.子午流注十二经脉与子午流注之间的关系 五.十二经脉足太阳膀胱经 六.中医笔记小肠是火气化膀胱的水(如…

Docker启动失败 unknown flag: --graph

Feb 21 10:52:09 master-yzjgxh2592890703-1706514552638 dockerd[13858]: Status: unknown flag: --graph Feb 21 10:52:09 master-yzjgxh2592890703-1706514552638 dockerd[13858]: See dockerd --help., Code: 125 这里表明dockerd命令不认识--graph这个标志。这可能是因为…

SpringBoot---集成MybatisPlus

介绍 使用SpringBoot集成MybatisPlus框架。 第一步&#xff1a;添加MybatisPlus依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.2</version> </depende…

Java 学习和实践笔记(17):构造方法(构造器 constructor)

构造方法&#xff08;构造器 constructor) 它只是用于指明对象的初始化&#xff0c;而不是创造对象。 在每一个类创建完&#xff0c;编译器都会自动做一个无参的构造方法&#xff08;没有显示出来&#xff09;&#xff0c;因为做了这个&#xff0c;所以new才能自动创建对象。…

C# WPF 桌面应用程序使用 SQlite 数据库

我们在开发 WPF 桌面应用程序时&#xff0c;数据库存的使用是必不可少的&#xff0c;除非你的应用没有数据存储的需求&#xff0c;有了数据存储需求&#xff0c;我们就会面临使用什么样的数据库的选择问题&#xff0c;我的选择方案是&#xff0c;单机版的应用我优先选择 Sqlite…

django自定义后端过滤

​ DRF自带的过滤 第一个 DjangoFilterBackend 是需要安装三方库见[搜索&#xff1a;多字段筛选]两外两个是安装注册了rest_framework就有。 如上图&#xff0c;只要配置了三个箭头所指的方向&#xff0c;就能使用。 第一个单字段过滤 用户视图集中加上filterset_fields …

Qt 场景(QGraphicsScene)自绘可自由变换与移动的图元(QGraphicsObject)

文章目录 效果图矩形四个角矩形 效果图 在scene上绘制一个图元QGraphicsObject的矩形&#xff0c;可以自由拖动且拖动四个角可以自由变换矩形需要如下处理。 矩形四个角 四个角的点需要独立处理继承于QGraphicsObject,当我们点击时拖动时发送信号给矩形&#xff0c;进行矩形变…

SpringMVC(十二)SpringMVC执行流程

一、SpringMVC常用组件 DispatcherServlet:前端控制器,不需要工程师开发,由框架提供 作用:统一处理请求和响应,整个流程控制的中心,由它调用其它组件处理用户的请求 HandlerMapping:处理器映射器,不需要工程师开发,由框架提供 作用:根据请求的url、method等信息查找Han…

【关于python变量类型学习笔记】

python的变量类型 在创建变量时会在内存中开辟一个空间&#xff0c;变量是存储在内存中的值。 根据变量的数据类型&#xff0c;解释器会分配指定内存&#xff0c;并决定什么数据可以被存储在内存中。 变量可以指定不同的数据类型&#xff0c;这些变量可以存储整数&#xff0c;…

贝叶斯统计——入门级笔记

绪论 1.1 引言 全概率公式 贝叶斯公式 三种信息 总体信息 当把样本视为随机变量时&#xff0c;它有概率分布&#xff0c;称为总体分布&#xff0e; 如果我们已经知道总体的分布形式这就给了我们一种信息&#xff0c;称为总体信息 样本信息 从总体中抽取的样本所提供的信息 先…

【Effective Objective - C】—— 系统框架

【Effective Objective - C】—— 系统框架 47.熟悉系统框架CoreFoundation框架其他框架要点 48. 多用块枚举&#xff0c;少用for循环for循环使用Objective-C 1.0的NSEnumerator遍历快速遍历基于块的遍历方式要点 49.对自定义其内存管理语义的collection使用无缝桥接要点 50.构…

adb-常用命令

1. 连接设备&#xff1a;adb connect ip地址 2. 查询已连接设备列表&#xff1a;adb devices 3. 进入手机端后台&#xff1a;adb shell 4. 退出手机端后台&#xff1a;exit 5. 将手机端文件复制到pc端&#xff1a;adb pull 手机端文件路径/文件 pc端路径 6. 将pc端文件复制到…

代码随想录算法训练营Day 24|回溯算法:理论基础、LeetCode77 组合

理论基础 概念 回溯法也可以叫做回溯搜索法&#xff0c;它是一种搜索的方式。回溯是递归的副产品&#xff0c;只要有递归就会有回溯。 回溯法的效率 回溯法并不是什么高效的算法&#xff0c;其本质是穷举&#xff0c;穷举所有可能&#xff0c;然后选出我们想要的答案&#…

ELK入门(三)-Kibana

Kibana Kibana是一个开源的分析与可视化平台&#xff0c;设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等&#xff0c;直观的展示数据&#xff0c;从而达到高级…

Open CASCADE学习|计算全局属性

对于一个系统全局属性有&#xff1a; 质量(mass) 质心(mass center) 惯性张量(matrix of inertia) 关于一个轴的矩(moment about an axis) 关于一个轴的惯性半径(radius of gyration about an axis) 惯性的主属性&#xff0c;比如主轴(principal axis)&#xff0c;主矩(pr…

WordPress如何将后台右上角管理员头像去除并调整注销位置及启用注销确认功能?

WordPress后台默认情况下右上角可以看到管理员昵称和头像&#xff0c;将鼠标移动到该昵称上还会出现一个下拉菜单&#xff0c;点击下拉菜单中的“注销”无需我们再次确认就会自动退出。 现在我想将WordPress后台右上角的管理员头像和管理员昵称子菜单去除&#xff0c;并将“注销…

每日OJ题_二叉树dfs④_力扣98. 验证二叉搜索树

目录 力扣98. 验证二叉搜索树 解析代码 力扣98. 验证二叉搜索树 98. 验证二叉搜索树 难度 中等 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树…

Oracle不能启动,提示设备空间不足,实际上是信号量不够(ORA-27300,ORA-27301,ORA-27302)

我的一个客户的Oracle数据库不能启动&#xff0c;出现下面的提示&#xff1a; ORA-27154: post/wait create failed ORA-27300: OS system dependent operation:semget failed with status: 28 ORA-27301: OS failure message: No space left on device ORA-27302: failure oc…

Django入门指南:从环境搭建到模型管理系统的完整教程

环境安装&#xff1a; ​ 由于我的C的Anaconda 是安装在C盘的&#xff0c;但是没内存了&#xff0c;所有我将环境转在e盘&#xff0c;下面的命令是创建环境到指定目录中. conda create --prefixE:\envs\dj42 python3.9进入环境中&#xff1a; conda activate E:\envs\dj42…