逻辑回归成本函数 - 如果 ln(0) 怎么办?

数据挖掘 逻辑回归 成本函数
2022-02-15 23:32:46

我正在从废料中构建逻辑回归。

我使用的简化成本函数是(来自 coursera 上的机器学习课程): 在此处输入图像描述

在学习期间的特定情况下,训练集 y 中的一个观察结果为 0 - 但 beta 的特定选择:

在此处输入图像描述

使 g(z) = h(x) = 1 ,因为例如 z > 50。

在这种情况下,我的右侧 od J 是 (1 - 0) * log(1 - 1) 什么是 -inf (我在 python 中进行计算)

我知道在这种情况下,成本函数的值应该很高,因为 y = 1 的概率非常大,而事实是它实际上是 0。

g(50) 的问题近似值是 1 而不是 0.999999?还是我的逻辑存在更多基本错误?

因为这个具体的例子在我的代码中所有观察的成本总和是 nan (不是数字)。

1个回答

在实践中,使用偏移量来避免由于值接近零而导致的对数爆炸。例如log^(x)=log(x+1e-6)