邏輯斯回歸

本文的閱讀等級:中級

假設我們有一筆維數等於 d,樣本大小為 n,包含 k\ge 2 個類別的數據 \mathcal{X}=\{\mathbf{x}_1,\ldots,\mathbf{x}_n\}。數據點 \mathbf{x}_1,\ldots,\mathbf{x}_n 散布在 \mathbb{R}^d 空間,以 \mathcal{C}_1,\ldots,\mathcal{C}_k 標記類別或代表類別的指標集,例如,i\in\mathcal{C}_j 表示 \mathbf{x}_i 來自 (歸屬) 第 j 類。我們的問題是利用給定的樣本 \mathcal{X},設計一個分類器 (classifier);具體地說,給定一個數據點 \mathbf{x},判定它應歸於何類。貝氏定理 (Bayes’ theorem) 提供了分類問題的理論基礎 (見“貝氏定理──量化思考的利器”):

\displaystyle  P(\mathcal{C}_j\vert\mathbf{x})=\frac{p(\mathbf{x}\vert\mathcal{C}_j)P(\mathcal{C}_j)}{p(\mathbf{x})},~~~j=1,\ldots,k

其中

  1. P(\mathcal{C}_j) 是類別 \mathcal{C}_j 出現的機率,稱為先驗機率 (priori probability);
  2. p(\mathbf{x}\vert\mathcal{C}_j) 是條件密度函數,即給定類別 \mathcal{C}_j,數據點 \mathbf{x} 的機率密度函數,也稱為似然 (likelihood);
  3. p(\mathbf{x}) 是數據點 \mathbf{x} 的機率密度函數,稱為證據 (evidence),算式為

    p(\mathbf{x})=p(\mathbf{x}\vert\mathcal{C}_1)P(\mathcal{C}_1)+\cdots+p(\mathbf{x}\vert\mathcal{C}_k)P(\mathcal{C}_k)

  4. P(\mathcal{C}_j\vert\mathbf{x}) 是指在給定數據點 \mathbf{x} 的情況下,該點屬於 \mathcal{C}_j 的機率,稱為後驗機率 (posterior probability)。

從機率學的觀點,貝氏最佳分類器判定數據點 \mathbf{x} 應歸屬具有最大後驗機率的類別:若 P(\mathcal{C}_l\vert\mathbf{x})=\max_{1\le j\le k}P(\mathcal{C}_j\vert\mathbf{x}),則 \mathbf{x} 歸於 \mathcal{C}_l。因為每一類別的後驗機率 P(\mathcal{C}_j\vert\mathbf{x}) 有相同的分母 p(\mathbf{x}),分類法則可改寫為:若 p(\mathbf{x}\vert\mathcal{C}_l)P(\mathcal{C}_l)=\max_{1\le j\le k}p(\mathbf{x}\vert\mathcal{C}_j)P(\mathcal{C}_j),則 \mathbf{x} 歸於 \mathcal{C}_l。對應上述最佳分類法則,分類器有兩種主要的設計方法:

  • 機率歧視模型法 (discriminative model),亦稱直接法,使用給定樣本來估計後驗機率 P(\mathcal{C}_j\vert\mathbf{x})
  • 機率產生模型法 (generative model),亦稱間接法,使用給定樣本來估計條件密度函數 p(\mathbf{x}\vert\mathcal{C}_j) 和先驗機率 P(\mathcal{C}_j)

線性判別分析 (linear discriminant analysis) 是一種間接法,它假設每一類別的數據點服從常態分布並有相同的共變異數矩陣 (見“線性判別分析”)。本文介紹與線性判別分析相對應的一種直接法,稱為邏輯斯回歸 (logistic regression)。

 
二類別

考慮二類別分類問題,即 k=2。使用貝氏定理,數據點 \mathbf{x} 的對數賠率 (log odds) 可表示為

\displaystyle  \ln\frac{P(\mathcal{C}_1\vert\mathbf{x})}{P(\mathcal{C}_2\vert\mathbf{x})}=\ln\frac{p(\mathbf{x}\vert\mathcal{C}_1)P(\mathcal{C}_1)}{p(\mathbf{x}\vert\mathcal{C}_2)P(\mathcal{C}_2)}

