二项逻辑斯蒂回归模型是二分类模型,是一种生成模型,用**条件概率p(y|x)**表示:
$$ \begin{aligned}P(y=1|x)&=\frac{exp(w\cdot x+b)}{1+exp(w\cdot x+b)}:=\pi_w(x)\\P(y=0|x)&=\frac{1}{1+exp(w\cdot x+b)}:=1-\pi_w(x) \end{aligned} $$
$x=(x^{(1)},x^{(2)},\ldots,x^{(n)})\in R^n$是输入,$y\in \{0,1\}$为输出;
$w=(w_1,w_2,\ldots,w_n)\in R^n$是权值向量,b是偏置;
$w\cdot x=w_1x^{(1)}+w_2x^{(2)}+\ldots+w_nx^{(n)}$;
sigmoid函数是一种激活函数,将输出限制在(0,1)之间,
$$ \operatorname{sigmoid}(t)=\frac{1}{1+e^{-t}} $$

二项逻辑斯蒂回归模型的概率输出为
$$ \pi_w(x)=\operatorname{sigmoid}(w\cdot x+b) $$
即将$w\cdot x+b$映射到概率(0,1)区间。
损失函数:负对数似然函数,也是交叉熵损失函数
模型的**似然函数为**
$$ L(w,b)=\prod_{i=1}^N\left[\pi_w\left(x_i\right)\right]^{y_i}\left[1-\pi_w\left(x_i\right)\right]^{1-y_i} $$
负对数似然函数等价于交叉熵损失函数,极大似然估计也即极小化交叉熵损失函数
$$ \begin{aligned}-\log L(w,b)&=-\sum_{i=1}^N\left[y_i \log \pi_w\left(x_i\right)+(1-y_i)\log \left(1-\pi_w\left(x_i\right)\right)\right]\\&=-\sum_{i=1}^N\left[y_i(w\cdot x_i+b)-\log \left(1+e^{(w\cdot x_i+b)}\right)\right]\end{aligned} $$
注意⚠️:在上式中,N表示样本数,$x_i$表示某一个样本
模型的训练:利用梯度下降法或拟牛顿法
损失函数对参数w,b的梯度
$$ -\frac{\partial L(w,b)}{\partial w}=-\sum_{i=1}^N\left(y_i x_i-\frac{x_i}{1+e^{-(w \cdot x_i+b)}}\right) $$
$$ -\frac{\partial L(w,b)}{\partial b}=-\sum_{i=1}^N\left(y_i-\frac{1}{1+e^{-(w \cdot x_i+b)}}\right) $$
多项逻辑斯蒂回归模型是多分类模型
$$ \begin{aligned}P(y=k|x)&=\frac{exp(w_k\cdot x+b)}{1+\sum_{k=1}^{K-1} exp(w_k\cdot x+b)}:=\pi_k(x),k=1,2,\ldots,K-1\\P(y=K|x)&=\frac{1}{1+\sum_{k=1}^{K-1} exp(w_k\cdot x+b)}:=1-\sum_{k=1}^{K-1}\pi_k(x) \end{aligned} $$
softmax函数是一种激活函数,将一个向量映射到一个概率分布熵,
$$ \operatorname{softmax}(z_k)=\frac{e^{z_k}}{\sum_{k=1}^K e^{z_k}} $$
输入向量$(z_1,z_2,\ldots,z_K)^T$,softmax输出向量
$$ \left(\begin{matrix}\frac{e^{z_1}}{\sum_{k=1}^K e^{z_k}}\\\frac{e^{z_2}}{\sum_{k=1}^K e^{z_k}}\\\cdots\\\frac{e^{z_K}}{\sum_{k=1}^K e^{z_k}}\end{matrix}\right) $$
softmax函数的数值溢出问题
解决数值上溢: $z_k-\max(z)$
$$ \operatorname{softmax}(z_k)=\operatorname{softmax}(z_k-\max(z))=\frac{e^{z_k-\max(z)}}{\sum_{k=1}^K e^{z_k-\max(z)}} $$
解决数值下溢:log-softmax
$$ \begin{aligned}\log \left[\operatorname{Softmax}\left(z_k\right)\right]&=\log \frac{e^{z_k-\max(z)}}{\sum_{k=1}^K e^{z_k-\max(z)}}\\&=z_k-\max (z)-\log \left(\sum_{k=1}^K e^{z_k-\max (z)}\right)\end{aligned} $$