精細推導機器學習:邏輯斯蒂回歸模型原理


邏輯斯蒂回歸(分類)

sigmoid函數與二項邏輯回歸模型

  1. \(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))\\ \]

  2. 二項邏輯斯蒂回歸模型是如下的條件概率分布:

    \[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\)和內積。

  3. 增廣權值向量和增廣特征向量

    \(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)}\\ \]

  4. 幾率與對數幾率

    如果設某事件發生的概率是\(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 - 邏輯斯蒂回歸模型參數估計與學習

  1. 給定訓練集\(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)\\ \]

  2. 隨機梯度法學習參數。對\(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\)時模型的輸出,左向箭頭意為【賦值】。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM