1. 程式人生 > >GLM(廣義線性模型) 與 LR(邏輯迴歸) 詳解

GLM(廣義線性模型) 與 LR(邏輯迴歸) 詳解

GLM 廣義線性模型

George Box said: “All models are wrong, some are useful”

1. 始於 Linear Model

作為 GLM 的基礎,本節 review 經典的 Linear Regression,並闡述一些基礎 term。
我們線性迴歸的基本如下述公式,本質上是想通過觀察 x,然後以一個簡單的線性函式 h(x) 來預測 y

y=h(x)=wTx

1.1 dependent variable y

這是我們的預測目標,也稱 response variable。這裡有一個容易混淆的點,實際上 y 可以表達三種含義(建模用的是分佈,觀察到的是取樣,預測的是期望)

  • distribution;抽象地討論 response variable 時,我們實際上關注對於給定資料和引數時, y|x,w 服從的分佈。Linear Regression 的 y 服從高斯分佈,具體取值是實數,但這裡我們關注的是分佈。
  • observed outcome;我們的 label,有時用 t 區分表示;這是真正觀察到的結果,只是一個值。
  • expected outcome;y=E[y|x]=h(x) 表示模型的預測;注意 y 實際上服從一個分佈,但預測結果是整個分佈的均值 μ,只是一個值。

1.2 independent variable x

這是我們的特徵,可以包含很多維度,一個特徵也稱為一個 predictor。

1.3 hypothesis h(x)

線性模型的假設非常簡單,即 h(x)=wTx inner product of weight vector and feature vector,被稱為 linear predictor。這是就是線性模型,GLM 也是基與此的推廣。
深入來看,各個維度特徵(predictor) xj 通過係數 wj 線性加和,這一過程將資訊進行了整合;而不同的 weight(coefficient) 反映了相關特徵不同的貢獻程度 。

2. 推廣到 Generalized Linear Model

2.1 Motive & Definition

線性模型有著非常強的侷限,即 response variable y 必須服從高斯分佈;主要的侷限是擬合目標 y 的 scale 是一個實數 (,+)。具體來說有倆個問題:

  • y 的取值範圍和一些常見問題不匹配。例如 count(遊客人數統計恆為正)以及 binary(某個二分類問題)
  • y 的方差是常數 constant。有些問題上方差可能依賴 y 的均值,例如我預測目標值越大方也越大(預測越不精確)

所以這時我們使用 Generalized Linear Model 來克服這倆個問題。
一句話定義 GLM 即(from wiki):
In statistics, the generalized linear model (GLM) is a flexible generalization of ordinary linear regression that allows for response variables that have error distribution models other than a normal distribution.
詳細來說,我們可以把 GLM 分解為 Random Component、System Component 和 Link Function 三個部分

2.2 Random Component

An exponential family model for the response

這裡是指 response variable 必須服從某一 exponential family distribution 指數族分佈,即 y|x,wExponentialFamily(η)η 指 exponential family 的 natural parameter 自然引數。
例如 linear regression 服從 Gaussian 高斯分佈,logistic regression 服從 Bernoulli 伯努利分佈。指數族還有很多分佈如 多項分佈、拉普拉斯分佈、泊松分佈等等。
另外,這也可以被稱為 Error Structure : error distribution model for the response。對於 Gaussian 的 residual 殘差 ϵ=yh(x) 服從高斯分佈 N(0,σ) 是很直觀可;但是,例如 Bernoulli 則沒有直接的 error term。可以構造其他的 residual 服從 Binomial,但是較抽象,本文不對此角度展開。

2.3 Systematic Component

linear predictor

廣義線性模型 GLM 本質上還是線性模型,我們推廣的只是 response variable y 的分佈,模型最終學習的目標還是 linear predictor wTx 中的 weight vector。
注意,GLM 的一個較強的假設是 η=wTx,即 y 相關的 exponential family 的 natural parameter η 等於 linear predictor。這個假設傾向於是一種 design choice(from Andrew),不過這種 choice 是有合理性的,至少 η 和 linear predictor 的 scale 是一致的。

A link function connects the mean of the response to the linear predictor

通過上述的 Random Component 和 Systematic Component,我們已經把 ywTx 統一到了 exponential family distribution 中,最終的一步就是通過 link function 建立倆者聯絡。對任意 exponential family distribution,都存在 link function g(μ)=ημ 是 分佈的均值 而 η 是 natural parameter;例如 Gaussian 的 link function 是 identity(g(μ)=η),Bernoulli 的 link function 是 logit(g(μ)=lnμ1μ=η)。
link function 建立了response variable 分佈均值(實際就是我們的預測目標) 和 linear predictor 的關係(準確來說,這隻在 T(y)=y 條件下成立,但大多數情況都條件都成立,這裡不展開說明)。實際上 link function 把原始 y 的 scale 轉換統一到了 linear predictor 的 scale 上。另外,不同分佈的 link function 可以通過原始分佈公式變換到指陣列分佈形式來直接推出,之後本文第4章會有詳細講解。
最後要強調的是,link function 的反函式 g1(η)=μ 稱為 響應函式 response function。響應函式 把 linear predictor 直接對映到了預測目標 y,較常用的響應函式例如 logistic/sigmoid、softmax(都是 logit 的反函式)。

2.5 Contrast between LM & GLM

  • linear predictor η=wTx

Linear Regression

  • response variable yN(η,σ2e)
  • link function η=g(μ)=μ, called identity
  • prediction h(x)=E[y|x,w]=μ=g1(η)=μ

Generalized Linear Model

  • response variable yexponentialfamily
  • link function g(μ), eg. logit for Bernoulli
  • prediction h(x)=E[y|x,w]=μ=g1(η), eg.logistic for Bernoulli

這裡再次強調了他們 linear predictor 的部分是一致的;不過對 response variable 服從分佈的假設不一致。Gaussian 的 response function 是 g1(η)=μ;而 exponential family 根據具體假設的分佈,使用相應的 response function (例如 Bernoulli 是 sigmoid)。

額外強調一個點,無論是 LM 還是 GLM,我們對不同資料 x 得到的其實是不同的 response variable 的分佈,所以不同分佈的 μ 值不同,進而我們預測的結果不同。雖然每一條資料只是預測了一個值,但其實對應的是一個分佈。並且資料相似的話對應的分佈也相似,那麼預測結果也相似