Logistic 回归

定义对数几率为 $\text{logit}(p) = \log \frac{p}{1-p} = w^Tx$,$p = \text{sigmoid}(w^Tx) = \frac{e^{w^Tx}}{1+e^{w^Tx}}$

损失函数为对数似然

$$ \begin{align*} L &= \sum\log\left(\sigma(w^Tx)^y\times \left(1-\sigma(w^Tx)\right)^{1-y}\right)\\ &= \sum\left(y\log\sigma(w^Tx)+(1-y)\log(1-\sigma(w^Tx))\right)\\ &= \sum\left(yw^Tx-\log(1+e^{w^Tx})\right) \end{align*} $$

Sigmoid

image.png

值域为 (0, 1)

$$ \begin{align*} \sigma(x) &= \frac{1}{1+e^{-x}} \\ &= \frac{e^x}{1+e^x} \\ &= 1-\sigma(-x)\\ \sigma^\prime(x) &= \sigma(x)\left(1-\sigma(x)\right) \end{align*} $$

当 sigmoid 函数的输入很大或是很小时,它的梯度都会消失。此外,当反向传播通过许多层时,除非我们在刚刚好的地方,这些地方 sigmoid 函数的输入接近于零,否则整个乘积的梯度可能会消失。当我们的网络有很多层时,除非我们很小心,否则在某一层可能会切断梯度。事实上,这个问题曾经困扰着深度网络的训练。因此,更稳定的 ReLU 系列函数已经成为从业者的默认选择(虽然在神经科学的角度看起来不太合理)。

Logistic 多分类

定义

$$ \log\frac{P(y=c|x)}{P(y=N|x)} = w_c^Tx,\quad c=1,2,\dots,N-1 $$

那么

$$ \begin{align*} P(y=N | x) &= \frac{1}{\sum_{c=1}^{N-1}e^{w_c^Tx} + 1}\\ P(y=c|x) &= \frac{e^{w_c^Tx}}{\sum_{j=1}^{N-1}e^{w_j^Tx} + 1},\quad c=1,\dots,N-1 \end{align*} $$

相当于 softmax 回归假设最后一个类别的 logits 为 0

主要带来了参数减少和计算简化的优势,使得模型更加轻量化,减少了过拟合的风险,并加速了训练过程。但这种简化也带来了模型灵活性的降低,因为它破坏了类别之间的对称性,约束了模型的表达能力。

Softmax 回归

交叉熵(Cross Entropy)

给定真实分布 $P$,对于估计分布 $Q$,定义交叉熵来衡量它们的分歧

$$ \text{CE}(P, Q) = -E_{x\sim P}\left[\log\left(q(x)\right)\right] $$

交叉熵与熵和 KL 散度的关系

$$ \text{CE}(P,Q) = H(P) + D_{KL}(P\|Q) $$