【问题标题】:Logistic regression does not work in a simple example逻辑回归在简单示例中不起作用
【发布时间】:2019-05-21 14:11:15
【问题描述】:

我想我了解逻辑回归(来自 Bishop 的书第 206 页),但是当我执行以下简单示例时,我找不到成本函数(误差函数)的(绝对)最小值。

我的训练集由实数线上的 2 个点组成:1 和 -1,它们的(分类)值分别为 0。

成本函数是,其中s是 sigmoid 函数,并且总和是在整个训练集上进行的:

E(w0,w1)= sum -t.log(s(w0+w1.x)-(1-t).log(1-s(w0+w1.x))

所以在我们的例子中:

E(w0,w1)= -log(s(w0+w1))-log(1-s(w0-w1))

我找不到最小值。如果我使用算法,w1 会变为无穷大。

我认为 w0=0。如果你这么认为,那么因为1-s(-w)=s(w),我们得到

E(w1)=-2.log(s(w))

这是一个降为零的函数,所以最小值在无穷大。

【问题讨论】:

    标签: machine-learning logistic-regression


    【解决方案1】:

    我认为问题在于您的函数没有全局最小值 wrt w0,w1。可以用方程组证明:

    dE / dw0 = exp(w1)(exp(2w0) - 1) / ((exp(w0) + exp(w1)) * (exp(w0 + w1) + 1))
    dE / dw1 = (-exp(w1 + 2w0) - exp(w1) - 2exp(w0)) / ((exp(w0) + exp(w1)) * (exp(w0 + w1) + 1))
    

    dE / dw0 = 0w0 = 0。在这种情况下dE / dw1 = 0 是不可行的。

    但是,如果您在损失函数中添加正则化项,即Enew = E + w1^2, 你会找到最佳的。

    【讨论】:

      猜你喜欢
      • 2019-03-22
      • 2018-04-10
      • 2020-03-28
      • 1970-01-01
      • 2022-01-15
      • 2017-09-11
      • 1970-01-01
      • 2019-04-04
      • 2017-02-24
      相关资源
      最近更新 更多