1. 程式人生 > 其它 >lecture4 : Generalized Linear Model and SoftMax regression

lecture4 : Generalized Linear Model and SoftMax regression

前面的邏輯迴歸和線性迴歸其實都可以歸結為一類更加廣泛的模型 : Generalized Linear Model.

首先要了解指數族分佈,它們滿足如下的形式:

\[p(y;\eta) = b(y)exp(\eta ^TT(y) - a(\eta)) \]

在 GLM 中,\(T(y) = y\)

指數族分佈的一些性質:

  1. MLE at \(\eta\) is concave, which means Negative Log Likelihood is convex
  2. \(E[y;\eta] = \frac{\partial a(\eta)}{\partial \eta}\)
  3. \(Var[y;\eta] = \frac{\partial ^2a(\eta)}{\partial \eta^2}\)

GLM 的一些 assumption 和 design choice:

  1. \(y|x;\theta\) ~ Exp Family\((\eta)\)
  2. \(\eta = \theta^Tx, \theta \in \mathbb{R}^n, x \in \mathbb{R}^n\)
  3. Test time: output \(E[y|x;\theta]\), 即 \(h(x) = E[y|x;\theta]\)

GLM 的大致思路可以用下圖來概括:

輸入 \(x\) 得到 \(\eta\), 這確定了一個引數確定的指數族分佈,再根據這個分佈來進行預測。

線性迴歸和邏輯迴歸的 hypothesis 和 cost function 都可以由 GLM 很好地解釋,分別採用正態分佈和伯努利分佈。

邏輯迴歸採用伯努利分佈,可以處理二分類問題,如果待分類類別大於二,就要用到多項分佈,相對應的邏輯迴歸的推廣形式 Softmax 迴歸。

對於多分類問題,此時輸出結果不再是一個數值,而是一個向量,第 i 個分量對應於第 i 個類別的概率。

即:

\[h(x) = \begin{bmatrix} P(y=1|x;\theta)\\ P(y = 2 | x;\theta)\\ ...\\ P(y = k|x;\theta) \end{bmatrix} = \frac{1}{\sum_{j=1}^k exp(\theta^{(j)T}x)} \begin{bmatrix} exp(\theta^{(1)T}x)\\ ...\\ exp(\theta^{(k)T}x) \end{bmatrix} \]

此處第二個等式後面提出來的係數是為了使得概率加起來為 1 的標準化因子。

\[\theta = \begin{bmatrix} \theta^{(1)} \quad \theta^{(2)} ...\quad \theta ^{(k)}\\ \end{bmatrix}, \theta^{(j)} \in \mathbb{R}^n \]

對於如何求得 \(\theta\), 和前面的線性迴歸和邏輯迴歸相同,先寫出對數似然函式,然後做極大似然估計。

\[l(\theta) = \sum_{i = 1}^m log(p(y^{(i)}|x^{(i)};\theta))\\ = \sum_{i=1}^mlog(\prod_{l=1}^k \frac{exp(\theta^{(l)T}x)}{\sum_{j=1}^k exp(\theta^{(j)T}x)})^{1\{y^{(i) = l}\}}\\ = \sum_{i=1}^m \sum_{l=1}^k 1\{y^{(i)=l}\}log(\frac{exp(\theta^{(l)T}x}{\sum_{j=1}^k exp(\theta^{(j)T}x)})\\ J(\theta) = -l(\theta) \]

最優化可以使用梯度下降或者牛頓法完成。