导数

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

现在让从不同的角度理解这个函数。

假设\(a=5\) ,此时\(f(a)=3a=15\)。

把\(a\)右移一个很小的幅度,增加到5.001,\(f(a)=15.003\)。

即在\(a=5\) 时,斜率是3,这就是表示,当微小改变变量\(a\)的值,\(\frac{df(a)}{da}=3\) 。一个等价的导数表达式可以这样写\(\frac{d}{da}f(a)\),不管 是否将\(f(a)\)放在上面或者放在右边都没有关系。

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

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

希望带给你一种感觉:什么是斜率?什么是导函数?对于一条直线,在例子中函数的斜率,在任何地方都是3。

2.6 更多的导数例子(More Derivative Examples)

在这个博客中 将给出一个更加复杂的例子,在这个例子中,函数在不同点处的斜率是不一样的,先来举个例子:

在这里画一个函数,\(f(a)={{\text{a}}^{\text{2}}}\),如果\(a=\text{2}\) 的话,那么\(f(a)=4\)。让 稍稍往右推进一点点,现在\(a=\text{2}.\text{001}\) ,则\(f(a)\approx 4.004\) (如果 用计算器算的话,这个准确的值应该为4.004。0.001 只是为了简便起见,省略了后面的部分),如果 在这儿画,一个小三角形, 就会发现,如果把\(a\)往右移动0.001,那么\(f(a)\)将增大四倍,即增大0.004。在微积分中 把这个三角形斜边的斜率,称为\(f(a)\)在点\(a=\text{2}\) 处的导数(即为4),或者写成微积分的形式,当\(a=\text{2}\) 的时候, \(\frac{d}{da}f(a)=4\) 由此可知,函数\(f(a)={{a}^{{2}}}\),在\(a\)取不同值的时候,它的斜率是不同的,这和上个博客中的例子是不同的。

这里有种直观的方法可以解释,为什么一个点的斜率,在不同位置会不同如果 在曲线上,的不同位置画一些小小的三角形 就会发现,三角形高和宽的比值,在曲线上不同的地方,它们是不同的。所以当\(a=2\) 时,斜率为4;而当\(a=5\)时,斜率为10 。如果 翻看微积分的课本,课本会告诉 ,函数\(f(a)={{a}^{{2}}}\)的斜率(即导数)为\(2a\)。这意味着任意给定一点\(a\),如果 稍微将\(a\),增大0.001,那么 会看到\(f(a)\)将增大\(2a\),即增大的值为点在\(a\)处斜率或导数,乘以 向右移动的距离。

注意:导数增大的值,不是刚好等于导数公式算出来的值,而只是根据导数算出来的一个估计值。

为了总结这篇博客的知识, 再来看看几个例子:

假设\(f(a)={{a}^{\text{3}}}\) 如果 翻看导数公式表, 会发现这个函数的导数,等于\(3{{a}^{2}}\)。所以这是什么意思呢,同样地举一个例子: 再次令\(a=2\),所以\({{a}^{3}}=8\) ,如果 又将\(a\)增大一点点, 会发现\(f(a)\approx 8.012\), 可以自己检查一遍,如果 取8.012, 会发现\({{2.001}^{3}}\) ,和8.012很接近,事实上当\(a=2\)时,导数值为\(3×{{2}^{2}}\),即\(3×4=12\)。所以导数公式,表明如果 将\(a\)向右移动0.001时,\(f(a)\) 将会向右移动12倍,即0.012。

来看最后一个例子,假设\(f(a)={{\log }_{e}}a\),有些可能会写作\(\ln a\),函数\(\log a\) 的斜率应该为\(\frac{1}{a}\),所以 可以解释如下:如果\(a\)取任何值,比如又取\(a=2\),然后又把\(a\)向右边移动0.001 那么\(f(a)\)将增大\(\frac{\text{1}}{a}\times \text{0}\text{.001}\),如果 借助计算器的话, 会发现当\(a=2\)时\(f(a)\approx \text{0}\text{.69315}\) ;而\(a=2.001\)时,\(f(a)\approx \text{0}\text{.69365}\)。所以\(f(a)\)增大了0.0005,如果 查看导数公式,当\(a=2\)的时候,导数值\(\frac{d}{da}f(a)=\frac{\text{1}}{\text{2}}\)。这表明如果 把 增大0.001,\(f(a)\)将只会增大0.001的二分之一,即0.0005。如果 画个小三角形 就会发现,如果\(x\) 轴增加了0.001,那么\(y\) 轴上的函数\(\log a\),将增大0.001的一半 即0.0005。所以 \(\frac{1}{a}\) ,当\(a=2\)时这里是 ,就是当\(a=2\)时这条线的斜率。这些就是有关,导数的一些知识。

在这个博客中,只需要记住两点:

  • 第一点,导数就是斜率,而函数的斜率,在不同的点是不同的。在第一个例子中\(f(a)=\text{3}a\) ,这是一条直线,在任何点它的斜率都是相同的,均为3。但是对于函数\(f(a)={{\text{a}}^{\text{2}}}\) ,或者\(f(a)=\log a\),它们的斜率是变化的,所以它们的导数或者斜率,在曲线上不同的点处是不同的。

  • 第二点,如果想知道一个函数的导数, 可参考微积分课本或者维基百科,然后 应该就能找到这些函数的导数公式。