假設條件密度 p(\mathbf{x}\vert\mathcal{C}_1)p(\mathbf{x}\vert\mathcal{C}_2) 為常態分布並有相同的共變異數矩陣,對數賠率可簡化為 \mathbf{x} 的線性函數,稱為邏輯斯回歸:

\displaystyle  \ln\frac{P(\mathcal{C}_1\vert\mathbf{x})}{P(\mathcal{C}_2\vert\mathbf{x})}=\ln\frac{P(\mathcal{C}_1\vert\mathbf{x})}{1-P(\mathcal{C}_1\vert\mathbf{x})}=\mathbf{w}^T\mathbf{x}+w_0

其中 d 維向量 \mathbf{w} 和純量 w_0 由兩個類別中心 \boldsymbol{\mu}_1\boldsymbol{\mu}_2,共變異數矩陣 \Sigma,以及先驗機率 P(\mathcal{C}_1) 所決定,算式如下 (詳細推導見“線性判別分析”):

\displaystyle\begin{aligned}  \mathbf{w}&=\Sigma^{-1}(\boldsymbol{\mu}_1-\boldsymbol{\mu}_2)\\  w_0&=-\frac{1}{2}\boldsymbol{\mu}_1^T\Sigma^{-1}\boldsymbol{\mu}_1+\frac{1}{2}\boldsymbol{\mu}_2^T\Sigma^{-1}\boldsymbol{\mu}_2+\ln P(\mathcal{C}_1)-\ln P(\mathcal{C}_2).  \end{aligned}

雖然擁有回歸的外表,但邏輯斯回歸其實是一個分類器,它的作用在於建立對數賠率的線性模型。解開對數賠率可得後驗機率

\displaystyle  P(\mathcal{C}_1\vert\mathbf{x})=\frac{1}{1+\exp\left(-(\mathbf{w}^T\mathbf{x}+w_0)\right)}=f(\mathbf{w}^T\mathbf{x}+w_0)

其中

\displaystyle f(a)=\frac{1}{1+\exp(-a)}

稱為S型函數 (sigmoid function),見下圖。不難驗證 f(-a)=1-f(a)\frac{df}{da}=f(1-f),以及 a=\ln\left(\frac{f}{1-f}\right),稱為 logit 函數。因為對數賠率是後驗機率的 logit 函數,邏輯斯回歸也稱作 logit 模型。對於二類別問題,貝氏分類法則如下:若 \mathbf{w}^T\mathbf{x}+w_0>0,即 P(\mathcal{C}_1\vert\mathbf{x})>P(\mathcal{C}_2\vert\mathbf{x}),則 \mathbf{x} 歸於 \mathcal{C}_1,否則歸於 \mathcal{C}_2。明顯地,\mathcal{C}_1\mathcal{C}_2 的邊界為超平面 (hyperplane) \mathbf{w}^T\mathbf{x}+w_0=0

Sigmoid function

Sigmoid function

 
線性判別分析使用 \boldsymbol{\mu}_1\boldsymbol{\mu}_2\SigmaP(\mathcal{C}_1) 的最大似然估計 (maximum likelihood estimation) 來建模,其中兩個樣本中心有 2d 個參數,共變異數矩陣有 d(d+1)/2 個參數,先驗機率有 1 個參數,共計 d(d+5)/2+1 個參數。當數據的維數 d 增大時,參數總數呈二次增長。然而,描述對數賠率的 \mathbf{w}w_0 實際僅使用了 d+1 個參數。既然如此,我們何不直接計算 \mathbf{w}w_0 的最大似然估計呢?這正是邏輯斯回歸的動機和構想。

 
下面說明如何求出 \mathbf{w}w_0 的最大似然估計。考慮訓練樣本 \mathcal{X}=\{\mathbf{x}_i,r_i\}_{i=1}^n,其中 r_i=1i\in\mathcal{C}_1r_i=0i\in\mathcal{C}_2。對於數據點 \mathbf{x}_i1\le i\le n,假設類別指標 r_i 服從伯努利分布 (Bernoulli distribution,即擲幣的機率分布),機率值為 y_i=P(\mathcal{C}_1\vert\mathbf{x}_i)。為方便解說,定義 (d+1) 維向量 \tilde{\mathbf{w}}=\begin{bmatrix}  w_0\\  \mathbf{w}  \end{bmatrix}\tilde{\mathbf{x}}=\begin{bmatrix}  x_0\\  \mathbf{x}  \end{bmatrix},其中 x_0=1,則 y_i=f(\tilde{\mathbf{w}}^T\tilde{\mathbf{x}}_i)。寫出似然函數

