| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> ensemble learning 学习分享:机器学习的数学基础 -> 正文阅读 |
|
[人工智能]ensemble learning 学习分享:机器学习的数学基础 |
文章目录本文是学习开源项目‘hands-on data analysis’之后的总结。平台使用jupyter notebook。 项目链接:https://github.com/datawhalechina/ensemble-learning 章节学习视频链接:https://www.bilibili.com/video/BV1oQ4y1X7ep/ 高等数学高等数学中涉及到的基本内容如下:
考虑到部分内容稍微简单,本文只概述个人认为的部分重点内容。 多元函数的相关概念
多元函数的偏导数设二元函数 z = f ( x , y ) z=f(x, y) z=f(x,y) 在点 ( x 0 , y 0 ) \left(x_{0}, y_{0}\right) (x0?,y0?) 的某邻域内有定义,如果 lim ? Δ x → 0 Δ x z Δ x \lim\limits_{\Delta x \to 0} \frac{\Delta_{x} z}{\Delta x} Δx→0lim?ΔxΔx?z? 存在,就称其为函数 z = f ( x , y ) z=f(x, y) z=f(x,y)在点( x 0 , y 0 ) \left.x_{0}, y_{0}\right) x0?,y0?) 处对 x x x 的偏导数。 记作 ? z ? x ∣ ( x 0 , y 0 ) \left.\frac{\partial z}{\partial x}\right|_{\left(x_{0}, y_{0}\right)} ?x?z?∣∣?(x0?,y0?)?, ? f ? x ∣ ( x 0 , y 0 ) \left.\frac{\partial f}{\partial x}\right|_{\left(x_{0}, y_{0}\right)} ?x?f?∣∣∣?(x0?,y0?)?,即 ? z ? x ∣ ( x 0 , y 0 ) = lim ? Δ x → 0 Δ x z Δ x = lim ? Δ x → 0 f ( x 0 + Δ x , y 0 ) ? f ( x 0 , y 0 ) Δ x \left.\frac{\partial z}{\partial x}\right|_{\left(x_{0}, y_{0}\right)}=\lim\limits_{\Delta x \to 0} \frac{\Delta_{x} z}{\Delta x} =\lim\limits_{\Delta x \rightarrow 0} \frac{f\left(x_{0}+\Delta x, y_{0}\right)-f\left(x_{0}, y_{0}\right)}{\Delta x} ?x?z?∣∣?(x0?,y0?)?=Δx→0lim?ΔxΔx?z?=Δx→0lim?Δxf(x0?+Δx,y0?)?f(x0?,y0?)? . 梯度向/矢量Gradient梯度是导数对多元函数的推广,是多元函数对各个自变量偏导数形成的向量,其作用相当于一元函数的导数。
梯度:某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。 定义:设二元函数
z
=
f
(
x
,
y
)
z=f(x, y)
z=f(x,y) 在平面区域
D
D
D 上具有一阶连续偏导数,则对于每一个点P
(
x
,
y
)
(x, y)
(x,y)都可定出一个向量
{
?
f
?
x
,
?
f
?
y
}
=
f
x
(
x
,
y
)
i
?
+
f
y
(
x
,
y
)
j
?
\left\{\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}\right\}=f_{x}(x, y) \vec{i}+f_{y}(x, y) \vec{j}
{?x?f?,?y?f?}=fx?(x,y)i+fy?(x,y)j? ,该函数就称为函数
z
=
f
(
x
,
y
)
z=f(x, y)
z=f(x,y) 在点P
(
x
,
y
)
(x, y)
(x,y)的梯度,记作gradf
(
x
,
y
)
(\mathrm{x}, \mathrm{y})
(x,y) 或
?
f
(
x
,
y
)
\nabla f(x, y)
?f(x,y),即有:
雅克比矩阵(Jacobian矩阵)雅可比矩阵是向量函数的所有偏导数构成的矩阵,可简化链式法则的表达,在多元函数的换元法中有应用。 假设 F : R n → R m F: \mathbb{R}_{n} \rightarrow \mathbb{R}_{m} F:Rn?→Rm? 是一个从n维欧氏空间映射到到m维欧氏空间的函数(即向量到向量的映射: y = f ( x ) \boldsymbol{y}=f(\boldsymbol{x}) y=f(x))。这个函数由m个实函数组成: y 1 = ( x 1 , ? ? , x n ) , ? ? , y m = ( x 1 , ? ? , x n ) y_{1}=\left(x_{1}, \cdots, x_{n}\right), \cdots, y_{m}=\left(x_{1}, \cdots, x_{n}\right) y1?=(x1?,?,xn?),?,ym?=(x1?,?,xn?) 。 这些函数的偏导数(如果存在)可组成一个m行n列的矩阵,即雅可比矩阵(由多个多元函数梯度组成的矩阵): 海森矩阵(Hessian 矩阵)黑塞矩阵(Hessian Matrix),又称海森矩阵、海瑟矩阵、海塞矩阵等,是由一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率。
实际上,Hessian矩阵是梯度向量g(x)对自变量x的Jacobian矩阵。 多元函数下的极值问题(最优化问题)设n元实函数
f
(
x
1
,
x
2
,
?
?
,
x
n
)
f\left(x_{1}, x_{2}, \cdots, x_{n}\right)
f(x1?,x2?,?,xn?) 在点
M
0
(
a
1
,
a
2
,
…
,
a
n
)
M_{0}\left(a_{1}, a_{2}, \ldots, a_{n}\right)
M0?(a1?,a2?,…,an?) 的邻域内有二阶连续偏导,若有: 带等式约束的优化问题(拉格朗日乘子法Lagrange Multiplier Method)二元函数下带等式约束的优化问题:求函数 z = f ( x , y ) z=f(x, y) z=f(x,y) 在条件 φ ( x , y ) = 0 \varphi(x, y)=0 φ(x,y)=0 下的极值。 引入拉格朗日函数 L ( x , y ) = f ( x , y ) + λ φ ( x , y ) L(x, y)=f(x, y)+\lambda \varphi(x, y) L(x,y)=f(x,y)+λφ(x,y) , λ \lambda λ为新引入的自变量,称为拉格朗日乘子。 对所有自变量求偏导,并令其为0,得极值点满足的条件: { L x ( x 0 , y 0 ) = 0 L y ( x 0 , y 0 ) = 0 φ ( x 0 , y 0 ) = 0 \left\{\begin{array}{l}L_{x}\left(x_{0}, y_{0}\right)=0 \\ L_{y}\left(x_{0}, y_{0}\right)=0 \\ \varphi\left(x_{0}, y_{0}\right)=0\end{array}\right. ????Lx?(x0?,y0?)=0Ly?(x0?,y0?)=0φ(x0?,y0?)=0? 更一般的定义如下:
泰勒公式泰勒公式就是用一个多项式函数去逼近一个给定的函数(即尽量使多项式函数图像拟合给定的函数图像)。 泰勒公式在机器学习中主要应用于梯度迭代 定义:设
n
n
n 是正整数,如果定义在一个包含a的区间上的函数
f
f
f 在
a
a
a 点处
n
+
1
n+1
n+1 次可导,那么对于这个区间上的任意
x
x
x 都有: 基于梯度的优化方法–梯度下降法(Python实现举例)关于梯度下降法具体可参见:梯度下降(Gradient Descent)小结,梯度下降算法(附代码实现) 梯度下降Gradient Descent 的优化公式: x k + 1 = x k ? α ? f ( x ) \boldsymbol{x}_{k+1}=\boldsymbol{x}_{k}-\alpha\nabla f(\boldsymbol{x}) xk+1?=xk??α?f(x) ,其中 x \boldsymbol{x} x 是待求的参数, α \alpha α 是学习率-代表每次优化的步长, f ( x ) f(\boldsymbol{x}) f(x) 是目标函数。 梯度下降是一个迭代的过程,它是渐进的,不是一蹴而就的。 梯度下降法算法过程:
基于梯度的优化方法–牛顿迭代法
牛顿法在每个迭代点处将目标函数近似为二次函数,然后通过求解梯度为 0 \boldsymbol{0} 0的方程得到迭代方向。
牛顿法: 迭代的公式如下: 其迭代过程如下: 牛顿法算法过程:
牛顿法和梯度下降法的比较
线性代数线性代数中涉及到的基本内容如下:
概率论与数理统计
【注】:时间和水平有限,线代及概率知识随后整理。 参考:雷明 《机器学习的数学》 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/23 10:46:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |