取对数以最小化可能性的优点

机器算法验证 机器学习 最大似然 优化 对数 梯度下降
2022-03-26 11:13:46

在回归/分类问题中,我们通常对最小化模型参数的成本函数感兴趣。在许多情况下,成本函数是负似然。为了最小化它,最小化它的日志是标准的。由于对数是单调递增的,所以两个函数的最小值相同,因此最小化的最终结果是相同的。取对数具有减少数值问题的优势,因为它将产品转换为和,但还有其他优势吗?

问题:如果我们不担心任何数值不稳定性,梯度下降在最小化负对数似然方面会比负似然更好吗?

显然梯度步骤是不同的。如果f是负似然和g=log(f)负对数似然,两个步骤将是:

Δw=λdf(w)dw

Δw=λdf(w)dw×1f(w)

2个回答

到目前为止,数值稳定性是使用对数似然而不是似然的最重要原因。仅凭这个原因就足以选择对数似然而不是似然。另一个让我想到的原因是,如果有一个分析解决方案,那么使用对数似然法通常更容易找到。

似然函数通常是每个观测值的似然贡献的乘积。由于乘积规则,取其导数将很快导致无法管理的交叉乘积项的数量原则上这是可能的,但我不想成为跟踪所有这些条款的人。

对数似然将个体贡献的乘积转换为贡献的总和,由于总和规则,这更易于管理

当粗麻布,即二阶导数矩阵是正交的(直到比例因子..不记得术语)时,梯度下降工作(最好)。换句话说,误差表面是二次的并且在所有方向上都是相同的。请记住,步长不是梯度下降中 err 曲面的函数。如果二阶导数快速变化(例如指数函数),那么收敛会很慢......对于高曲率和太小的区域,固定步长将太大而太小对于低曲率区域。因此,我会声称,对于许多典型分布(例如正态),采用对数似然可以使您的优化表面更接近恒定曲率。
我解决这个问题的方法是进行泰勒级数展开并考虑使用梯度下降不断降低误差表面的要求。你最终(从内存中)选择步长作为误差表面的 1/最大特征值(超过优化区域)