local minima 的问题如何解决

在这里插入图片描述

🚀 在初始神经网络那一节(链接如下:初识机器学习)是遇到了两个问题,第一个是在求解函数未知参数数时会遇到local minima的问题,在哪里我们并没有过多解释,就是说一般遇不到并且很好解决;第二个问题是当时使用的是线性模型,大大限制住了准确率,所以在第二节(线性模型到神经网络)就将模型变得有弹性进化为了神经网路以及深度网络;而这一节将进一步了解local minima的问题

1)优化求解失败

在定义好模型后,就进入训练阶段,即得出相应的损失函数(Loss函数),然后对损失函数使用梯度下降的方法求解最优的参数,但是使用梯度下降求解参数的时候可能就会卡在local minima(局部最优),从而导致梯度下降求解不出来最优的未知参数(全局最优)。

其实所谓的要通过梯度下降走到全局最优点的话,也就是要该点的偏导都为零,即要为极值点。而local minima的问题就在于,梯度下降走到一点,要是该点的偏导都为零,则会停下来,可是偏导为零的点并不一定最优,也并不一定为极值点;所以这些导数为零的点都会导致梯度下降求解停下来,而这些点并不一定是local minima,也有可能为下图中的saddle point(鞍点),而只有真正遇见local minima的时候,才是真的无路可走了,而导数为零导致梯度下降求解停下来不是正真的local minima 而是saddle point 的话,那也许是有路可走的,对于鞍点来说,四周仍然有两侧可以走,使其损失更低。

在这里插入图片描述

所以总结来说,导数为零的是crititical point ( 可疑点 ),若为local minima则无路可走,若为saddle point则有路可走。

该怎么区分是local minima还是saddle point

对于给定一组 θ ′ \theta^{'} θ,其实我们是可以通过泰特展开知道 θ ′ \theta^{'} θ附近的一个近似的损失函数,即如下图所示的 L ( θ ′ ) L(\theta^{'}) L(θ) 函数。

在这里插入图片描述

其中的 ( θ − θ ′ ) T g (\theta-\theta^{'})^Tg (θθ)Tg的g也是一个向量,因为损失函数中的 θ \theta θ本身就是一个向量,一组待求解的未知参数,所以求一阶导数,需要对 θ \theta θ 向量中的每一个分别求导,同样的当泰勒展开到二阶的时候,其中的 H H H 就表示对 θ \theta θ求二阶导数。

在这里插入图片描述

其中 H H H 也叫Hessian,是一个矩阵。 其中是对每一个未知参数的二阶导数,所以未知参数为2个的时候,其 H H H矩阵就为2×2的矩阵。

在这里插入图片描述
由于是crititical point ,其该点的一次微分都为零,所以 ( θ − θ ′ ) T g (\theta-\theta^{'})^Tg (θθ)Tg这项是零,所以对于在 θ ′ \theta^{'} θ这点来说,在该点的近似的损失函数函数就变成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值