\displaystyle  \mathcal{L}(\tilde{\mathbf{w}}|\mathcal{X})=p(\tilde{\mathbf{w}}|\mathcal{X})=\prod_{i=1}^n(y_i)^{r_i}(1-y_i)^{1-r_i}

最大化 \mathcal{L} 等價於最小化 E=-\ln \mathcal{L},如下:

\displaystyle  E=-\sum_{i=1}^n\left(r_i\ln y_i+(1-r_i)\ln(1-y_i)\right)

稱為交互熵 (cross-entropy)。使用鏈式法則以及S型函數的導數公式,可得

\displaystyle\begin{aligned}  \frac{\partial E}{\partial\tilde{\mathbf{w}}}&=\sum_{i=1}^n\frac{\partial E}{\partial y_i}\frac{\partial y_i}{\partial\tilde{\mathbf{w}}}\\  &=-\sum_{i=1}^n\left(\frac{r_i}{y_i}-\frac{1-r_i}{1-y_i}\right)y_i(1-y_i)\tilde{\mathbf{x}}_i\\  &=-\sum_{i=1}^n(r_i-y_i)\tilde{\mathbf{x}}_i.  \end{aligned}

我們的新目標要解出方程組 \frac{\partial E}{\partial\tilde{\mathbf{w}}}=\mathbf{0}。S型函數 f\tilde{\mathbf{w}} 的非線性函數,故邏輯斯回歸不存在代數解,下面介紹兩個數值解法:梯度下降法 (gradient descent) 和牛頓法。

 
梯度下降法設定一個初始點 \tilde{\mathbf{w}},在該點沿著目標函數 E 的最陡下降方向移動,此即 E 於點 \tilde{\mathbf{w}} 的梯度 \frac{\partial E}{\partial \tilde{\mathbf{w}}} 的相反方向,公式如下:

\displaystyle  \tilde{\mathbf{w}}\leftarrow\tilde{\mathbf{w}}-\eta\frac{\partial E}{\partial \tilde{\mathbf{w}}}=  \tilde{\mathbf{w}}+\eta\sum_{i=1}^n(r_i-y_i)\tilde{\mathbf{x}}_i

其中 \eta>0 表示移動的步伐大小 (step size),只要 \eta 足夠小且 \frac{\partial E}{\partial \tilde{\mathbf{w}}}\neq\mathbf{0},即可保證 E 逐次減小 (見“最佳化理論與正定矩陣”)。梯度下降法耗用的計算量雖然不大,但收斂速度緩慢。

 
設定一個初始點 \tilde{\mathbf{w}},牛頓法的迭代公式如下 (見“牛頓法──非線性方程的求根方法”):

\displaystyle  \tilde{\mathbf{w}}\leftarrow\tilde{\mathbf{w}}-H^{-1}\frac{\partial E}{\partial\tilde{\mathbf{w}}}

其中 H=[h_{st}] 是梯度 \frac{\partial E}{\partial\tilde{\mathbf{w}}} 的 Jocobian 矩陣 (見“Jacobian 矩陣與行列式”),也就是 E(d+1)\times(d+1) 階 Hessian 矩陣

\displaystyle  H(\tilde{\mathbf{w}})=\begin{bmatrix}  \frac{\partial^2 E}{\partial w_0\partial w_0}&\frac{\partial^2 E}{\partial w_0\partial w_1}&\cdots&\frac{\partial^2 E}{\partial w_0\partial w_d}\\[0.5em]  \frac{\partial^2 E}{\partial w_1\partial w_0}&\frac{\partial^2 E}{\partial w_1\partial w_1}&\cdots&\frac{\partial^2 E}{\partial w_1\partial w_d}\\[0.5em]  \vdots&\vdots&\ddots&\vdots\\[0.5em]  \frac{\partial^2 E}{\partial w_d\partial w_0}&\frac{\partial^2 E}{\partial w_d\partial w_1}&\cdots&\frac{\partial^2 E}{\partial w_d\partial w_d}  \end{bmatrix}

