【问题标题】:Logistic Regression: math domain error - sigmoid function give value 1逻辑回归:数学域错误 - sigmoid 函数给出值 1
【发布时间】:2020-03-18 10:28:25
【问题描述】:

我正在尝试逻辑回归。运行代码时,我在 python 中遇到数学域错误。发现我在 sigmoid 函数中输入了大于 38 的 (mx+b > 38) 值,它输出 1,并且 log 函数 (-log(1-1)) 吐出“数学域错误”。

这是我的步骤:

  1. 查找 mx+b
  2. 在 sigmoid 函数中输入 mx+b 作为 x
  3. 将 sigmoid、y 值、x 值的值输入到成本函数中
  4. 根据上述值求梯度。
  5. 使用梯度值优化权重。

请帮忙。

【问题讨论】:

    标签: machine-learning logistic-regression sigmoid


    【解决方案1】:

    您应该在将数据放入逻辑函数之前对其进行规范化。归一化意味着将值放在 [0, 1] 范围内,因此您不应再将 1 作为 sigmoid 的输出。您可以使用此函数进行标准化:sklearn.preprocessing.normalize

    【讨论】:

    • 顺便问一下,您认为上述处理逻辑回归的步骤是否正确?
    • 似乎是一个正确的方法,但我绝对不是这方面的专家
    猜你喜欢
    • 2018-01-20
    • 2019-12-29
    • 2015-04-06
    • 2014-02-25
    • 2018-08-17
    • 2016-09-01
    • 1970-01-01
    • 2020-08-27
    • 2021-02-06
    相关资源
    最近更新 更多