(花书) Deep Learning

第4章 数值计算
数值计算通常是指通过迭代过程更新解的估计值来解决数学问题的算法。


4.1 上溢和下溢
一种极具毁灭性的舍入误差是下溢。当接近0的数被四舍五入为0的时候发生下溢。许多函数在其参数为0而不是一个很小的正数时才会表现出质的不同。另一个极具破坏力的数值错误是上溢。当大量级的数被近似为正无穷或负无穷时发生上溢。进一步的运算通常会导致这些无限值变为非数字。


4.2 病态条件
条件数指的是函数相对于输入的微小变化而变化的快慢程度。


4.3 基于梯度的优化方法
SGD will get stuck as saddle point. Saddle points appear much more common in high dimension. In recent years, problems raised that, when you are training very large neural networks, the problem is more about saddle points and less about local minima. By the way, that’s not only the problem at the saddle point, but also near the saddle point.
梯度下降/最速下降:将x往导数的反方向移动一小步来减小f(x);在负梯度方向上移动减小f(x)。
选择学习率的一个普遍方式是选择一个小常数。还有一种方法是根据几个不同的学习率计算f(x’),选择其中能产生最小目标函数值的学习率。这种策略通常称为线搜索。


4.4 约束优化
有时候我们可能希望在x的某些集合S中而非x的所有可能值中寻找f(x)的最大值或最小值。这称为约束优化。在约束优化术语中,集合S内的点x称为可行点。
约束优化的一个简单方法是将约束考虑在内后简单地对梯度下降进行修改。如果使用一个小的恒定步长e,我们可以先取梯度下降的单步结果,然后将结果投影回S。如果使用线搜索,我们只能在步长为e的范围内搜索可行的新x点,或者可以将线上的每个点投影到约束区域。如果可能,在梯度下降或线搜索前将梯度投影到可行域的切空间会更高效。
一个更复杂的方法是设计一个不同的、无约束的优化问题,其解可以转化成原始约束优化问题的解。例如,我们要在x属于二维平面中最小化f(x),其中x约束为具有单位L2番薯。我们可以关于\theta最小化g(\theta) = f([cos \theta, sin \theta]T),最后返回[cos \theta, sin \theta]作为原问题的解。此种方法需要创造性:优化问题之间的转换必须专门根据我们遇到的每一种情况进行设计。
KKT方法是针对约束优化非常通用的解决方案。为介绍这种方法,我们引入广义Lagrange函数,为了定义Lagrangian,我们先要通过等式和不等式的形式描述S。S = {x|g (i) (x) = 0, h (j) (x) <= 0},前者是等式约束,后者是不等式约束。
我们可以用一组简单的性质来描述约束优化问题的最优点,这些性质称为KKT条件:
(1)广义拉格朗日梯度为0
(2)所有关于x和KKT乘子的约束都满足
(3)不等式约束显示的“互补松弛性”:\alpha与h(x)的内积为0


关于随机梯度下降法:
our gradients come from mini-batches so they can be noisy. If there are noises in your gradient estimates, then vanilla SGD kind of meanders around the space, and might actually take a long time to get towards the minima.

所以及时SGD有这些缺点,full gradient也不能解决SGD存在的问题。


思想:在做预测时考虑所有的\theta
一般而言,机器学习实践者会选择一个相当宽泛的(即,高熵的)先验分布,以反应在观测到任何数据前参数\theta的高度不确定性。
在贝叶斯估计常用的情境下,先验开始是相对均匀的分布或者高熵的高斯分布,观测数据通常会使后验的熵下降,并集中在参数的几个可能性很高的值
相对于最大似然估计,贝叶斯估计有两个重要区别。第一,不想ML方法预测时用\theta的点估计,贝叶斯方法使用\theta的全分布。每个具有正常概率密度的\theta的值有助于下一个样本的预测,其中贡献由后验密度本身加权,在观测到数据集[x(1), ..., x(m)]之后,如果我们仍然很不确定\theta的值,那么这个不确定性会直接包含在我们所做的任何预测中。
贝叶斯和ML的第二个最大区别是由贝叶斯先验分布造成的。先验能够影响概率质量密度函数朝参数空间中偏好先验的区域偏移。
当训练数据很有限时,贝叶斯方法通常泛化得很好,但是当训练样本数目很大时,通常会有很大的计算代价。


5.6.1 最大后验(MAP)估计
希望使用点估计的一个原因是,对于大多数有意义的模型而言,大多数设计贝叶斯后验的计算是非常棘手得,点估计提供了一个可行得近似解。
而MAP的计算中只需要使用到,log(p(x|\theta))和log(p(\theta))
正如全贝叶斯推断,MAP贝叶斯推断得优势是能够利用来自先验的信息,这些信息无法从训练数据中获得。该附加信息有利于减少最大后验点估计的方差(相比于ML估计)。然而,这个优点的代价是增加了偏差。
许多正规化估计方法,例如权重衰减正则化的最大似然学习,可以被解释为贝叶斯推断的MAP近似。
MAP贝叶斯推断提供了一个直观的方法来设计复杂但可解释的正则化项。

猜你喜欢

转载自blog.csdn.net/weixin_40516558/article/details/79780212
今日推荐