第四章 数值计算

1.上溢和下溢

       一种极具毁灭性的舍入误差是下溢underflflow)。当接近零的数被四舍五入为零时发生下溢。另一个极具破坏力的数值错误形式是上溢overflflow)。当大量级的数被近似为−∞ 时发生上溢。进一步的运算通常会导致这些无限值变为非数字。
       必须对上溢和下溢进行数值稳定的一个例子是 softmax 函数(softmax func-tion)。softmax 函数经常用于预测与 Multinoulli 分布相关联的概率,定义为 :

第四章 数值计算

2.病态条件

       条件数表征函数相对于输入的微小变化而变化的快慢程度。输入被轻微扰动而迅速改变的函数对于科学计算来说可能是有问题的,因为输入中的舍入误差可能导致输出的巨大变化。

3.基于梯度的优化方法

       把要最小化或最大化的函数称为 目标函数objective function)或准则criterion)。当我们对其进行最小化时,我们也把它称为代价函数cost function)、 损失函数loss function)或误差函数error function)。通常使用一个上标 表示最小化或最大化函数的 x 值。如我们记 x= arg min f(x)

       当 f(x) = 0,导数无法提供往哪个方向移动的信息。f(x) = 0 的点称为临界critical point)或 驻点stationary point)。一个局部极小点local minimum)意味着这个点的 f(x) 小于所有邻近点,因此不可能通过移动无穷小的步长来减小f(x)。一个局部极大点local maximum)意味着这个点的 f(x) 大于所有邻近点,因此不可能通过移动无穷小的步长来增大 f(x)。既不是最小,也不是最大的临界点被称为鞍点。
第四章 数值计算
       使 f(x) 取得绝对的最小值(相对所有其他值)的点是全局最小点(global minimum)。针对具有多维输入的函数,我们需要用到偏导数(partial derivative)的概念。偏导数第四章 数值计算衡量点 x 处只有 xi 增加时 f(x) 如何变化。梯度gradient)是相对一个向量求导的导数:f 的导数是包含所有偏导数的向量,记为 xf(x)。梯度的第 i 个元素是 f 关于 xi 的偏导数。在多维情况下,临界点是梯度中所有元素都为零的点。 u(单位向量)方向的 方向导数directional derivative)是函数 f u 方向的斜率。换句话说,方向导数是函数 f(x + αu) 关于 α 的导数(在 α = 0 时取得)。使用链式法则,我们可以看到当 α = 0 时,第四章 数值计算
         为了最小化 f,我们希望找到使 f 下降得最快的方向。计算方向导数:
 
       

第四章 数值计算

其中 θ u 与梯度的夹角。将 u2 = 1 代入,并忽略与 u 无关的项,就能简化得到 第四章 数值计算这在 u 与梯度方向相反时取得最小。换句话说,梯度向量指向上坡, 负梯度向量指向下坡。我们在负梯度方向上移动可以减小 f。这被称为最速下降法
(method of steepest descent) 梯度下降gradient descent)。 最速下降建议新的点为:

第四章 数值计算

其中 ϵ 学习率learning rate),是一个确定步长大小的正标量。最速下降在梯度的每一个元素为零时收敛(或在实践中,很接近零时)。在某些情况下,我们也许能够避免运行该迭代算法,并通过解方程 xf(x) = 0 直接跳到临界点。 虽然梯度下降被限制在连续空间中的优化问题,但不断向更好的情况移动一小步(即近似最佳的小移动)的一般概念可以推广到离散空间。递增带有离散参数的目标函数被称为 爬山hill climbing)算法 (Russel and Norvig, 2003)


梯度之上:Jacobian Hessian 矩阵

 
未完待续!!!!!!!!