优化逻辑回归中的权重(对数似然)

时间:2017-11-22 03:21:35

标签: machine-learning classification logistic-regression supervised-learning log-likelihood

在Logistic回归中:

假设函数,

                   h(x) = ( 1 + exp{-wx} )^-1

其中,w - 适合或优化的权重/参数

成本函数(-ve log似然函数)如下:

对于单一训练,例如..(x,y):

         l(w) = y * log ( h(x) ) + (1 - y) * log ( 1 - h(x) )

目标是在所有训练样本上最大化l(w),从而估计w。

问题:

考虑这样的情况,即训练样本比负面(y = 0)训练样例多得多(y = 1)。

为简单起见:

如果我们只考虑正(y = 1)的例子: 算法运行:

           maximize ( l(w) )

          =>  maximize ( y * log ( h(x) ) )

          =>  maximize ( log( h(x) ) )

          =>  maximize ( h(x) ); since log(z) increases with z

          =>  maximize ( ( 1 + exp{-wx} )^-1 )

          =>  maximize ( wx );   
   since a larger wx will increase h(x) and move it closer to 1

换句话说,优化算法将尝试增加(wx)以便更好地拟合数据并增加可能性。

但是,似乎有一种无意识的方法可以使算法增加(wx)但不会改善解决方案(决策边界):

             by scaling w: w' = k*w  ( where k is positive constant )

我们可以在不改变我们的解决方案的情况下增加(k * wx)。

1)为什么这不是问题?或者这是一个问题?

2)有人可能会争辩说,在数据集中,除了负面例子之外还有更多正面例子,算法会尝试不断增加|| w ||。

1 个答案:

答案 0 :(得分:0)

  1. 这有时会出现问题,但可以通过正规化来解决
  2. 只有课程完全分开时
  3. 如果只有y = 1 ,算法确实会尝试使wx尽可能大,而永不收敛。但是如果你只有一个课程,那么根本不需要逻辑回归。

    如果数据集不平衡(y = 1比y = 0多得多),一般,逻辑回归会遭受无收敛问题< /强>

    让我们看看为什么。假设您只有1个否定示例x_0和N个相同的正例x_1。那么对数似然就像

    l(w) = N * log(h(x_1)) + log(1-h(x_0))
    

    h(x)的范围在0和1之间,因此两个组件的上限均为0,但从下方无界限。

    现在,如果w足够大并且你继续增加它,那么第一个词只会略微增加(因为它已经接近0),但是第二个词可以非常快地减少(因为{{1}当log(x)接近0时,非常快地趋向于无穷大。如果您无限制地增加x,则w将变为负无穷大。因此,存在最大化可能性的有限l(w)

    但是有一个重要的例外。当某些超平面完全分离时,它会发生这种情况(与类大小很少)。在这种情况下,第一个和第二个词都倾向于w,而0倾向于无穷大。

    但如果这些类完全分开,你可能根本不需要逻辑回归!它的功效在概率预测中,但在完全分离的情况下,预测可能是确定性的!因此,您可以将SVM应用于您的数据。

    或者您可以解决正则化问题,最大化||w||。例如,在scikit-learn逻辑回归does exactly this中。在这种情况下,如果l(w)-lambda*||w||足够接近0,l(w)将占主导地位,目标函数最终会在||w||中减少。

    因此,目标函数中的一个小惩罚解决了你担心。这是一个广泛应用的解决方案,不仅在逻辑回归中,而且在线性模型(Lasso,Ridge等)和神经网络中。