x_{it} 表示數據點 \tilde{\mathbf{x}}_i 的第 t 個元,1\le i\le n0\le t\le d。Hessian 矩陣 H(s,t) 元,0\le s,t\le d,可化簡為

\displaystyle\begin{aligned}  h_{st}&=\frac{\partial}{\partial w_s}\left(\frac{\partial E}{\partial w_t}\right)  =\frac{\partial}{\partial w_s}\left(-\sum_{i=1}^n(r_i-y_i)x_{it}\right)\\  &=\sum_{i=1}^n\frac{\partial y_i}{\partial w_s}x_{it}=\sum_{i=1}^ny_i(1-y_i)x_{is}x_{it},  \end{aligned}

或以矩陣形式表示:

\displaystyle\begin{aligned}  H&=\begin{bmatrix}  1&1&\cdots&1\\  x_{11}&x_{21}&\cdots&x_{n1}\\  \vdots&\vdots&\ddots&\vdots\\  x_{1d}&x_{2d}&\cdots&x_{nd}  \end{bmatrix}\begin{bmatrix}  y_1(1-y_1)&&&\\  &y_2(1-y_2)&&\\  &&\ddots&\\  &&&y_n(1-y_n)  \end{bmatrix}\begin{bmatrix}  1&x_{11}&\cdots&x_{1d}\\  1&x_{21}&\cdots&x_{2d}\\  \vdots&\vdots&\ddots&\vdots\\  1&x_{n1}&\cdots&x_{nd}  \end{bmatrix}\\  &=X^TYX,  \end{aligned}

上面我們定義了

\displaystyle  X=\begin{bmatrix}  \tilde{\mathbf{x}}_1^T\\  \vdots\\  \tilde{\mathbf{x}}_n^T  \end{bmatrix}=\begin{bmatrix}  1&\mathbf{x}_1^T\\  \vdots&\vdots\\  1&\mathbf{x}_n^T  \end{bmatrix},~~Y=\text{diag}\left(y_1(1-y_1),\ldots,y_n(1-y_n)\right)

將梯度 \frac{\partial E}{\partial\tilde{\mathbf{w}}} 寫成矩陣向量乘積:

\displaystyle  \frac{\partial E}{\partial\tilde{\mathbf{w}}}=-\sum_{i=1}^n(r_i-y_i)\tilde{\mathbf{x}}_i=  -\begin{bmatrix}  \tilde{\mathbf{x}}_1&\cdots\tilde{\mathbf{x}}_n  \end{bmatrix}\begin{bmatrix}  r_1-y_1\\  \vdots\\  r_n-y_n  \end{bmatrix}=-X^T(\mathbf{r}-\mathbf{y})

其中 \mathbf{r}=(r_1,\ldots,r_n)^T\mathbf{y}=(y_1,\ldots,y_n)^T。牛頓法的迭代公式整理於下:

\displaystyle  \tilde{\mathbf{w}}\leftarrow\tilde{\mathbf{w}}+(X^TYX)^{-1}X^T(\mathbf{r}-\mathbf{y})

Hessian H 所含的對角矩陣 Y\tilde{\mathbf{w}} 的函數,故每回迭代必須重新計算一次。上式中,(X^TYX)^{-1}X^T(\mathbf{r}-\mathbf{y}) 可由高斯消去法求得。如果 \text{rank}H=\text{rank}(X^TYX)=d+1 (大多數應用滿足此條件),則 H 是一個正定矩陣。這說明目標函數 E\tilde{\mathbf{w}} 附近是一個凸函數,因此存在一個最小值 (見“凸函數”)。牛頓法的作用即在逼近此最小值所在的位置,故得以具有快速的平方收斂性能。

 
多類別

二類別的邏輯斯回歸如何推廣至多類別 (k>2)?目前存在兩種方法:第一個方法將多類別問題切割成 (k-1) 個以S型函數表達的二類別問題,第二個方法使用 Softmax 函數作為後驗機率的表達式。

 
第一個方法將類別 \mathcal{C}_k 設為對數賠率的比較基準,如下:

\displaystyle  \ln\frac{P(\mathcal{C}_j\vert\mathbf{x})}{P(\mathcal{C}_k\vert\mathbf{x})}=\mathbf{w}_j^T\mathbf{x}+w_{j0},~~j=1,\ldots,k-1

