第一讲 梯度下降

1.     梯度下降

在学习神经网络与机器学习之前,不得不先了解一种迭代方法,那就是梯度下降法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。

在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随机梯度下降法和批量梯度下降法。这些都会在后面讲解。

2.     梯度下降小述

在学习微积分时,对于一个多元函数,当对其中各个元求偏导数,再把求得的偏导数以向量的形式表示出来,这个向量就是梯度。比如一个具有x和y的函数的两元函数第一讲 梯度下降,假设z代表高度,x,y分别代表两个方向,那么第一讲 梯度下降就是的梯度,简称为第一讲 梯度下降 或者第一讲 梯度下降 。那么在点第一讲 梯度下降 处的梯度就是第一讲 梯度下降

在点第一讲 梯度下降 处的梯度第一讲 梯度下降具有什么意义呢?简单的来说,这个梯度就是在点第一讲 梯度下降处变化最快的方向。

3.     梯度下降算法详解

下面就通过图解梯度下降和详细的数学表示两方面来讲解梯度下降。

3.1    图解梯度下降

如下图1.1所示,当我们选定初始点第一讲 梯度下降时,我们通过计算这一点的梯度第一讲 梯度下降,来找到下降最快的方向,从而得到新的点第一讲 梯度下降,此处的“+”号,并不是代表相加得到,而是代表“更快”的得到最小值。通过迭代,最终找到点第一讲 梯度下降,当前点即是最小值点。

第一讲 梯度下降

图1.1 梯度下降

 

3.2    梯度下降的几个概念

在详细的讲解梯度下降算法以前,有必要先了解几个有关的概念。

1.     步长:步长是指每一次迭代过程后,算法下降的长度。用一个比较典型的例子,假设我们在下山,步长就是在我们确定了最陡的方向后,迈出的那一步的距离。

2.     假设函数:假设函数可认为我们在监督学习中,针对输入的m个样本第一讲 梯度下降第一讲 梯度下降  ,所要拟合的函数第一讲 梯度下降,可认为是最重要得到的那个函数。

3.     损失函数:损失函数是为了衡量拟合程度的好与坏,所以通常损失函数为第一讲 梯度下降

3.3  梯度下降法的代数表示

梯度下降法有代数法和矩阵法两种表示方法,本文着重对代数法进行讲解。矩阵法表示可参考网络中其他资源。

1.     代数法的假设函数和代价函数

代数法表示梯度下降之前,要明确两个函数,分别是假设函数和代价函数。

假设函数实际上是我们最终所想得到的函数(回归)。对于线性回归来说,假设函数表示为第一讲 梯度下降,其中 第一讲 梯度下降为模型参数,也是我们最终所要训练得到的参数。 第一讲 梯度下降是每个样本的特征序列。如果假设 第一讲 梯度下降,假设函数可以简化为第一讲 梯度下降

对于上述假设函数,我们的损失函数为 第一讲 梯度下降,不难看出,我们是基于最小二乘损失来定义的损失函数,

2.     参数的初始化

所有的参数采用随机初始化。

具体为什么,等到后面讲解多层感知器反向传播的时候,大家就明白了。

3.     梯度下降的算法过程

假设我们有样本集第一讲 梯度下降,第一讲 梯度下降,...,第一讲 梯度下降,损失函数为第一讲 梯度下降,对于每个参数 的偏导数如下:

 第一讲 梯度下降

上式中,所有的第一讲 梯度下降 为1.

 第一讲 梯度下降的更新表达式如下:第一讲 梯度下降

上式很重要,后面讲解神经网络时,会发现反向传播的根本理论即源于此。