说白了,逻辑斯蒂回归实际上就是label y = 1的对数几率是输入x的线性函数的模型。

  • 对数几率
    一个事件发生的概率为P, 则该事件发生的几率为P1P, 即为该事件发生的概率除以该事件不发生的概率。
    该事件的对数几率即为:

    logit(p)=logp1p

  • 逻辑斯蒂回归模型
    事件y=1 的对数几率为输入x 的线性函数,即

    logP(y=1|x)1P(y=1|x)=ωx+b      ()

    上述模型即为逻辑斯蒂回归模型,因此逻辑斯蒂回归是一种对数线性模型(PS:有可能数据集实际上是线性不可分的,这时候若要用逻辑斯蒂回归,可引入核函数,利用核技巧来实现(PPS:核技巧会在后续SVM算法中提到),利用核函数可以将线性不可分数据集映射到高维空间,在高维空间中,数据集变为线性可分的了)。通过定义合理的损失函数(下文会分析推导),学习得到ω,b 的最优值。对于一个新的未知样本x, 代入即可得到P(y=1|x) 的值,若大于0.5,即可认为y=1 的概率大于y=0 的概率,判定y=1是合理的。

  • 逻辑斯蒂回归损失函数与最大似然估计
    首先说结论,最小化逻辑斯蒂回归的损失函数与最大化对数似然函数是等价。下面开始推导:
    由逻辑斯蒂回归模型(1)容易得到

    π(x)=P(y=1|x)=eωx+beωx+b+1

    P(y=0|x)=1π(x) 于是样本(x,y) 的似然值为L(x,y)=π(x)y×(1π(x))(1y)y=1L(x,y)=π(x);y=0L(x,y)=1π(x) 综合两种情况即可得出结论)于是参数ω,b的似然函数为:
    L(ω,b)=xi,yi{π(xi)yi×(1π(xi))1yi}

    对上式取对数将连乘变为累加:
    L(ω,b)=i=1N{yilog(π(xi))+(1yi)log(1π(xi))}

    而逻辑斯蒂回归的损失函数定义为:
    J(ω,b)=1Ni=1N{yilog(π(xi))+(1yi)log(1π(xi))}

    对比以上两式可知最小化损失函数与极大化似然函数是等价的。

  • 逻辑斯蒂回归优化方法
    在对数据进行训练时,即是对损失函数最小化的过程,在训练过程中可以利用随机梯度下降法进行训练更新权值。即可以没进来一个样本或者一批(batch)样本后计算梯度,对权值以及偏置进行更新。更新公式如下
    ωt=ωtηLω

    zi=ωxi+b ,对于单个样本的代价函数为:
    L(xi,yi)=(yilog(π(xi))+(1yi)log(1π(xi)))
    利用链式求导法则:
    Lω=Lπ(xi)×π(xi)zi×ziω

    具体梯度更新公式推导敲公式太麻烦了,下面是我的推导过程。
    逻辑斯蒂回归(LR)原理详解及公式推导
    权值向量ω 和偏置b的梯度即更新公式如上图所示,如果每次更新时都用到了所有的样本,则这种优化算法为普通的梯度下降法GD,若每次更新权值都只利用部分样本甚至是单个样本则为随机梯度下降法SGD。

相关文章:

  • 2021-12-09
  • 2021-11-26
  • 2021-07-19
  • 2022-12-23
  • 2021-08-25
猜你喜欢
  • 2021-08-28
  • 2021-06-10
  • 2021-05-09
  • 2022-12-23
  • 2021-08-13
  • 2021-04-08
  • 2021-10-27
相关资源
相似解决方案