如愚见指月,观指不观月。

目录

上节回顾——logistic回归模型和成本函数

梯度下降

梯度下降法的执行过程

计算图

logistic模型中的梯度下降算法


上节回顾——logistic回归模型和成本函数

梯度下降树 sklearn 梯度下降模型_机器学习

是在

梯度下降树 sklearn 梯度下降模型_机器学习_02

条件下,

梯度下降树 sklearn 梯度下降模型_算法_03

的概率。

。如果想要让我们的模型更加精确的话,就要让

梯度下降树 sklearn 梯度下降模型_机器学习

尽可能的接近

梯度下降树 sklearn 梯度下降模型_逻辑回归_05

。所以,我们定义了损失函数和成本函数,用于评估

梯度下降树 sklearn 梯度下降模型_机器学习


梯度下降树 sklearn 梯度下降模型_逻辑回归_05

的接近程度,以及模型的准确率。

损失函数是对单个样本来说的。

成本函数是对整个数据集来说的。

梯度下降树 sklearn 梯度下降模型_机器学习_02

是输入的样本数据,

梯度下降树 sklearn 梯度下降模型_逻辑回归_05

是样本对应的标签,

梯度下降树 sklearn 梯度下降模型_机器学习

是我们对

梯度下降树 sklearn 梯度下降模型_逻辑回归_05

的估计。

梯度下降树 sklearn 梯度下降模型_算法_12

是我们logistic模型的参数,我们希望找到合适的

梯度下降树 sklearn 梯度下降模型_算法_12

来让成本函数尽可能的小。接下来我们会介绍让成本函数

梯度下降树 sklearn 梯度下降模型_梯度下降法_14

尽可能小的方法。

之所以用这种形式的成本函数,因为这样的成本函数是凸的(convex),只有一个极值,我们用梯度下降法很容易的找到最小值,而不是局部极值。 

梯度下降树 sklearn 梯度下降模型_算法_15

梯度下降

首先让我们来复习一下高数,什么是梯度?

梯度下降树 sklearn 梯度下降模型_梯度下降树 sklearn_16

方向导数:多元函数在某一方向上的导数,代表了多元函数某点在某一方向上的斜率。

例如,二元函数

梯度下降树 sklearn 梯度下降模型_逻辑回归_17

在某点

梯度下降树 sklearn 梯度下降模型_逻辑回归_18

上沿

梯度下降树 sklearn 梯度下降模型_机器学习_19

方向的方向导数为

梯度下降树 sklearn 梯度下降模型_梯度下降树 sklearn_20

,其中,向量

梯度下降树 sklearn 梯度下降模型_机器学习_19

为单位向量。

梯度:是多元函数某点上的一个向量。多元函数某点上梯度的方向,就是能让这一点处方向导数最大的方向。而梯度的模则是方向导数的最大值。(梯度就是方向导数最大的方向)

对于二元函数来说,某一点的梯度就是

梯度下降树 sklearn 梯度下降模型_梯度下降树 sklearn_22

。(

梯度下降树 sklearn 梯度下降模型_算法_23


梯度下降树 sklearn 梯度下降模型_机器学习_24


梯度下降树 sklearn 梯度下降模型_机器学习_02

求的偏导,看不懂的话复习一下高数)

用爬山来举例,你在一座山上爬山,你这个位置的梯度,就是这座山上,你所在的这个位置,最陡的那个方向。

梯度下降就像下山,怎么下山才能尽可能快的下山呢?有一个方法就是,向着最陡的那个方向(梯度)走。

当然这样也有问题,就是我们有可能会走到局部极值(局部最优解),而不是最小值(全局最优解),所以我们才要求我们的成本函数是凸的。

梯度下降树 sklearn 梯度下降模型_梯度下降法_26

梯度下降法的执行过程

梯度下降法就是重复执行这样的步骤:

梯度下降树 sklearn 梯度下降模型_机器学习_27

梯度下降树 sklearn 梯度下降模型_逻辑回归_28

在这里代表的是学习率,就是梯度下降法中一步的步长。(就是你在“下山”的过程中,一步迈多大)

梯度下降树 sklearn 梯度下降模型_逻辑回归_29

在这里就是梯度,和

梯度下降树 sklearn 梯度下降模型_梯度下降树 sklearn_22

代表的是同一种东西。注意:

梯度下降树 sklearn 梯度下降模型_梯度下降树 sklearn_31

是n维平面上的一个点。

梯度下降树 sklearn 梯度下降模型_梯度下降树 sklearn_32

是成本函数。

计算图

例:

梯度下降树 sklearn 梯度下降模型_梯度下降法_33

这个函数的计算图便是:

梯度下降树 sklearn 梯度下降模型_机器学习_34

 与这个蓝色箭头指向的流程相反,便可以进行导数的计算,如红色的箭头所示。

梯度下降树 sklearn 梯度下降模型_机器学习_35

假如我们想要求得

梯度下降树 sklearn 梯度下降模型_机器学习_36

,因为

梯度下降树 sklearn 梯度下降模型_逻辑回归_37

,所以


反向传播 backpropagatioin

假如我们想求得

梯度下降树 sklearn 梯度下降模型_算法_38

(这不就是链式求导法则吗?)

logistic模型中的梯度下降算法

梯度下降树 sklearn 梯度下降模型_机器学习_39

如何用反向运算求导如图所示:

梯度下降树 sklearn 梯度下降模型_梯度下降树 sklearn_40

于是,我们就可以用梯度下降法,这是一次梯度的更新步骤。

梯度下降树 sklearn 梯度下降模型_机器学习_41