使用歸一性 \sum_{l=1}^kP(\mathcal{C}_l\vert\mathbf{x})=1,則

\displaystyle  \frac{1-P(\mathcal{C}_k\vert\mathbf{x})}{P(\mathcal{C}_k\vert\mathbf{x})}=\sum_{l=1}^{k-1}\frac{P(\mathcal{C}_l\vert\mathbf{x})}{P(\mathcal{C}_k\vert\mathbf{x})}=\sum_{l=1}^{k-1}\exp(\mathbf{w}_l^T\mathbf{x}+w_{l0})

即得

\displaystyle  P(\mathcal{C}_k\vert\mathbf{x})=\frac{1}{1+\sum_{l=1}^{k-1}\exp(\mathbf{w}_l^T\mathbf{x}+w_{l0})}

並有

\displaystyle  P(\mathcal{C}_j\vert\mathbf{x})=\frac{\exp(\mathbf{w}_j^T\mathbf{x}+w_{j0})}{1+\sum_{l=1}^{k-1}\exp(\mathbf{w}_l^T\mathbf{x}+w_{l0})},~~j=1,\ldots,k-1

套用前述二類別的最大似然估計和數值計算方法可求出 \mathbf{w}_jw_{j0}1\le j\le k-1。對於 j\neq k,如果 \mathcal{C}_j\mathcal{C}_k\mathbb{R}^d 佔據的區域相鄰,則邊界為超平面 \mathbf{w}^T_j\mathbf{x}+w_{j0}=0;對於 1\le j,l\le k-1j\neq l,如果 \mathcal{C}_j\mathcal{C}_l 相鄰,則邊界為超平面 \mathbf{w}_j^T\mathbf{x}+w_{j0}=\mathbf{w}_l^T\mathbf{x}+w_{l0}

 
第二個方法令後驗機率為

\displaystyle  P(\mathcal{C}_j\vert\mathbf{x})=\frac{\exp(\mathbf{w}_j^T\mathbf{x}+w_{j0})}{\sum_{l=1}^k\exp(\mathbf{w}_l^T\mathbf{x}+w_{l0})},~~j=1,\ldots,k

上式中,

\displaystyle  \frac{\exp(a_j)}{\sum_{l=1}^k\exp(a_l)}

稱為 Softmax 函數,它是 max 函數的一種平滑版本。Softmax 函數給出對數賠率

\displaystyle  \ln \frac{P(\mathcal{C}_j\vert\mathbf{x})}{P(\mathcal{C}_l\vert\mathbf{x})}=(\mathbf{w}_j-\mathbf{w}_l)^T\mathbf{x}+w_{j0}-w_{l0},~~j\neq l

上式表明若 \mathcal{C}_j\mathcal{C}_l 擁有的區域相鄰,則邊界為超平面 \mathbf{w}_j^T\mathbf{x}+w_{j0}=\mathbf{w}_l^T\mathbf{x}+w_{l0}。當所有的 l\neq ja_j=\mathbf{w}_j^T\mathbf{x}+w_{j0}\gg a_l=\mathbf{w}_l^T\mathbf{x}+w_{l0} 推得 P(\mathcal{C}_j\vert\mathbf{x})\approx 1P(\mathcal{C}_l\vert\mathbf{x})\approx 0。必須注意的是,數組 (a_1+c,\ldots,a_k+c) 的 Softmax 函數有相同的回傳值,可知用 Softmax 函數表達的後驗機率並不唯一。不過,Softmax 函數具有對稱表達的優點,因此受到一些研究者的青睞,下面討論 Softmax 函數表達的邏輯斯回歸的最大似然估計和數值算法。

 
考慮訓練樣本 \mathcal{X}=\{\mathbf{x}_i,r_{i1},\ldots,r_{ik}\}_{i=1}^n,其中類別指標 r_{ij}=1i\in\mathcal{C}_j,否則 r_{ij}=0。給定數據點 \mathbf{x}_i,假設類別指標 r_{ij} 服從多項分布 (multinomial distribution,即擲骰子的機率分布),機率值為 y_{ij}=P(\mathcal{C}_j\vert\mathbf{x}_i)1\le i\le n1\le j\le k。如前,我們定義 (d+1) 維向量 \tilde{\mathbf{w}}_j=\begin{bmatrix}  w_{j0}\\  \mathbf{w}_j  \end{bmatrix}1\le j\le k。寫出似然函數

