2019/11/19 Caesar
前言
根据之前的学习,我们可以这样简单的解释机器学习,机器学习就是需找一种函数f(x)并进行优化, 且这种函数能够做预测、分类、生成等工作。那么我们可以总结出机器学习的三部曲:
- 第一步:定义一个函数集合(define a function set)
- 第二步:判断函数的好坏(goodness of a function)
- 第三步:选择最好的函数(pick the best one)
我们之前已经在线性回归一节中大致介绍了如何找到一个函数,以及如何判断损失函数的好坏,这节我将重点放在如何选择最好的函数。这就引出了本节将要介绍的梯度下降,梯度下降是当前机器学习、深度学习解决最优化问题算法中应用最广的方法。
1. 最优化方法
所谓最优化方法,即寻找函数极值点的数值方法。通常采用的是迭代法,它从一个初始点x0开始,反复使用某种规则从xk移动到下一个点xk+1,直至到达函数的极值点。这些规则一般会利用一阶导数信息即梯度;或者二阶导数信息即 Hessian 矩阵。算法的依据是寻找梯度值为0的点,因为根据极值定理,在极值点处函数的梯度必须为0。但是需要注意,梯度为0是函数取得极值的必要条件而非充分条件。因此,即使找到了梯度为0的点,也可能不是极值点。
我们将最优化问题统一表述为求解函数的极小值问题,即
.PNG
其中, x 称为优化变量, f 称为目标函数。极大值问题可以转换成极小值问题,只需将目标函数加上负号即可。
2. 梯度
多元函数的导数(derivative)就是梯度(gradient),分别对每个变量进行微分,然后用逗号分割开,梯度是用括号包括起来,说明梯度其实一个向量,我们说损失函数L的梯度为:
.PNG
设二元函数 在平面区域 D 上具有一阶连续偏导数,则对于每一个点 P(x,y)都可定出一个向量
.PNG
,该函数就称为函数 z = f(x, y) 在点 P(x, y) 的梯度,记作 gradf(x,y)或 ,
即有:
.PNG
其中
.PNG
称为(二维的)向量微分算子或Nabla算子。
网友评论