100天搞定机器学习|Day 30-32 微积分的本质
3blue1brown系列课程,精美的动画,配上生动的讲解,非常适合帮助建立数学的形象思维,非常值得反复观看:
http://www.3blue1brown.com/

哔哩哔哩:
https://space.bilibili.com/88461692

作者还把制作视频的用到的代码放到了 github 上,有兴趣的同学可以研究看看
Github: https://github.com/3b1b/manim
我们节选其中一部分内容,领略一下微积分的奥妙
要了解微积分的本质,我们从一个大家都知道的公式说起。这个公式就是求圆的面积公式:A=πr²
我们将用微积分的方式来推导这个公式,在这个过程中,我们将利用到微分,积分,和两者的互逆。

首先我们先将一个圆如下图切分成数个圆环。我们获得每个圆环的面积,然后将他们相加不就得到圆的面积了。
所以我们以相同的距离dr将圆切分成若干个同心圆环。
比如圆环的半径是3,dr取0.1 那么我们就将一个圆换分成了30个宽度都是0.1的同心圆环:

每一个圆环拉直会得到一个新的形状,我们将这个形状近似看做一个矩形
那么这个矩形的面积就是这个圆环的周长乘以dr,圆环的周长为圆环到圆心的距离*2π
那么每个圆环的近似面积面积就为:**2πr*dr**(这里的r是每个圆环到圆心的距离)
你会发现我们的dr 取值越小,那么我们计算出来的圆的面积也就越精确。

现在如果我们把所有近似矩从小到大一个接一个的排列在一起,我们会有一些全新的发现:

注意,为了方便观察我们y轴与x轴的比例为5:1
现在我们去的dr是0.1,而我们取的dr值越小,获得的圆环的数量就越多,而这些圆环的近似矩形面积相加起来的面积就靠近原来的圆的面积。
若是无限多个圆环,那么我们获得的近似值越来越靠近真实值。
可是我们取的圆环越多,那么计算量不就越大,无限多的就代表根本没法计算。
但注意,当dr取值无限小的时候,我们将所有圆环的面积加起来与下图三角形的面积是相同的。

这个三角形的底是3 而高最大圆环的周长,也就是圆的周长:2π*3
如果圆的半径是r,那么它对应的三角形就是一个底为r,高为2π*r的三角形。根据三角形面积公式,我们得到
圆的面积为:πr²
对于数学家来说,你不光要找到答案,你还想要能发展处解决一般问题的工具和技巧
我们回想一下刚刚发生了什么。为什么这样做是可行的。这个从近似值到精确值的过程,通过这个过程,我们可以了解微积分的本质。
最开我们将问题化解为许多微小值的和,来获得一个近似的结果。
首先我们取每间隔dr值,取一个圆环。我们将一个圆换分成若干个小圆环,将其近似看成若干个矩形,我们就能获得近似的圆形面积。
这里的dr 不仅是圆环的宽度,也是每个圆环半径的间距。
我们将这个这个dr越缩小,dr值取的越小,所有矩形相加的面积就越接近于一个三角形的面积。
我们可以得出结论,原来的原型的面积恰好就是这个三角形的面积。
注意此时已经不是近似值,而是完全准确。
通过这种方法,我们重新推导了计算圆的面积的公式。
现在我们看看这种方法在其他的地方如何发挥作用。
例如,已知骑车在每个时间点上的速度,求这段时间骑车走了多远的距离。
我们可以用每个时间点的速度乘以这段微小的时间,然后相加求和,就是这一整段时间走的距离的近似值。

从图中,我们可以看出,最后我们将一个物理学的问题,变成了几何学的问题。这是不是很有趣?
还有很多的问题都可以这样来计算,我们将一个复杂的问题,拆解为若干近似于a*b然后相加求和的问题(如上面的速度乘以时间),
其中每一个乘法计算中的a都是相同的。(如上一例子中,每一个时间点之间的距离是相同的,也就是vt中的t是相同的)
那么我们就可以将问题转化为若干细长的矩形面积(a*b不就是求矩形面积的公式?)相加取得近似值的问题。
若是我们取的a(在这个汽车例子中的t)取值越小,我们最终获得的值就越精确,而且越发靠近求下图面积的问题的。

等等,这个形状的面积似乎也不是那么好求得。
似乎我们不会像求圆的面积的时候那么的幸运,得到图形正好是一个三角形。
如上题我们求一个汽车从发动到停止这段时间经过的距离,最后我们得到的这样一个形状,我们要怎么求它的面积呢?
一个二次函数的曲线下的面积要怎么求呢?

视频告诉我们,当你在数学上遇到一个特别难解的问题是,不要想着正面硬解,这样你往往会撞上南墙。
相反,你应该带着不明确的目的不断把玩这些概念。

我们将二次函数,x²函数曲线下的面积设置A(x)
那么A(x)与x²之间有什么特殊关系呢?
如果我们将x的值增加一点点,那A(x²)的值回发生怎样的变化呢?

