逻辑斯蒂回归是一种二分类模型,使用sigmoid函数判别函数,下面将详细讲一下逻辑回归的原理。

逻辑回归函数

  • 逻辑回归需要满足伯努利二次分布,即$h(\theta)$ 为正样本的概率,那么$1-h(\theta)$ 为负样本的概率。
  • 样本分布相互独立,即求所有样本出现的概率可以通过连乘的形式得到。

sigmoid函数
$$
h(\theta) = \frac{e^{wx}}{1+e^{wx}}
$$
逻辑回归的损失函数:

在一个二分类的数据中,一个事件发生的概率为:
$$
P(y | \boldsymbol{x})=\left{\begin{aligned} p, y &=1 \ 1-p, y &=0 \end{aligned}\right.
$$
为了方便计算将上式写成:
$$
P\left(y_{i} | \boldsymbol{x}_{i}\right)=p^{y_{i}}(1-p)^{1-y_{i}}
$$
当我们采集到一组数据,由于数据分布是相互独立的,因此联合的概率可以写成:
$$
\begin{aligned} P_{\breve{E}} &=P\left(y_{1} | \boldsymbol{x}_{1}\right) P\left(y_{2} | \boldsymbol{x}_{2}\right) P\left(y_{3} | \boldsymbol{x}_{3}\right) \dots P\left(y_{N} | \boldsymbol{x}_{N}\right) \ &=\prod_{n=1}^{N} p^{y_{n}}(1-p)^{1-y_{n}} \end{aligned}
$$
为了简化上面的式子,而不失去函数单调性,我们对函数取对数,得到:
$$
\begin{aligned} F(\boldsymbol{w})=\ln \left(P_{\breve{\mathbf{E}} \mathbf{h}}\right) &=\ln \left(\prod_{n=1}^{N} p^{y_{n}}(1-p)^{1-y_{n}}\right) \ &=\sum_{n=1}^{N} \ln \left(p^{y_{n}}(1-p)^{1-y_{n}}\right) \ &=\sum_{n=1}^{N}\left(y_{n} \ln (p)+\left(1-y_{n}\right) \ln (1-p)\right) \end{aligned}
$$
其中p为sigmoid函数,可以发现上面实质加上负号就变成了交叉熵。

逻辑回归函数的求导

对于sigmoid函数,我们的求导如下:
$$
\begin{aligned} p^{\prime}=f^{\prime}(\boldsymbol{w}) &=\left(\frac{1}{1+e^{-\boldsymbol{w}^{T} \boldsymbol{x}}}\right)^{\prime} \ &=-\frac{1}{\left(1+e^{-\boldsymbol{w}^{T} \boldsymbol{x}}\right)^{2}} \cdot\left(1+e^{-\boldsymbol{w}^{T} \boldsymbol{x}}\right)^{\prime} \ &=-\frac{1}{\left(1+e^{-\boldsymbol{w}^{T} \boldsymbol{x}}\right)^{2}} \cdot e^{-\boldsymbol{w}^{T} \boldsymbol{x}} \cdot\left(-\boldsymbol{w}^{T} \boldsymbol{x}\right)^{\prime} \ &=-\frac{1}{\left(1+e^{-\boldsymbol{w}^{T} \boldsymbol{x}}\right)^{2}} \cdot e^{-\boldsymbol{w}^{T} \boldsymbol{x}} \cdot(-\boldsymbol{x}) \ &=\frac{e^{-\boldsymbol{w}^{T} \boldsymbol{x}}}{\left(1+e^{-\boldsymbol{w}^{T} \boldsymbol{x}}\right)^{2}} \cdot \boldsymbol{x} \ &=\frac{1}{1+e^{-\boldsymbol{w}^{T} \boldsymbol{x}}} \cdot \frac{e^{-\boldsymbol{w}^{T} \boldsymbol{x}}}{1+e^{-\boldsymbol{w}^{T} \boldsymbol{x}}} \cdot \boldsymbol{x} \ &=p(1-p) \boldsymbol{x} \end{aligned}
$$
接下来对逻辑回归函数进行求导(求函数的最大似然):
$$
\begin{aligned} \nabla F(\boldsymbol{w}) &=\nabla\left(\sum_{n=1}^{N}\left(y_{n} \ln (p)+\left(1-y_{n}\right) \ln (1-p)\right)\right) \ &=\sum\left(y_{n} \ln ^{\prime}(p)+\left(1-y_{n}\right) \ln ^{\prime}(1-p)\right) \ &=\sum\left(\left(y_{n} \frac{1}{p} p^{\prime}\right)+\left(1-y_{n}\right) \frac{1}{1-p}(1-p)^{\prime}\right) \ &=\sum_{n=1}\left(y_{n}(1-p) \boldsymbol{x}_{n}-\left(1-y_{n}\right) p \boldsymbol{x}_{n}\right) \ &=\sum_{n=1}^{N}\left(y_{n}-p\right) \boldsymbol{x}_{n} \end{aligned}
$$
SGD

对参数进行更新,得到:
$$
\boldsymbol{w}_{t+1}=\boldsymbol{w}_{t}+\eta \nabla F(\boldsymbol{w})
$$

$$
\boldsymbol{w}_{t+1}= \boldsymbol{w}_{t} + \eta \sum_{n=1}^{N}\left(y_{n}-p\right) \boldsymbol{x}_{n}
$$