\displaystyle  \mathcal{L}\left(\tilde{\mathbf{w}_1},\ldots,\tilde{\mathbf{w}}_k|\mathcal{X}\right)=\prod_{i=1}^n\prod_{j=1}^k(y_{ij})^{r_{ij}}

其中

\displaystyle  y_{ij}=\frac{\exp(a_{ij})}{\sum_{l=1}^k\exp(a_{il})}=\frac{\exp(\tilde{\mathbf{w}}_j^T\tilde{\mathbf{x}}_i)}{\sum_{l=1}^k\exp(\tilde{\mathbf{w}}_l^T\tilde{\mathbf{x}}_i)}

上面令 a_{ij}=\tilde{\mathbf{w}}_j^T\tilde{\mathbf{x}}_i。我們的任務是最小化目標函數

\displaystyle  E\left(\tilde{\mathbf{w}_1},\ldots,\tilde{\mathbf{w}}_k\right)=-\ln \mathcal{L}\left(\tilde{\mathbf{w}_1},\ldots,\tilde{\mathbf{w}}_k|\mathcal{X}\right)=-\sum_{i=1}^n\sum_{j=1}^kr_{ij}\ln y_{ij}

稱為多類別的交互熵。利用鏈式法則,以及 Softmax 函數 y_l=\frac{\exp(a_l)}{\sum_{q=1}^k\exp(a_q)} 的導數 \frac{\partial y_l}{\partial a_j}=y_l(\delta_{lj}-y_j),其中 \delta_{lj}=1l=j\delta_{lj}=0l\neq j,可得

\displaystyle\begin{aligned}  \frac{\partial E}{\partial \tilde{\mathbf{w}}_j}&=\sum_{i=1}^n\sum_{l=1}^k\frac{\partial E}{\partial y_{il}}\frac{\partial y_{il}}{\partial a_{ij}}\frac{\partial a_{ij}}{\partial\tilde{\mathbf{w}}_j}\\  &=-\sum_{i=1}^n\sum_{l=1}^k\frac{r_{il}}{y_{il}}y_{il}(\delta_{lj}-y_{ij})\tilde{\mathbf{x}}_i\\  &=-\sum_{i=1}^n\sum_{l=1}^kr_{il}\delta_{lj}\tilde{\mathbf{x}}_i+\sum_{i=1}^ny_{ij}\sum_{l=1}^kr_{il}\tilde{\mathbf{x}}_i\\  &=-\sum_{i=1}^nr_{ij}\tilde{\mathbf{x}}_i+\sum_{i=1}^ny_{ij}\tilde{\mathbf{x}}_i\\  &=-\sum_{i=1}^n(r_{ij}-y_{ij})\tilde{\mathbf{x}}_i\\  &=-X^T(\mathbf{r}_j-\mathbf{y}_j),  \end{aligned}

上面使用了 \sum_{l=1}^kr_{il}=11\le i\le n,並定義 \mathbf{r}_j=(r_{1j},\ldots,r_{nj})^T\mathbf{y}_j=(y_{1j},\ldots,y_{nj})^T1\le j\le k。我們推導出非線性方程組 \frac{\partial E}{\partial\tilde{\mathbf{w}}_j}=\mathbf{0}1\le j\le k

 
若採用梯度下降法,迭代公式為

\displaystyle  \tilde{\mathbf{w}}_j\leftarrow\tilde{\mathbf{w}}_j+\eta\sum_{i=1}^n(r_{ij}-y_{ij})\tilde{\mathbf{x}}_i,~~j=1,\ldots,k

或以矩陣表示:

\displaystyle  \tilde{\mathbf{w}}_j\leftarrow\tilde{\mathbf{w}}_j+\eta X^T(\mathbf{r}_j-\mathbf{y}_j),~~j=1,\ldots,k

 
接著推導牛頓法的計算公式。將 k(d+1) 維向量 \tilde{\mathbf{w}}_1,\ldots,\tilde{\mathbf{w}}_k 合併成一個 k(d+1) 維向量,則 Hessian 是一個 k(d+1)\times k(d+1) 階矩陣,以 k\times k 階分塊形式表示為

\displaystyle  H=\begin{bmatrix}  H_{11}&\cdots&H_{1k}\\  \vdots&\ddots&\vdots\\  H_{k1}&\cdots&H_{kk}  \end{bmatrix}

