目录
4、local minimaV.S.saddle point
摘要
在前几周掌握了机器学习基本步骤后,本周了解了模型在不同情况下的发生原因以及改进措施,可以看出loss的观测无论在训练集还是测试集上都至关重要。最优化是机器学习的重要步骤,但是总是达不到最优,分析得到了以下几种原因:局部最小值和鞍点、批次、学习率、损失函数等。接着对几种原因进行分析并找出解决办法。
Abstract
After mastering the basic steps of machine learning in the previous weeks, this week we have learned the reasons why the model occurs in different situations and the measures to improve it, and it can be seen that the observation of the loss function is crucial both in the training set and the test set. Optimization is an important step in machine learning, but it always fails to reach the optimum, and the analysis obtained the following several reasons: local minima and saddle points, batch, learning rate, loss function, and so on. Then several reasons are analyzed and solutions are found.
一、机器学习指南
机器学习HW的完成步骤:
训练数据:计算损失函数最小值时的参数的
测试数据:将带入
来预测测试函数
1、训练集loss
首先观测在训练集上的loss,如果此时training loss很大就代表模型在训练集上效果不好,有以下两种可能性:
(1)model bias
问题:model过于简单,使loss最小的function不在function set中
解决:适当增加model的复杂性,使得它具有更大的弹性
(2)optimization issue
问题:model中存在某一个function使得loss达到local minima
解决:有两中国情况local minima或是paddle point。详见(二、局部最小值和鞍点)
如何区分是model bias还是optimization issue?
答:详见(二、局部最小值和鞍点)
2、测试集loss
下一步需要观察测试集上的loss,如果loss较小表示训练效果不错,如果loss较大表示在测试集上的效果不好,有以下两种可能:
(1)overfitting
极端情况:model在训练集上什么也没有学到,只是单纯复制了训练的完全符合训练集的function
一般情况:model的弹性过大(数学原理next lecture)
解决1:增加训练数据、数据增强
数据增强data augmentation:数据增强是通过一定的方式改变输入数据,以生成更多的训练样本,从而提高模型的泛化能力和效果。数据增强可以减少模型对某些特征的过度依赖,从而避免过拟合。
解决2:限制model
限制model的方法:减少参数(减少神经元个数、共享参数等)、减少输入特征 、 early stopping、正则化、dropout
为什么不能给model太大的限制?会出现model bias的情况,如下图:
model又趋于简单,几乎接近于linear model。
(2)mismatch
训练集和测试集的分布不同。与过拟合不同,不能通过“增加训练数据”来解决。
3、如何合理的选择model?
交叉验证,如下图:
交叉验证cross validation:当model对与测试集的预测不好时,我们会将训练集的一小部分单独分出来作为验证集,作用是不参与训练而是进行对训练生成的参数进行验。
如何合理的分开training set和validation set?
二、局部最小值和鞍点
1、局部最小值的分类
optimization失败的原因可能使出现了局部最小值的情况 ,如下图:
当进行gradient descent中微分几乎为零时,经过不断的参数更新但training loss还未达到最小值。
微分为零(驻点critical point)但是loss还没到最小值时有以下两种情况:
可以看出,如果是local minima的情形,此时的极小值无法再经过梯度下降到达最小值处;如果是saddle point的情形,此时的极小值点(鞍点)仍旧可以梯度下降到最小值点出。
2、类别的判定
泰勒级数逼近tayler series approximation
海森矩阵hessian matrix
当参数是loss函数中的驻点时,gradient为零,泰勒近似公式只剩下三项。此时驻点的特性有以下三种情况:
设为特征向量,若任何
大于0,说明矩阵H是正定矩阵,即所有特征值大于0,此时情况为local minima;若任何
小于0,说明矩阵H是负定矩阵,即所有特征值小于0,此时情况为local maxima;若
有小于0也 有大于0,此时情况为saddle point。
3、举例说明
该model训练效果比较差, training loss比较大且不是model bias的情况,所以是optimization比较失败的情况,需要判断出现local minima还是saddle point?
如果是鞍点的话,这个局部最小值的问题就很好解决了。找到特征值为负的方向对应的特征向量,来更新参数即可。
4、local minimaV.S.saddle point
一般情况下,saddle point的情况更加常见,如下图:
经实验所得,大部分的critical point的loss值都有正有负,即是saddle point的情况。所以一般情况都是可以再继续梯度下降的到global minima。
minima ratio就是正特征值再所有特征值中的所占比例。结合上图,在minima ratio取任何值时,saddle point几乎都有一半的概率。
总结
本周以机器学习的基本框架为主体逐步分析,旨在于找到最好的训练效果,其中optimization比较复杂。如果在optimization这一步出现问题,说明它可能出现以下几种情况:局部最小值和鞍点、批次和鞍点、学习率、损失函数。本周学习了它的其中一个原因:局部最小值和鞍点,并且给出了解决方案。在接下来的周报中,将继续分析其他的几种原因。