逻辑斯蒂回归(分类)
sigmoid函数与二项逻辑回归模型
-
\(sigmoid\)函数为:
\[sigmoid(x)=\pi(x)=\frac{1}{1+e^{-x}}\\ \]其中\(x \in \mathbb{R}\),\(sigmoid(x)\in (0,1)\).
又,其导数
\[\pi'(x)=\pi(x)(1-\pi(x))\\ \] -
二项逻辑斯蒂回归模型是如下的条件概率分布:
\[P(Y=1|x)=\frac{exp(w \cdot x+b)}{1+exp(w \cdot x+b)}\\ P(Y=0|x)=\frac{1}{1+exp(w \cdot x+b)}\\ \]其中\(x \in \mathbf{R}^{n}\),\(Y \in\{0,1\}\)为输出,\(w \in \mathbf{R}^{n}\)和\(b \in \mathbf{R}\)为参数,\(w\)为权值向量,\(b\)称为偏置,\(w \cdot x\)为\(w\)和\(x\)和内积。
-
增广权值向量和增广特征向量
记\(w=\left(w^{(1)}\right.\left.w^{(2)}, \cdots, w^{(n)}, b\right)^{\mathrm{T}}, \quad x=\left(x^{(1)}, x^{(2)}, \cdots, x^{(n)}, 1\right)^{\mathrm{T}}\)分别为增广权值向量和增广特征向量,仍用\(w\)和\(x\)标记,则逻辑斯蒂回归模型可以简写为:
\[P(Y=1|x)=\frac{exp(w \cdot x)}{1+exp(w \cdot x)}\\ P(Y=0|x)=\frac{1}{1+exp(w \cdot x)}\\ \] -
几率与对数几率
如果设某事件发生的概率是\(p\),则此事件发生的概率与其不发生的概率\(1-p\)的比值
\[\frac{p}{1-p}\\ \]为事件的几率.
此事件的对数几率为
\[logit(p)=log \frac{p}{1-p}\\ \]在逻辑斯蒂回归中,\(p=P(Y=1|x)=\frac{exp(w \cdot x)}{1+exp(w \cdot x)}\),可知
\[\begin{align}logit(p)&=\log\frac{p}{1-p}\\ &=\log \frac{P(Y=1 | x)}{1-P(Y=1 | x)}\\ &=\log \frac{exp(w\cdot x)}{1}\\ &=w \cdot x\end{align}\\ \]可知输出\(Y=1\)的对数几率是输出\(x\)的线性函数,或者说,输出\(Y=1\)的对数几率是由输入\(x\)的线性函数表示,或者再反过来,用线性回归模型的预测结果去逼近真实标记的对数几率,即逻辑斯蒂回归模型,也称对数几率回归。
另,还可以视为逻辑斯蒂回归将线性函数\(w\cdot x\)转化为概率,如果线性函数的值接近正无穷,则概率值越接近于\(1\);如果线性函数的值越接近于负无穷,概率值就越接近于\(0\)。
2 - 逻辑斯蒂回归模型参数估计与学习
-
给定训练集\(T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\}\),其中\(x_i\in \mathbb{R^{n+1}}\),\(y_i \in \{0,1\}\),\(i=1,2,\dots,N\). 设
\[\begin{align}P(Y=1|x)&=\frac{\exp(w \cdot x)}{1+\exp(w \cdot x)}=\pi(x)\\ P(Y=0|x)&=\frac{1}{1+\exp(w \cdot x)}=1-\pi(x)\end{align}\\ \]对数似然函数为
\[l(w)=\prod_{i=1}^{N}P(y_i|x_i)=\prod_{i=1}^{N}[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i}\\ \]可知当\(y_i=1\)时,\(1-y_i=0\),此时每一项的值就是前半项\(\pi(x)\);当\(y_i=0\)时,\(1-y_i=1\),此时每一项的值就是后半项\(1-\pi(x)\).
对数似然函数为
\[\begin{align} L(w)=\log l(w)&=\log\prod_{i=1}^{N}P(y_i|x_i)=\log\prod_{i=1}^{N}[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i}\\ &=\sum_{i=1}^{N}[y_i \log\pi(x)+(1-y_i)\log(1-\pi(x))]\\ &=\sum_{i=1}^{N}[y_i \log\frac{\pi(x)}{1-\pi(x)}+\log(1-\pi(x))]\\ &=\sum_{i=1}^{N}[y_i(w\cdot x)-\log(1+\exp(w\cdot x_i))] \end{align}\\ \]这里的\(\log\)对数为自然对数。
第一行利用对数运算的性质变连乘变连加,在第二行中拆开了\((1-y_i)\)使用了对数减法运算法则,第四行两个部分都用了本部分开始部分的设定,代入即可。参数作最大似然估计即为答案:
\[w^*=\arg\max_w L(w)\\ \] -
随机梯度法学习参数。对\(L(w)\)求偏导
\[\begin{align} \frac{\partial L}{\partial w}&=\sum_{i=1}^{N}[y_ix_i-\frac{\exp(w\cdot x)}{1+\exp(w\cdot x)}x_i]\\ &=\sum_{i=1}^{N}[y_ix_i-\pi(x_i)x_i]\\ &=\sum_{i=1}^{N}(y_i-\pi(x_i))x_i \end{align}\\ \]考虑到这里求的是最大值,可使用梯度上升法进行迭代求解。
- 初始化:
\[w=0\\ \]- 第\(t+1\)轮迭代的参数:
\[w_{t+1}\leftarrow w_t+\alpha \sum_{i=1}^{N}(y_i-\pi_{w_t}(x_i))x_i\\ \]其中\(\alpha\)为学习率,\(\pi_{w_t}(x_i)\)为上一轮在参数为\(w_t\)时模型的输出,左向箭头意为【赋值】。