邏輯斯蒂回歸(分類)
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\)時模型的輸出,左向箭頭意為【賦值】。