?
在學習了前面講到的將logistic函數用到分類問題中的文章后,你可能想知道為什么會冒出這樣的模型,為什么這種模型是合理的。接下來,我們會答疑解惑,證明logistic回歸和softmax回歸只 是 廣義線性模型(Generalized Linear Model,GLM) 的一種特例,它們都是在廣義線性模型的定義和指數族分布(Exponential Family Distribution)的基礎上推導出來的。文章整體劃分為三個部分,1)指數族分布;2)廣義線性模型;3)由廣義線性模型和指數族分布推導出logist回歸和softmax回歸用于分類問題的合理性。
指數族分布
Gauss分布、Bernoulli分布和泊松分布等更一般的形式就是指數族分布,屬于指數族分布的各種概率分布有很多重要的共性。指數分布通常可寫成如下形式: \begin{equation} p(y;\eta)=b(y)h(\eta)\exp\left(\eta^TT(y)\right) \end{equation} 其中\(\eta\)為自然參數(Natural Parameter);\(T(y)\)為充分統計量(Sufficient Statistics);\(h(\eta)\)為歸一化常量(Normalization Constant),使得上式滿足概率分布的條件,即\(p(y;\eta)\in[0,1]\)并且 \begin{equation} h(\eta)\int b(y)\exp\left(\eta^TT(y)\right)dy=1 \end{equation} 如果\(y\)為離散型變量,上式由積分形式變為求和形式即可。 下面,我們對Bernoulli分布和Gauss分布的數學表示形式進行變形,證明它們實際上都屬于指數族分布:
- Bernoulli分布 \begin{equation} \begin{array}{ll} p(y;\phi)&=\phi^y(1-\phi)^{(1-y)}\\ &=\exp(y\log\phi+(1-y)\ln(1-\phi))\\ &=(1-\phi)\exp\left(y\log\left(\frac{\phi}{1-\phi}\right)\right)\\ \end{array} \end{equation} \begin{equation} \eta=\ln\left(\frac{\phi}{1-\phi}\right)\Rightarrow\phi=\frac{1}{1+\exp(-\eta)} \end{equation} \begin{equation} h(\eta)=1-\phi \end{equation} \begin{equation} T(y)=y \end{equation} \begin{equation} b(y)=1 \end{equation}
- Gauss分布(假設\(\sigma^2=1\)) \begin{equation} \begin{array}{ll} p(y;\mu)&=\frac{1}{\sqrt{2\pi}}\exp\left(-\frac{1}{2}(y-\mu)^2\right)\\ &=\frac{1}{\sqrt{2\pi}}\exp\left(-\frac{y^2}{2}\right)\cdot\exp\left(-\frac{\mu^2}{2}\right)\cdot\exp\left(\mu y\right) \end{array} \end{equation} \begin{equation} \eta=\mu \end{equation} \begin{equation} T(y)=y \end{equation} \begin{equation} h(\eta)=\exp\left(-\frac{\mu^2}{2}\right)=\exp\left(-\frac{\eta^2}{2}\right) \end{equation} \begin{equation} b(y)=\frac{1}{\sqrt{2\pi}}\exp\left(-\frac{y^2}{2}\right) \end{equation}
- Gauss分布 \begin{equation} \begin{array}{ll} &p(y;\mu,\sigma^2)\\ =&\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{1}{2\sigma^2}(y-\mu)^2\right)\\ =&\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{y^2}{2\sigma^2}+\frac{\mu y}{\sigma^2}-\frac{\mu^2}{2\sigma^2}\right)\\ =&\frac{1}{\sqrt{2\pi}}\left((\sigma^2)^{-\frac{1}{2}}\exp\left(-\frac{\mu^2}{2\sigma^2}\right)\right)\exp\left(-\frac{y^2}{2\sigma^2}+\frac{\mu y}{\sigma^2}\right) \end{array} \end{equation} \begin{equation} \eta=\left[\begin{array}{l} \eta_1\\ \eta_2 \end{array}\right] =\left[\begin{array}{l} \mu/\sigma^2\\ -1/2\sigma^2 \end{array} \right] \end{equation} \begin{equation} T(y)=\left[\begin{array}{l} y\\ y^2 \end{array}\right] \end{equation} \begin{equation} h(\eta)=(\sigma^2)^{-\frac{1}{2}}\exp\left(-\frac{\mu^2}{2\sigma^2}\right)=(-2\eta_2)^{\frac{1}{2}}\exp\left(\frac{\eta_1^2}{4\eta_2}\right) \end{equation} \begin{equation} b(y)=1 \end{equation}
在看到指數族分布的定義后,大家可能存在的一個問題就是\(T(y)\)為什么被稱為充分統計量呢?下面來解釋這個問題。我們將概率加和為1法則對應的公式左右兩邊同時對\(\eta\)求導,可得 \begin{equation} \begin{array}{l} \nabla h(\eta)\int b(y)\exp\left(\eta^TT(y)\right)dy\\ \quad+h(\eta)\int b(y)\exp\left(\eta^TT(y)\right)T(y)dy=0 \end{array} \end{equation} 對上式變形,并再次利用概率加和為1法則,得到下式 \begin{equation} \frac{\nabla h(\eta)}{h(\eta)}=-h(\eta)\int b(y)\exp\left(\eta^TT(y)\right)T(y)dy \end{equation} 我們用更精簡的形式來表述: \begin{equation} \nabla \ln h(\eta)=-\mathbb{E}\left[T(y)\right] \end{equation} 假設我們現在有\(N\)個樣本組成的數據集\(\mathcal{Y}=\{y_1,y_2,\cdots,y_N\}\),我們用最大似然的方法來估計參數\(\eta\),其對數似然函數形式如下: \begin{equation} \begin{array}{cl} \mathcal{L}&=\ln\left(\left(\prod_{i=1}^Nb(y_i)\right)h(\eta)^N\exp\left(\eta^T\sum_{i=1}^NT(y_i)\right)\right)\\ &=\sum_{i=1}^N\ln b(y_i)+N\ln h(\eta)+\eta^T\sum_{i=1}^NT(y_i) \end{array} \end{equation} 將\(\mathcal{L}\)對參數\(\eta\)求導并令其為0,得到 \begin{equation} \nabla\ln h(\eta_{ML})=-\frac{1}{N}\sum_{i=1}^NT(y_i) \end{equation} 根據上式我們可以求解出\(\eta_{ML}\)。我們可以看到最大似然估計僅僅通過\(\sum_iT(y_i)\)依賴樣本點,因此被稱為充分統計量。我們只需要存儲充分統計量\(T(y)\)而不是數據本身。在Bernoulli分布中\(T(y)=y\),我們只需保存所有樣本的加和\(\sum_iy_i\);在Gauss分布中,\(T(y)=(y,y^2)^T\),因此我們只要保持\(\sum_iy_i\)和\(\sum_iy_i^2\)即可。當\(N\rightarrow\infty\)時,上式的右側就等價于\(\mathbb{E}\left[T(y)\right]\),\(\eta_{ML}\)此時也就等于\(\eta\)的真實值。實際上,該充分特性僅僅適用于貝葉斯推理(Bayesian Inference),詳情請見《Pattern Recognition and Machine Learning》的第八章內容。
廣義線性模型
為了推導出一個廣義線性模型用于分類或回歸問題,我們得先做出三個假設:
- \(y|x;\theta\sim ExponentialFamily(\eta)\)。給定觀測值\(x\)和參數\(\theta\),\(y\)的分布服從參數為\(\eta\)的指數族分布;
- 給定觀測值\(x\),我們的目標是預測充分統計量\(T(y)\)的期望,即\(h(x)=\mathbb{E}\left[T(y)|x;\theta\right]\)。比如,在logistic回歸中有\(T(y)=y\),并且 \begin{equation} \begin{array}{rl} h_\theta(x)&=p(y=1|x;\theta)\\ &=0\cdot p(y=0|x;\theta)+1\cdot p(y=1|x;\theta)\\ &=\mathbb{E}\left[T(y)|x;\theta\right] \end{array} \end{equation}
- 自然參數\(\eta\)和觀測值\(x\)之間存在線性關系\(\eta=\theta^Tx\)。
再探logistic和softmax模型
logistic回歸模型推導
在二分類問題中\(y\in\{0,1\}\),選擇Bernoulli分布是很自然的。將Bernoulli分布寫成指數族分布的形式,我們有\(\phi=1/\left(1+\exp(-\eta)\right)\) \begin{equation} \begin{array}{ll} h_{\theta}(x)&=E[y|x;\theta]\Longrightarrow\text{(滿足假設2)}\\ &=\phi\Longleftarrow(y|x;\theta\sim Bernoulli(\phi))\\ &=1/\left(1+\exp(-\eta)\right)\Longrightarrow\text{(滿足假設1)}\\ &=1/\left(1+\exp(-\theta^Tx)\right)\Longrightarrow\text{(滿足假設3)} \end{array} \end{equation}
softmax回歸模型推導
在多分類問題中\(y\in\{1,2,\cdots,k\}\),我們利用多項分布(Multinomial Distribution)對其進行建模。我們用\(k\)個參數\(\phi_1,\phi_2,\cdots,\phi_k\)分別表示\(y\)屬于每一類的概率\(p(y=i;\phi)=\phi_i\)。但這些參數間并非完全獨立的,因為存在關系式\(\sum_{i=1}^k\phi_i=1\)。因此,我們僅用\(k-1\)個參數\(\phi_1,\phi_2,\cdots,\phi_{k-1}\),\(\phi_k=p(y=k;\phi)=1-\sum_{i=1}^{k-1}\)在此并不是參數。為了把多項分布表示為指數族分布的形式,我們先定義\(T(y)\in\mathbb{R}^{k-1}\)如下: \begin{eqnarray} T(1)=\left[\begin{array}{c}1\\0\\\vdots \\0\end{array}\right], T(2)=\left[\begin{array}{c}0\\1\\\vdots \\0\end{array}\right], \cdots, T(k-1)=\left[\begin{array}{c}0\\0\\\vdots \\1\end{array}\right], T(k)=\left[\begin{array}{c}0\\0\\\vdots \\0\end{array}\right] \end{eqnarray} 其中,\(T(y)\)的第\(i\)個元素\(\left(T(y)\right)_i=1\{y=i\}\)。進一步,我們有\(\mathbb{E}\left[\left(T(y)\right)_i\right]=p(y=i)=\phi_i\)。 多項分布也是指數族分布的一員,推導如下: \begin{equation} \begin{array}{ll} p(y)&=\phi_1^{1\{y=1\}}\phi_2^{1\{y=2\}}\cdots\phi_k^{1\{y=k\}}\\ &=\phi_1^{1\{y=1\}}\phi_2^{1\{y=2\}}\cdots\phi_k^{1-\sum_{i=1}^{k-1}1\{y=i\}}\\ &=\phi_1^{\left(T(y)\right)_1}\phi_2^{\left(T(y)\right)_2}\cdots\phi_k^{1-\sum_{i=1}^{k-1}\left(T(y)\right)_i}\\ &=\exp\left(\left(T(y)\right)_1\log\phi_1+\cdots+\left(1-\sum_{i=1}^{k-1}\left(T(y)\right)_i\right)\ln\phi_k\right)\\ &=\exp\left(\left(T(y)\right)_1\log\frac{\phi_1}{\phi_k}+\left(T(y)\right)_2\log\frac{\phi_2}{\phi_k}+\cdots+\ln\phi_k\right)\\ &=b(y)h(\eta)\exp\left(\eta^TT(y)\right) \end{array} \end{equation} \begin{equation} b(y)=1 \end{equation} \begin{equation} \eta=\left[\begin{array}{c} \ln(\phi_1/\phi_k)\\ \ln(\phi_2/\phi_k)\\ \vdots\\ \ln(\phi_{k-1}/\phi_k)\\ \end{array}\right]\in\mathbb{R}^{k-1} \end{equation} \begin{equation} h(\eta)=\phi_k \end{equation} 為了方便,我們定義\(\eta_k=\ln(\phi_k/\phi_k)=0\)。由\(\eta\)的表達式可知 \begin{equation} \begin{array}{ll} \eta_i=\ln\frac{\phi_i}{\phi_k}&\Rightarrow\phi_k\exp(\eta_i)=\phi_i\\ &\Rightarrow\phi_k\sum_{i=1}^k\exp(\eta_i)=\sum_{i=1}^k\phi_i=1\\ &\Rightarrow\phi_i=\frac{\exp(\eta_i)}{\sum_{j=1}^k\exp(\eta_j)}=\frac{\exp(\eta_i)}{1+\sum_{j=1}^{k-1}\exp(\eta_j)} \end{array} \end{equation} 上式稱為softmax函數,完成了自然參數\(\eta\)到多項分布參數\(\phi\)之間的映射。 在廣義線性模型的第三個假設下,我們有\(\eta_i=\theta_i^Tx\)。其中,在\(x\)中引入了\(x_0=1\),以便把截距項考慮進來后以更緊湊的形式表述,那么\(x\in\mathbb{R}^{n+1}\),\(\theta_i\in\mathbb{R}^{n+1}\)。為了滿足\(\eta_k=\theta_k^Tx=0\),我們定義\(\theta_k=0\)。如此一來,給定觀測值\(x\),\(y\)在此模型下的條件概率形式如下: \begin{equation} p(y=i|x;\theta)=\phi_i=\frac{\exp(\eta_i)}{\sum_{j=1}^k\exp(\eta_j)}=\frac{\exp(\theta_i^Tx)}{1+\sum_{j=1}^{k-1}\exp(\theta^T_jx)} \end{equation} 那么模型的最終輸出結果為 \begin{equation} h_{\theta}(x)=\mathbb{E}\left[T(y)|x;\theta\right]=\left[\begin{array}{c}\phi_1\\\phi_2\\\vdots\\\phi_{k-1}\end{array}\right]=\left[\begin{array}{c}\exp(\theta_1^Tx)/\sum_{i=1}^k\exp(\theta_i^Tx)\\\exp(\theta_2^Tx)/\sum_{i=1}^k\exp(\theta_i^Tx)\\\vdots\\\exp(\theta_{k-1}^Tx)/\sum_{i=1}^k\exp(\theta_i^Tx)\end{array}\right] \end{equation} 該模型稱為softmax回歸,可應用到多分類問題中,是logistic回歸的推廣。 給定由\(m\)個樣本組成的訓練集\(\{(x^{(i)},y^{(i)}),i=1,\cdots,m\}\),如果我們想用softmax回歸實現分類任務,那么模型的參數\(\theta_i\)如何學習到呢?訓練集上的對數似然函數如下: \begin{equation} \begin{array}{cl} \ell(\theta)&=\sum_{i=1}^m\log p(y^{(i)}|x^{(i)};\theta)\\ &=\sum_{i=1}^m\log\prod_{l=1}^k\left(\frac{\exp(\theta_{l}^Tx)}{\sum_{j=1}^k\exp(\theta_j^Tx)}\right)^{1\{y^{(i)}=l\}}\\ &=\sum_{i=1}^m\sum_{l=1}^k1\{y^{(i)}=l\}\left(\theta_l^Tx{(i)}-\log\sum_{j=1}^k\exp(\theta_j^Tx\right) \end{array} \end{equation} 我們仍然用最大似然的方法來估計參數\(\theta_i\),將對數似然函數\(\ell(\theta)\)對\(\theta_l\)求導得 \begin{equation} \frac{\partial\ell(\theta)}{\theta_l}=\sum_{i=1}^mx^{(i)}\left(1\{y^{(i)}=l\}-p(y^{(i)}=l|x^{(i)};\theta)\right) \end{equation}
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
