逻辑回归:数学域错误 - sigmoid 函数赋值 1
Logistic Regression: math domain error - sigmoid function give value 1
我正在尝试逻辑回归。在 运行 代码中,我在 python 中遇到数学域错误。发现我在 sigmoid 函数中输入大于 38 的 (mx+b > 38) 值,它输出 1,对数函数 (-log(1-1)) 输出 "math domain error".
这是我的步骤:
- 求 mx+b
- 输入mx+b作为sigmoid函数中的x
- 将sigmoid、y值、x值的值输入成本函数
- 根据以上值求梯度。
- 使用梯度值优化权重。
请帮忙。
您应该先规范化数据,然后再将其放入逻辑函数中。归一化意味着将值放在 [0, 1] 范围内,因此您不应再从 sigmoid 获得 1 作为输出。您可以使用此函数进行标准化:sklearn.preprocessing.normalize
我正在尝试逻辑回归。在 运行 代码中,我在 python 中遇到数学域错误。发现我在 sigmoid 函数中输入大于 38 的 (mx+b > 38) 值,它输出 1,对数函数 (-log(1-1)) 输出 "math domain error".
这是我的步骤:
- 求 mx+b
- 输入mx+b作为sigmoid函数中的x
- 将sigmoid、y值、x值的值输入成本函数
- 根据以上值求梯度。
- 使用梯度值优化权重。
请帮忙。
您应该先规范化数据,然后再将其放入逻辑函数中。归一化意味着将值放在 [0, 1] 范围内,因此您不应再从 sigmoid 获得 1 作为输出。您可以使用此函数进行标准化:sklearn.preprocessing.normalize