机器学习入门:数学知识

偏导数

多变量函数指的是具有多个参数的函数,例如:

f ( x , y ) = e 2 y s i n ( x )

f 相对于 x 的偏导数表示如下:
f x

f ( x ) 的导数。要计算以下值:
f x

您必须使 y 保持固定不变(因此 f 现在是只有一个变量 x 的函数),然后取 f 相对于 x 的常规导数。例如,当 y 固定为 1 时,前面的函数变为:
f ( x ) = e 2 s i n ( x )

这只是一个变量 x 的函数,其导数为:
e 2 c o s ( x )


一般来说,假设 y 保持不变, f x 的偏导数的计算公式如下:
f x ( x , y ) = e 2 y c o s ( x )

同样,如果我们使 x 保持不变, f y 的偏导数为:
f y ( x , y ) = 2 e 2 y s i n ( x )

直观而言,偏导数可以让您了解到,当您略微改动一个变量时,函数会发生多大的变化。在前面的示例中:
f x ( 0 , 1 ) = e 2 7.4

因此,如果您将起点设为 (0,1),使 y 保持固定不变并将 x 移动一点, f 的变化量将是 x 变化量的 7.4 倍左右。

在机器学习中,偏导数主要与函数的梯度一起使用。

梯度

函数的梯度是偏导数相对于所有自变量的矢量,表示如下:

f

例如,如果:
f ( x , y ) = e 2 y s i n ( x )

则:
f ( x , y ) = ( f x ( x , y ) , f y ( x , y ) ) = ( e 2 y c o s ( x ) , 2 e 2 y s i n ( x ) )

请注意以下几点:

  • f 指向函数增长速度最快的方向。
  • f 指向函数下降速度最快的方向。

该矢量中的维度个数等于 f 公式中的变量个数;换言之,该矢量位于该函数的域空间内。例如,在三维空间中查看下面的函数 f ( x , y ) 时:

f ( x , y ) = 4 + ( x 2 ) 2 + 2 y 2

z = f ( x , y ) 就像一个山谷,最低点为 (2,0,4):

f ( x , y ) 的梯度是一个二维矢量,可让您了解向哪个 ( x , y ) 方向移动时高度下降得最快。也就是说,梯度矢量指向山谷。

在机器学习中,梯度用于梯度下降法。我们的损失函数通常具有很多变量,而我们尝试通过跟随函数梯度的负方向来尽量降低损失函数。

本人博客:寸山河
本人GitHub:王顺
欢迎大家一起交流学习。

猜你喜欢

转载自blog.csdn.net/wgshun616/article/details/81103834