天天看點

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

網易公開課,第4課 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models
Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

也發現他們有些相似的地方,其實這些方法都是一個更廣泛的模型族的特例,這個模型族稱為,廣義線性模型(generalized linear models,glms)

the exponential family

為了介紹glms,先需要介紹指數族分布(exponential family distributions)

這種分布族包含了很多常見的分布,其中包含了上面提到的高斯分布和伯努利分布 

定義如下, 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

η is called the natural parameter (also called the canonical parameter) of the distribution 

t(y) is the sufficient statistic (for the distributions we consider, it will often be the case that t(y) = y) 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

這個定義本身不那麼好了解,不需要去了解它 

當選定t,a和b這3個function時,就可以确定一種以η為參數的分布,比如以η為參數的高斯分布或伯努利分布 

下面就看看從高斯分布或伯努利分布如何轉換為指數族分布的形式,并且各自具體參數是什麼? 

伯努利分布的轉換過程 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

其中, 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

可以看到這就是logistic函數或sigmoid函數 

之前隻是單純從分布圖上說看上去使用logistic函數比線性更好 

這裡直接可以從伯努利分布推導出,需要使用logistic函數,參考後面的推導 

另外的參數為, 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

高斯分布的轉換過程, 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models
Andrew Ng機器學習公開課筆記 -- Generalized Linear Models
Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

前面說了,指數族分布包含很多常用的分布,包含泊松分布。。。 

這裡以高斯和伯努利為例,當然其他的分布也可以完成這樣的轉換

constructing glms

這裡我們需要看看如何使用glms來解決分類和回歸問題 

如果要用glms來解決這個問題,需要基于下面的3個假設 

to derive a glm for this problem, we will make the following three assumptions about the conditional distribution of y given x and about our 

model: 

1. y | x; θ ∼ exponentialfamily(η). i.e., given x and θ, the distribution of 

y follows some exponential family distribution, with parameter η. 

首先是符合exponentialfamily分布,這是使用glms的前提

2. given x, our goal is to predict the expected value of t(y) given x. 

in most of our examples, we will have t(y) = y, so this means we would like the prediction h(x) output by our learned hypothesis h to satisfy h(x) = e[y|x]. (note that this assumption is satisfied in the choices for h(x) for both logistic regression and linear regression. for instance, in logistic regression, we had h(x) = p(y = 1|x; θ) = 0 · p(y = 0|x; θ) + 1 · p(y = 1|x; θ) = e[y|x; θ].) 

學習到的hypothesis h滿足,h(x) = e[y|x] 

可以看到前面在logistic回歸中,我們選擇的h(x)是滿足這個假設的 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models
Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

最後一個假設為,η和輸入x滿足線性關系 

這條假設可以看成是一種”design choice”

基于上面3條假設,我們就可以glms學習算法來優雅的解決問題

下面看看如何基于上面假設來推導出線性回歸和logistic回歸的hypothesis h 

前面碰到問題,都是直接先給出h,并沒有說明為什麼 

這裡可以通過glms,對特定問題和分布推導出h

線性回歸 

h(x) = e[y|x; θ]   //根據假設2 

       = μ             //對于高斯分布,分布的期望為μ 

       = η             //在由高斯分布轉換到指數族分布時,得到μ=η 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

logistic回歸 

h(x) = e[y|x; θ] 

       = φ 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models
Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

推導理由基本和上面的一樣

softmax回歸 

logistic回歸可以解決二進制分類問題,但是對于多元分類,就需要使用softmax回歸來解決,比如對于郵件不是僅僅分為spam和not-spam,而是分為spam,personal,work 

是以資料的分布也變成多項分布(multinomial distribution),是二項分布的推廣

那麼要解決這個問題,首先需要把多項分布轉化為指數族分布 

先聲明一些假設, 

假設有k個輸出(k類),分到每類的機率為φ1, . . . , φk(對于二項分布為φ和1-φ) 

φi = p(y = i; φ) 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models
Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

另外這裡需要定義t(y),雖然一般都是等于y,但這裡t(y)為向量表示為 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models
Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

繼續定義一個操作符,1{·} 

(1{true} = 1, 1{false} = 0). for example, 1{2 = 3} = 0, and 1{3 = 

5 − 2} = 1. 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models
Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

進一步可以得到, 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

下面給出多項分布的轉換過程, 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models
Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

可以參考二項分布,這裡隻是簡單的擴充,同樣隻會留下一項,其他項都為1 

剩下的是基于前面假設的一些替換, 

最終得到參數為,

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

這裡得到η和φ的關系,我們可以反推出,過程參考講義 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models
Andrew Ng機器學習公開課筆記 -- Generalized Linear Models
Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

到了這邊,我們就可以用最大似然法來解決這個問題了 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

後面可以使用梯度上升或牛頓法來求解

同時根據glms第二假設,也可以給出hypothesis h 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

可見解決這類問題的關鍵就是推出p(y|x; θ) 

因為有了這個,後面就可以使用最大似然法求解

對于logistic回歸, 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

對于softmax回歸, 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

而使用glms算法就可以直接的或間接的推導出p(y|x; θ) 

首先通過統計分布函數可以得到p(y|φ), φ是參數,比如對于伯努利分布 

可是為了拟合樣本點,我們需要得到p(y|x; θ),可是如果将φ轉換成x 

那麼在glms中,通過轉換,可以找到η和φ的關系 

Andrew Ng機器學習公開課筆記 -- Generalized Linear Models

我的了解,之是以成為廣義線性模型 

就是因為假設3,η和x是成線性關系的 

雖然對于大部分的模型,都需要再進行一次指數族的轉換才能得到h 

特例就是線性回歸,不需要做轉換,h=η

本文章摘自部落格園,原文釋出日期:2014-04-03