如何理解机器学习中的全局最优和局部最优?
计算机/软件
0 296
0

局部最优和全局最优分别是什么意思,它们有什么作用?

收藏
2021-01-06 03:58 更新 天明 •  893
共 1 个回答
高赞 时间
0

函数的局部最小值(函数通常是机器学习中的损失函数,我们希望根据经验数据将其最小化)是具有以下属性的函数域中的一个点:函数的局部最小值小于其临域的其他所有点的值。
另一方面,函数的全局最小值使函数在其整个域上最小化,而不仅仅是在最小值的附近。换句话说,在全局最小值处的函数值小于或等于在其他任何点处的函数值。
凸优化问题之所以在机器学习中受到重视,是因为凸性保证了全局最小值。
具体情况如下图所示:
img
现在,作为一个机器学习的实践者,假设你在不知道函数的先验知识的情况下,试图找到使这个函数的值最小化的点。一种常见的方法是梯度下降法,在这种情况下,类似于从起点将球沿表面滚动,如果你在中间的山顶上并将球向右滚动,则球将卡在次优的谷中,因为左侧有一个更好的谷。但是如果只有一个山谷(默认情况下为全局最小值),则无论以哪种方式扔球都可以保证将球扔到最佳谷的底部。(现实生活中的梯度下降可能会以较大的“步长”发散)。
在许多高级的机器学习模型中,误差面是非凸的,这意味着梯度下降在所有可能性下都收敛到次优的谷值或局部最小值。目前有人正在进行研究通过了解误差表面的几何形状或拓扑来从这些技术中获得更好的最小值。

收藏
2021-01-06 04:13 更新 Lisa •  1167