吴恩达深度学习笔记:神经网络的编程基础2.5-2.8

目录

  • 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)
    • 第二周:神经网络的编程基础 (Basics of Neural Network programming)
      • 2.5 导数(Derivatives)

第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)

第二周:神经网络的编程基础 (Basics of Neural Network programming)

2.5 导数(Derivatives)

这个视频我主要是想帮你获得对微积分和导数直观的理解。或许你认为自从大学毕以后你再也没有接触微积分。这取决于你什么时候毕业,也许有一段时间了,如果你顾虑这点,请不要担心。为了高效应用神经网络和深度学习,你并不需要非常深入理解微积分。因此如果你观看这个视频或者以后的视频时心想:“哇哦,这些知识、这些运算对我来说很复杂。”我给你的建议是:坚持学习视频,最好下课后做作业,成功的完成编程作业,然后你就可以使用深度学习了。在第四周之后的学习中,你会看到定义的很多种类的函数,通过微积分他们能够帮助你把所有的知识结合起来,其中有的叫做前向函数和反向函数,因此你不需要了解所有你使用的那些微积分中的函数。所以你不用担心他们,除此之外在对深度学习的尝试中,这周我们要进一步深入了解微积分的细节。所有你只需要直观地认识微积分,用来构建和成功的应用这些算法。最后,如果你是精通微积分的那一小部分人群,你对微积分非常熟悉,你可以跳过这部分视频。其他同学让我们开始深入学习导数。

在这里插入图片描述
一个函数𝑓(𝑎) = 3𝑎,它是一条直线。下面我们来简单理解下导数。让我们看看函数中几个点,假定𝑎 = 2,那么𝑓(𝑎)是𝑎的 3 倍等于 6,也就是说如果𝑎 = 2,那么函数𝑓(𝑎) = 6。假定稍微改变一点点𝑎的值,只增加一点,变为 2.001,这时𝑎将向右做微小的移动。0.001 的差别实在是太小了,不能在图中显示出来,我们把它右移一点,现在𝑓(𝑎)等于𝑎的 3 倍是 6.003,画在图里,比例不太符合。请看绿色高亮部分的这个小三角形,如果向右移动 0.001,那么𝑓(𝑎)增加 0.003,𝑓(𝑎)的值增加 3 倍于右移的𝑎,因此我们说函数𝑓(𝑎)在𝑎 = 2,.是这个导数的斜率,或者说,当𝑎 = 2时,斜率是 3。导数这个概念意味着斜率,导数听起来是一个很可怕、很令人惊恐的词,但是斜率以一种很友好的方式来描述导数这个概念。所以提到导数,我们把它当作函数的斜率就好了。更正式的斜率定义为在上图这个绿色的小三角形中,高除以宽。即斜率等于 0.003 除以 0.001,等于 3。或者说导数等于 3,这表示当你将𝑎右移 0.001,𝑓(𝑎)的值增加 3 倍水平方向的量。

现在让我们从不同的角度理解这个函数。假设𝑎 = 5 ,此时𝑓(𝑎) = 3𝑎 = 15。把𝑎右移一个很小的幅度,增加到 5.001,𝑓(𝑎) = 15.003。 即在𝑎 = 5 时,斜率是 3,这就是表示,当微小改变变量𝑎的值,𝑑𝑓(𝑎)/𝑑𝑎= 3 。一个等价的导数表达式可以这样写 𝑑𝑓(𝑎) /𝑑𝑎,不管你是否将𝑓(𝑎)放在上面或者放在右边都没有关系。

在这个视频中,我讲解导数讨论的情况是我们将𝑎偏移 0.001,如果你想知道导数的数学定义,导数是你右移很小的𝑎值(不是 0.001,而是一个非常非常小的值)。通常导数的定义是你右移𝑎(可度量的值)一个无限小的值,𝑓(𝑎)增加 3 倍(增加了一个非常非常小的值)。也就是这个三角形右边的高度。

那就是导数的正式定义。但是为了直观的认识,我们将探讨右移𝑎 = 0.001 这个值,即使 0.001 并不是无穷小的可测数据。导数的一个特性是:这个函数任何地方的斜率总是等于3,不管𝑎 = 2或 𝑎 = 5,这个函数的斜率总等于 3,也就是说不管𝑎的值如何变化,如果你增加 0.001,𝑓(𝑎)的值就增加 3 倍。这个函数在所有地方的斜率都相等。一种证明方式是无论你将小三角形画在哪里,它的高除以宽总是 3。

我希望带给你一种感觉:什么是斜率?什么是导函数?对于一条直线,在例子中函数的斜率,在任何地方都是 3。在下一个视频让我们看一个更复杂的例子,这个例子中函数在不同点的斜率是可变的。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

04-微服务 面试题

目录 1.Spring Cloud 常见的组件有哪些? 2.服务注册和发现是什么意思?(Spring Cloud 如何实现服务注册发现) 3.你们项目负载均衡如何实现的 ? 4.什么是服务雪崩,怎么解决这个问题? 5.你们服务是怎么监控的? 6.微服务限流(漏桶算法、令牌桶算法) 7.解释一下CAP…

scrapy的基本使用介绍

创建项目 ### 1. 创建虚拟环境 conda create -n spiderScrapy python3.9 ### 2. 安装scrapy pip install scrapy2.8.0 -i https://pypi.tuna.tsinghua.edu.cn/simple### 3. 生成一个框架 scrapy startproject my_spider### 4. 生成项目 scrapy genspider baidu https://www.b…

RabbitMQ - 02 - 基本消息模型