我们把增加的面积叫做dA,x的增加值叫做dx
我们将这个增加的面积近似看做一个矩形。
我们可以得到:
dA≈x²*dx 由此我们得到: dA/dx≈x²
这里我们dx的值取的越小,那么这个dA的面积就越接近矩形的面积。dA/dx也就越接近x²

我们将x=3,dx0.001代入这个公式可以得到

现在我们还是不知道神秘的A(x),但是我们有了这样一个一个公式:dA/dx≈f(x)
dx取值越小,这个公式就越精确。

作者:guolaomao@cnblogs
https://www.cnblogs.com/guolaomao/category/1136473.html
100天搞定机器学习|Day 30-32 微积分的本质的更多相关文章
- 100天搞定机器学习|Day11 实现KNN
机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|D ...
- 100天搞定机器学习|day37 无公式理解反向传播算法之精髓
100天搞定机器学习(Day1-34) 100天搞定机器学习|Day35 深度学习之神经网络的结构 100天搞定机器学习|Day36 深度学习之梯度下降算法 本篇为100天搞定机器学习之第37天,亦 ...
- 100天搞定机器学习|day40-42 Tensorflow Keras识别猫狗
100天搞定机器学习|1-38天 100天搞定机器学习|day39 Tensorflow Keras手写数字识别 前文我们用keras的Sequential 模型实现mnist手写数字识别,准确率0. ...
- 100天搞定机器学习|Day7 K-NN
最近事情无比之多,换了工作.组队参加了一个比赛.和朋友搞了一些小项目,公号荒废许久.坚持是多么重要,又是多么艰难,目前事情都告一段落,我们继续100天搞定机器学习系列.想要继续做这个是因为,一方面在具 ...
- 100天搞定机器学习|Day8 逻辑回归的数学原理
机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|D ...
- 100天搞定机器学习|Day9-12 支持向量机
机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|D ...
- 100天搞定机器学习|Day16 通过内核技巧实现SVM
前情回顾 机器学习100天|Day1数据预处理100天搞定机器学习|Day2简单线性回归分析100天搞定机器学习|Day3多元线性回归100天搞定机器学习|Day4-6 逻辑回归100天搞定机器学习| ...
- 100天搞定机器学习|Day17-18 神奇的逻辑回归
前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机 ...
- 100天搞定机器学习|Day19-20 加州理工学院公开课:机器学习与数据挖掘
前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机 ...
- 100天搞定机器学习|Day21 Beautiful Soup
前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机 ...
随机推荐
- Java设计模式学习笔记(四) 抽象工厂模式
前言 本篇是设计模式学习笔记的其中一篇文章,如对其他模式有兴趣,可从该地址查找设计模式学习笔记汇总地址 1. 抽象工厂模式概述 工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问 ...
- 手动部署EJB于WebLogic
转载自http://blog.sina.com.cn/s/blog_678530f60100hy6c.html 说是转载,其实是我个人几年前在新浪博客上发表的一篇文章 上一篇说道如何使用Eclipse ...
- Java编程思想:内部类基础部分
public class Test { public static void main(String[] args) { // Parcel1.test(); // Parcel2.test(); / ...
- k8s学习 - 概念 - Deployment
k8s学习 - 概念 - Deployment 有了 ReplicaSet 还需要有 Deployment 的原因是希望有一个控制器能管理部署更新时候的版本控制问题.一个 Deployment 可以管 ...
- visual studio 容器工具首次加载太慢 vsdbg\vs2017u5 exists, deleting 的解决方案
========== 正在准备容器 ========== 正在准备 Docker 容器... C:\Windows\System32\WindowsPowerShell\v1.\powershell. ...
- vue-cli安装搭建初始项目
vue-cli脚手架 前提:node + npm 安装好 一.介绍 vue-cli: Vue + ESLint + webpack + iview + ES6 Vue:主要框架ESLint:帮助我们检 ...
- P4071 [SDOI2016]排列计数 题解
分析: 线性求逆元:https://blog.csdn.net/qq_34564984/article/details/52292502 代码: #include<cstdio> usin ...
- Eclipse中Cannot nest src folder解决方法
错误示例: : Java Model Status [Cannot nest output folder 'xxx/bin/main' inside output folder 'xxx/bin'] ...
- Excel催化剂图表系列之一键完成IBCS国际商业标准图表
在数据分析领域,最后一公里的图表输出,是一片十分广阔的领域.一直以来,笔者深知不是这一方面的能手,学习上也仅仅是浅尝而止.没有往其深入研究并有所产出.很幸运地在数据圈子能够结识到其他的志同道合的伙伴, ...
- 个人永久性免费-Excel催化剂功能第59波-快速调用Windows内部常用工具命令
Windows里一些常用的工具.命令,许多存放得很深的位置,不容易找到,每次还要百度半天才能调用成功,Excel催化剂现将常用的操作,提取至插件中完成,一键即可调出相应功能,无需苦苦找寻. 使用场景 ...