其中分塊 H_{pq}1\le p,q\le k,是 (d+1)\times(d+1) 階矩陣。令 w_{js} 代表 \tilde{\mathbf{w}}_j 的第 s 個元,1\le j\le k0\le s\le d。計算 H_{pq}(s,t) 元,0\le s,t\le d,如下:

\displaystyle\begin{aligned}  \left(H_{pq}\right)_{st}&=\frac{\partial}{\partial w_{ps}}\left(\frac{\partial E}{\partial w_{qt}}\right)  =\frac{\partial}{\partial w_{ps}}\left(-\sum_{i=1}^n(r_{iq}-y_{iq})x_{it}\right)\\  &=\sum_{i=1}^n\frac{\partial y_{iq}}{\partial w_{ps}}x_{it}=\sum_{i=1}^n\frac{\partial y_{iq}}{\partial a_{ip}}\frac{\partial a_{ip}}{\partial w_{ps}}x_{it}\\  &=\sum_{i=1}^ny_{iq}(\delta_{pq}-y_{ip})x_{is}x_{it},  \end{aligned}

或以矩陣形式表示為

\displaystyle  H_{pq}=X^TY_{pq}X,~~1\le p,q\le k

其中 Y_{pq}=\text{diag}(y_{1q}(\delta_{pq}-y_{1p}),\ldots,y_{nq}(\delta_{pq}-y_{np}))。以牛頓法計算的多類別邏輯斯回歸迭代公式是

\displaystyle    \begin{bmatrix}  \tilde{\mathbf{w}}_1\\  \vdots\\  \tilde{\mathbf{w}}_k  \end{bmatrix}  \leftarrow\begin{bmatrix}  \tilde{\mathbf{w}}_1\\  \vdots\\  \tilde{\mathbf{w}}_k  \end{bmatrix}+H^{-1}  \begin{bmatrix}  X^T(\mathbf{r}_1-\mathbf{y}_1)\\  \vdots\\  X^T(\mathbf{r}_k-\mathbf{y}_k)  \end{bmatrix}

 
邏輯斯回歸和線性判別分析具有相同形式的分類法則和類別邊界 (同樣是超平面),兩者的差異在於採用不同的方式計算模型參數 \tilde{\mathbf{w}}\tilde{\mathbf{w}}_j。因此,當實際數據不符合常態分布或各類別的共變異數矩陣有顯著的差別時,邏輯斯回歸 (和線性判別分析) 難以匹敵其他競爭模型。此外,邏輯斯回歸的最大似然估計不具備強健性 (robustness),即少量的離群值 (outlier) 足以嚴重破壞類別之間的邊界,這和線性判別分析的處境雷同。為了克服上述問題,研究者提出許多改善方案。舉例來說,先令數據點 \mathbf{x} 通過一組固定或非固定的非線性「基底函數」\phi_1(\mathbf{x}),\ldots,\phi_m(\mathbf{x}),將基底函數的回傳值當作新數據點,再以邏輯斯回歸建模分析。

This entry was posted in 機器學習 and tagged , , , , , , , , . Bookmark the permalink.

3 則回應給 邏輯斯回歸

  1. Bella Yu 說:

    寫論文時苦思研究方法偶然來到了這個網站
    發現到這裡真是令人開心
    以前覺得很莫名其妙的地方這裡都有詳實的解釋
    小妹只是想如果可以早點發現這裡就好了

  2. 張盛東 說:

    為了克服上述問題,研究者提出許多改善方案。舉例來說,先令數據點 \mathbf{x} 通過一組固定或非固定的非線性「基底函數」\phi_1(\mathbf{x}),\ldots,\phi_m(\mathbf{x}),將基底函數的回傳值當作新數據點,再以邏輯斯回歸進行建模分析。

    周老師,如果這樣的話,基底函數處理後的回傳值還會是常態分佈嗎?

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

你正使用 WordPress.com 帳號留言。 登出 / 變更 )

Twitter picture

你正使用 Twitter 帳號留言。 登出 / 變更 )

Facebook照片

你正使用 Facebook 帳號留言。 登出 / 變更 )

Google+ photo

你正使用 Google+ 帳號留言。 登出 / 變更 )

連結到 %s