目录 部署demo项目 什么是基本消息模型 实现基本消息模型 部署demo项目 首先配置好一个mq的练习demo,并配置好相关依赖 链接:https://pan.baidu.com/s/1oXAqgoz9Y_5V7YxC_rLa-Q?pwdv2sg 提取码:v2sg 如图 父xml文件已经配置好了 AMQP依赖了 什么…

重学SpringBoot3-集成Thymeleaf

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 重学SpringBoot3-集成Thymeleaf 1. 添加Thymeleaf依赖2. 配置Thymeleaf属性(可选)3. 创建Thymeleaf模板4. 创建一个Controller5. 运行应用并访问页面Thymeleaf基本语法小技巧 国际化步骤 …

Cassandra 安装部署

文章目录 一、概述1.官方文档2. 克隆服务器3.安装准备3.1.安装 JDK 113.2.安装 Python3.3.下载文件 二、安装部署1.配置 Cassandra2.启动 Cassandra3.关闭Cassandra4.查看状态5.客户端连接服务器6.服务运行脚本 开源中间件 # Cassandrahttps://iothub.org.cn/docs/middleware/…

15. UE5 RPG获取GE应用的回调,并根据Tag设置数据显示到窗口

在上一篇介绍了对标签如何在项目中设置,这一篇先讲解一下如何在GE里面使用GameplayTag标签。 之前我在第十一章节中 11. UE5 RPG使用GameplayEffect修改角色属性(二)介绍了一些GE的属性,在UE 5.3版本中,修改的配置方式…

SpringBoot中MD5使用

SpringBoot中MD5使用 新建md5类 public final class MD5 {public static String encrypt(String strSrc) {try {char[] hexChars {0, 1, 2, 3, 4, 5, 6, 7, 8,9, a, b, c, d, e, f};byte[] bytes strSrc.getBytes();MessageDigest md MessageDigest.getInstance("MD5…

云游戏发行是什么?云游戏发行的演进历程

云游戏发行是一系列基于云游戏技术的游戏发行策略或行为,融合云试玩、云微端、可玩广告、跨端移植等技术,从而在传统游戏发行生态的基础上实现更为卓越的发行效果。 云游戏发行出现的原因 近年来,游戏市场出现负增长。其原因一方面在于游戏版…

高颜值抓包工具Charles,实现Mac和IOS端抓取https请求

Hi,大家好。在进行测试的过程中,不可避免的会有程序报错,为了能更快修复掉Bug,我们作为测试人员需要给开发人员提供更准确的报错信息或者接口地址,这个时候就需要用到我们的抓包工具。 常见的抓包工具有Fiddler、Char…

LeetCode_Java_二叉搜索树系列(题目+思路+代码)

目录 108.将有序数组转化为二叉搜索树 109.有序链表转换二叉搜索树 876.链表的中间节点 108.将有序数组转化为二叉搜索树 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡二叉搜索树。 示例 1: 输入&#xf…

vscode使用svn

网上这种文章很多,但很多都实现不了,自己亲测安装有效的过程记录下来,分享给大家。 第一步:去官网下载svn.安装TortoiseSVN 下载地址 下载的地址: Apache Subversion Binary Packageshttps://subversion.apache.or…

OpenHarmony教程指南—ArkTS时钟

简单时钟 介绍 本示例通过使用ohos.display 接口以及Canvas组件来实现一个简单的时钟应用。 效果预览 使用说明 1.界面通过setInterval实现周期性实时刷新时间,使用Canvas绘制时钟,指针旋转角度通过计算得出。 例如:"2 * Math.PI /…

linux ,Windows部署

Linux部署 准备好虚拟机 连接好查看版本:java -version安装jdk 解压命令:tar -zxvf 加jdk的压缩文件名cd /etc 在编辑vim profile文件 在最底下写入: export JAVA_HOME/root/soft/jdk1.8.0_151(跟自己的jdk保持一致&#xff0…

【网站项目】012医院住院管理系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

C++_异常

目录 1、异常的关键字 2、异常的写法 3、异常的使用规则 3.1 规则1 3.2 规则2 3.3 规则3 3.4 规则4 3.5 规则5 4、异常的重新抛出 5、异常的规范 5.1 C98的异常规范 5.2 C11的异常规范 6、C标准库的异常体系 7、异常的优缺点 结语 前言: C的异常…

Python从0到100(四):Python中的运算符介绍

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

Java中的参数传递

程序设计语言将实参传递给方法(或函数)的方式分为两种: 值传递:方法接收的是实参值的拷贝,会创建副本。引用传递:方法接收的直接是实参所引用的对象在堆中的地址,不会创建副本,对形…

3.1_3 连续分配管理方式

3.1_3 连续分配管理方式 连续分配:指为用户进程分配的必须是一个连续的内存空间。 (一)单一连续分配 在单一连续分配方式中,内存被分为系统区和用户区。 系统区通常位于内存的低地址部分,用于存放操作系统相关数据&am…

11 vector的实现

注意 实现仿cplus官网的的string类&#xff0c;对部分主要功能实现 实现 文件 #pragma once #include <string> #include <assert.h>namespace myvector {template <class T>class vector{public://iteratortypedef T* iterator;typedef const T* const_…

【Leetcode每日一题】 位运算 - 面试题 01.01. 判定字符是否唯一(难度⭐)(33)

1.题目解析 题目链接&#xff1a;面试题 01.01. 判定字符是否唯一 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 核心在于判断题目所给字符串是否存在相同字母&#xff0c;存在返回false即可&#xff0c;不存在返回true即可。 …
最新文章