机器学习中的数学基础(一):高等数学
在看西瓜书的时候有些地方的数学推导(尤其是概率论的似然、各种分布)让我很懵逼,本科的忘光了,感觉有点懂又不太懂,基于此,干脆花一点时间简单从头归纳一下机器学习中的数学基础,也就是高数、线代、概率论(其实大学都学过)。
本文全部都是基于我自己的数学基础、尽量用方便理解的文字写的,记录的内容都是我本人记忆不太牢靠、需要时常来翻笔记复习的知识,已经完全掌握的比如极限连续性啥的都不会出现在这里。
学习内容来自这里
1 高数
1.1 如何理解方向导数与梯度?
首先理解偏导数的几何意义:
【单独从一维的角度看,对
x
x
x 求偏导就是函数
z
z
z 的切线对
x
x
x 轴的斜率,这里如何理解?】
首先,曲面
z
z
z 在各个方向上可以有无数条不同方向的切线;
而当固定一个点
M
0
M_0
M0 时,经过
M
0
M_0
M0 ,同样可以产生无数条不同方向的切线;
但是,我们要理解的是函数
z
z
z 对
x
x
x 的偏导数,此时不能让
y
y
y 来对这个结果产生干扰,因此,我们直接令
y
=
y
0
y=y_0
y=y0,固定住
y
y
y 。
y
=
y
0
y=y_0
y=y0 是一个在
y
0
y_0
y0 处、平行于
x
O
z
xOz
xOz 面的平面,此时这个平面和曲面
z
z
z 相交与图中的蓝色曲线,这条蓝色曲线在点
M
0
M_0
M0 处的切线
M
0
T
x
M_0T_x
M0Tx 对
x
x
x 轴的斜率即为对
x
x
x 求偏导的几何意义。
对
y
y
y 求偏导同理。其实看图就很好理解了,根本不需要看上面的一大段话。
但是要说明的一点是,上面都是从一维的角度看,在 x x x 、 y y y 方向上分别有两条切线,各自求斜率即可。但是我们不能永远都单独从一维的角度看, x x x 和 y y y 两者之间是相关的,因此,还需要二者结合。
【梯度是空间变量变化趋势的最大值和方向】
梯度既有值,又有方向,所以它的表现形式是向量!!!
如果用爬山来类比,那么梯度其实就是最快上山的方向,注意,这里是上山!我们常见的梯度下降法是梯度取负的。
显然,这个“最快上山的方向”就是综合考虑了
x
x
x 和
y
y
y 的。
我们暂且先单独考虑
x
x
x :对点
M
0
M_0
M0 来说,沿
x
x
x 方向可以在蓝色曲线上向
x
x
x 轴的正方向和负方向走,显然向负方向走才是在坡度上升。
y
y
y 方向同理,沿着绿色曲线向
y
y
y 轴负方向走才是在上山。
因此,综合考虑两个方向,坡度最陡的上山方向就是:
gradf
(
x
,
y
)
=
∂
f
∂
x
i
⃗
+
∂
f
∂
y
j
⃗
\operatorname{gradf}(x, y)=\frac{\partial f}{\partial x} \vec{i}+\frac{\partial f}{\partial y} \vec{j}
gradf(x,y)=∂x∂fi+∂y∂fj这就是梯度,其中
∂
f
∂
x
=
f
x
(
x
0
,
y
0
)
\frac{\partial f}{\partial x}=f_x\left(x_0, y_0\right)
∂x∂f=fx(x0,y0) 、
∂
f
∂
y
=
f
y
(
x
0
,
y
0
)
\frac{\partial f}{\partial y}=f_y\left(x_0, y_0\right)
∂y∂f=fy(x0,y0) ,在不同的点有各自的取值。到达山顶时,梯度为0。
【梯度是最大的方向导数】
梯度是上升最快的方向,但是从点
M
0
M_0
M0 出发,有无数种方向,这些方向就可以用方向向量
(
c
o
s
(
α
)
,
s
i
n
(
α
)
)
(cos(\alpha),sin(\alpha))
(cos(α),sin(α)) 表示(
α
\alpha
α 是方向向量与
x
x
x 轴的夹角),那么,梯度在方向向量上的投影就是该方向的方向导数:
∂
f
∂
e
l
=
(
f
x
(
x
0
,
y
0
)
,
f
y
(
x
0
,
y
0
)
)
∗
(
cos
(
α
)
,
sin
(
α
)
)
=
∣
gradf
(
x
,
y
)
∣
c
o
s
(
θ
)
\frac{\partial f}{\partial e_l}=\left(f_x\left(x_0, y_0\right), f_y\left(x_0, y_0\right)\right) *(\cos (\alpha), \sin (\alpha))=|\operatorname{gradf}(x, y)|cos(\theta)
∂el∂f=(fx(x0,y0),fy(x0,y0))∗(cos(α),sin(α))=∣gradf(x,y)∣cos(θ)其中,
θ
\theta
θ 是 梯度与方向向量的夹角。
这就是为什么经常看到 “梯度是最大的方向导数”,当方向导数最大时,方向向量和梯度重合,
c
o
s
(
θ
)
=
1
cos(\theta)=1
cos(θ)=1, 梯度在方向向量上的投影就是梯度本身。
下面这张图,等高线
c
1
c_1
c1 比等高线
c
2
c_2
c2 低,梯度就是从
c
1
c_1
c1 到
c
2
c_2
c2 最快的方向。
关键:梯度是方向导数中的最大值,梯度一定是函数上升的方向, 最小值为0, 即到达山顶。梯度下降法是对梯度取负的。
1.2 泰勒公式
出发点:
1、用简单的熟悉的多项式来近似代替复杂的函数
2、易计算函数值,导数与积分仍是多项式
3、多项式由它的系数完全确定,其系数又由它在一点的函数值及其
导数所确定。
为什么泰勒公式有多阶?
因为用更高阶的函数来确定上升和下降的趋势。
而阶乘的作用就是使函数图像先呈现低阶的特性,再呈现高阶的。
1.3 拉格朗日乘子法
其实就是把约束和目标函数一起计算,将约束问题无约束化。
1.3.1 理论支持
如图所示,有一座山,知道山的等高线、知道一条固定在山上的曲线,那么如何寻找山峰最低点?
最低点显然是等高线和曲线相切的地方。因此,在这个点处,等高线和曲线各自的法向量应该是平行的,只不过是有倍数和方向的差距。
因此计算之后,就可以得到图中的结论,这就为拉格朗日乘子法提供了支持。
所以用公式表示如下:
多个条件也一样成立。