神经网络基础篇:详解导数(Derivatives)的更多相关文章

  1. JavaScript基础篇详解

    全部的数据类型: 基本数据类型: undefined Number Boolean null String 复杂数据类型: object ①Undefined: >>>声明但未初始化 ...

  2. 走向DBA[MSSQL篇] 详解游标

    原文:走向DBA[MSSQL篇] 详解游标 前篇回顾:上一篇虫子介绍了一些不常用的数据过滤方式,本篇详细介绍下游标. 概念 简单点说游标的作用就是存储一个结果集,并根据语法将这个结果集的数据逐条处理. ...

  3. Python基础知识详解 从入门到精通(七)类与对象

    本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...

  4. I2C 基础原理详解

    今天来学习下I2C通信~ I2C(Inter-Intergrated Circuit)指的是 IC(Intergrated Circuit)之间的(Inter) 通信方式.如上图所以有很多的周边设备都 ...

  5. PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明

    PHP函数篇详解十进制.二进制.八进制和十六进制转换函数说明 作者: 字体:[增加 减小] 类型:转载   中文字符编码研究系列第一期,PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明 ...

  6. python 3.x 爬虫基础---Urllib详解

    python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 前言 爬虫也了解了一段时间了希望在半个月的时间内 ...

  7. 【原创 深度学习与TensorFlow 动手实践系列 - 3】第三课:卷积神经网络 - 基础篇

    [原创 深度学习与TensorFlow 动手实践系列 - 3]第三课:卷积神经网络 - 基础篇 提纲: 1. 链式反向梯度传到 2. 卷积神经网络 - 卷积层 3. 卷积神经网络 - 功能层 4. 实 ...

  8. RabbitMQ基础知识详解

    什么是MQ? MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中 ...

  9. Scala进阶之路-Scala函数篇详解

    Scala进阶之路-Scala函数篇详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.传值调用和传名调用 /* @author :yinzhengjie Blog:http: ...

  10. Nmap扫描教程之基础扫描详解

    Nmap扫描教程之基础扫描详解 Nmap扫描基础扫描 当用户对Nmap工具了解后,即可使用该工具实施扫描.通过上一章的介绍,用户可知Nmap工具可以分别对主机.端口.版本.操作系统等实施扫描.但是,在 ...

随机推荐

  1. 若依(ruoyi)开源系统-多数据源问题踩坑实录

    内容概要 上一节内容   介绍了用开源系统若依(ruoyi)搭建页面的过程.在实际项目中,经常遇到多数据源后者主从库的情况.本节记录若依多数据源配置过程中遇到的问题排查过程. 背景描述 1.上一节在r ...

  2. Amazon MSK 可靠性最佳实践

    1. Amazon MSK介绍 Kafka作为老牌的开源分布式事件流平台,已经广泛用于如数据集成,流处理,数据管道等各种应用中. 亚马逊云科技也于2019年2月推出了Apache Kafka的云托管版 ...

  3. Speex详解(2019年09月25日更新)

    Speex详解 整理者:赤勇玄心行天道 QQ号:280604597 微信号:qq280604597 QQ群:511046632 博客:www.cnblogs.com/gaoyaguo 大家有什么不明白 ...

  4. 如何使用Python将PDF转为图片

    将PDF转为图片能方便我们将文档内容上传至社交媒体平台进行分享.此外,转换为图片后,还可以对图像进行进一步的裁剪.调整大小或添加标记等操作. 用Python将PDF文件转JPG/ PNG图片可能是大家 ...

  5. Go包介绍与初始化:搞清Go程序的执行次序

    Go包介绍与初始化:搞清Go程序的执行次序 目录 Go包介绍与初始化:搞清Go程序的执行次序 一.main.main 函数:Go 应用的入口函数 1.1 main.main 函数 1.2 main.m ...

  6. 【虹科干货】Redis 开发者需要了解的缓存驱逐策略

    在你搭建并配置了一个Redis数据库之后,Redis成功地提升了应用程序性能.然而这里有一个潜在问题,随着缓存数据的快速增加和内存占用率的逐渐上升,你很快会发现Redis缓存容量即将达到硬件存储容量上 ...

  7. go基础-泛型

    概述 在强类型变成语言中,类型是确定不可变,如函数入参是确定类型.链表元素是确定类型,这极大限制了函数功能.也有些解决方案,为每种类型都实现一版函数,会导致大量重复代码:使用类型转换,使用特殊形参(如 ...

  8. 高效开发与设计:提效Spring应用的运行效率和生产力

    引言 现状和背景 Spring框架是广泛使用的Java开发框架之一,它提供了强大的功能和灵活性,但在大型应用中,由于Spring框架的复杂性和依赖关系,应用的启动时间和性能可能会受到影响.这可能导致开 ...

  9. 🔥🔥Java开发者的Python快速进修指南:面向对象进阶

    在上一期中,我们对Python中的对象声明进行了初步介绍.这一期,我们将深入探讨对象继承.组合以及多态这三个核心概念.不过,这里不打算赘述太多理论,因为我们都知道,Python与Java在这些方面的主 ...

  10. 【Javaweb】servlet二

    servlet程序常见错误 1.url-pattern路径没有以 / 打头 2.servlet-name配置的值不存在 3.servlet-class标签的全类名配置错误 servlet-url地址如 ...