不知道大家有没有类似的经历,斗志满满地翻开厚厚的机器学习书,很快被一个个公式炸蒙了。
想要学习机器学习算法,却很难看的懂里面的数学公式,实际应用只会调用库里的函数,无法优化算法。
学好机器学习,没有数学知识是不行的。数学知识的积累是一个漫长的过程,罗马也不是一夜建成的。
如果想要入门机器学习,数学基础比较薄弱,想打牢相关数学基础,可以关注笔者,一起学习(数学大佬也可以来扫一眼python代码)~
接下来我们以高数(同济第七版)课后习题为例,使用python语言来求解函数和导数的习题。
这样大家做课后练习的时候,也可以用python验证一下做的对不对。
这里用到两个常见的Python库,sympy和numpy,学习的时候可以参考官方文档。
sympy 是Python语言编写的符号计算库,这里用于处理数学对象的计算称为符号计算。
官方在线文档:https://docs.sympy.org/dev/index.html
numpy是一个Python库,支持大量的多维数组及矩阵运算,提供用于数组快速操作的各种API。
官方在线文档:https://www.numpy.org.cn/reference/
函数极限
我们来看一下高数课本(同济第七版)对函数极限的定义:
当时上课的时候就觉得这段函数定义太反人类了啊,瞬间打击学习高数的兴趣。
为什么函数极限的定义会这么难以理解呢?
这里需要插入数学史的内容了,这个问题要追溯到几百年前…
古希腊的数学家在处理无穷小和极限问题时,使用穷竭法等方法非常的繁琐。
到了牛顿时代,微积分还不成熟,也就是说牛顿当时也没把无穷小和极限的问题弄明白。
后面一个个大牛都试图把相关的漏洞补齐,我们看到的这个ε-δ定义的极限,是由维尔斯特拉斯总结了前面各个大牛的经验,最终提出来的。
所以最终这个定义我们看不懂也正常,这个概念的形成大约经历了几百年,就算拿给当时的牛顿看也是蒙的呢。
不过这个定义,也是公认的非常严谨、接近本质的函数极限定义了。
光说概念太没意思了,学数学嘛,肯定要做题。我们来看几道高数题吧——
函数极限练习题1(高数课后练习1-3第五题 ):
证明:
python版证明:
import sympy
from sympy import oo
import numpy as np
x = sympy.Symbol('x')
f = (x **