1、前述算法
数学基础知识对机器学习还有深度学习的知识点理解尤其重要,本节主要讲解极限等相关知识。机器学习
2、极限函数
一、例子学习
当 x 趋于 0 的时候,sin(x) 与 tan(x) 都趋于 0. 可是哪个趋于 0 的速度更快一些呢?优化
咱们考察这两个函数的商的极限,spa
因此当 x → 0 的时候,sin(x) 与 tan(x) 是一样级别的无穷小。3d
二、相关定理blog
若是三个函数知足 f(x) ≤ g(x) ≤ h(x), 并且他们都在 x0 处有极 限,那么深度学习
重要极限:数学
3、微分学
微分学的核心思想: 逼近.
一、函数导数:
若是一个函数 f(x) 在 x0 附近有定义,并且存在极限。
那么 f(x) 在 x0 处可导且导数 f ′ (x0) = L.
无穷小量表述: 线性逼近。
Definition (函数的高阶导数)
若是函数的导数函数仍然可导,那么导数函数的导数是二阶导 数,二阶导数函数的导数是三阶导数. 通常地记为
或者进一步
导数是对函数进行线性逼近,高阶导数是对导数函数的进一步逼 近,由于没有更好的办法,因此数学家选择继续使用线性逼近.
Example (初等函数的导数)
二、微分学:多元函数
且 Lx, Ly 分别是 f 在 x, y 方向上的偏导数. 通常记为
三、Definition (高阶偏导数)
而且二阶偏导数为
四、Example (偏导数的例子)
五、求导法则
6.总结
微分学的核心思想是逼近. 一阶导数:线性逼近 二阶导数:二次逼近 导数计算:求导法则
4、泰勒级数
一、泰勒/迈克劳林级数: 多项式逼近。
二、泰勒级数: 例子
三、应用
泰勒级数是一元微分逼近的顶峰,因此有关于一元微分逼近的问 题请尽情使用.
罗比塔法则
证实:
由于是在 x0 附近的极限问题,咱们使用泰勒级数来思考这个问题
四、小结 (泰勒级数)
泰勒级数本质是多项式逼近
特殊函数的泰勒级数能够适当记一下
泰勒级数能够应用于不少与逼近相关的问题。
5、牛顿法与梯度降低法
不少机器学习或者统计的算法最后都转化成一个优化的问题. 也 就是求某一个损失函数的极小值的问题, 在本课范围内咱们考虑 可微分的函数极小值问题.
一、优化问题
对于一个无穷可微的函数 f(x),如何寻找他的极小值点.
极值点条件。
全局极小值: 若是对于任何 x˜, 都有 f(x∗) ≤ f(˜x),那么 x∗ 就是全局极小值点.
局部极小值: 若是存在一个正数 δ 使得,对于任何知足 |x˜ − x∗| < δ 的 x˜, 都有 f(x∗) ≤ f(˜x),那么 x∗ 就是局部极 小值点.(方圆 δ 内的极小值点)
不管是全局极小值仍是局部极小值必定知足一阶导数/梯度 为零,f ′ = 0 或者 ∇f = 0.
二、局部极值算法
这两种方法都只能寻找局部极值 这两种方法都要求必须给出一个初始点 x0
数学原理:牛顿法使用二阶逼近(等价于使用二阶泰勒级数),梯度降低法使用一阶逼近
牛顿法对局部凸的函数找到极小值,对局部凹的函数找到极 大值,对局部不凸不凹的可能会找到鞍点.
梯度降低法通常不会找到最大值,可是一样可能会找到鞍 点.
当初始值选取合理的状况下,牛顿法比梯度降低法收敛速度 快.
牛顿法要求估计二阶导数,计算难度更大.
三、牛顿法
首先在初始点 x0 处,写出二阶泰勒级数。
多变量函数二阶逼近
四、梯度降低法:多变量函数一阶逼近
若是函数 f(x) 是个多元函数,x 是一个向量. 在 x0 处对f作线性逼近。
五、小结 (牛顿法与梯度降低法)
牛顿法与梯度降低法本质上都是对目标函数进行局部逼近.
由于是局部逼近因此也只能寻找局部极值
牛顿法收敛步骤比较少,可是梯度降低法每一步计算更加简单,牛顿法不只给出梯度的方向还给出具体应该走多少。梯度法的r只能本身定义。
不一样的算法之间很难说哪个更好,选择算法还要具体问题 具体分析(这也是数据科学家存在的意义之一)
梯度自己是向着最大方向的,加个负号才是向着最小方向的。
6、凸函数与琴生不等式
一、Definition (凸函数)
把如上定义中的 ≤ 换成 <, 那么这个函数就叫作严格凸函数。
二、(凸函数判断准则)
若是 f 是多元函数,x 是个向量, 那么 f 是凸函数的条件变为Hf 是一个半正定矩阵。
三、凸函数重要性质: 琴生不等式)