Generalized Linear Models 一般線性模型

這一節,講的是已知樣例標簽y的分布(比如伯努利分布,高斯分布)是指數族中的一員,怎么利用運用GLM生成假設h(x)的公式(比如h(x)=θx)。

一、伯努利分布,二項分布,多項式分布

受到維基的啟發,這里用n(進行實驗的次數)和k(實驗的結果的個數)來區分伯努利分布,二項分布和多項式分布

1、伯努利分布(n=1,k=2,隨機變量X==>事件A發生)

進行1次實驗,實驗只有2個結果且結果互斥,用X來表示事件A發生,事件A發生的概率為φ,(即分布律為 ; X=1,p = Φ;X=0,p=1-Φ),可以寫成

那么就說 隨機變量X服從伯努利分布

舉個栗子:投一次硬幣,X表示“結果為正面”,P(X=1)表示的是結果為正面的概率。

2、二項分布(n>1,k=2,隨機變量X==>事件A發生的次數)

進行n次實驗,同樣每次實驗只有2個結果,用X來表示事件A發生的次數,事件A發生的概率為φ,如果

那么就說,隨機變量X服從二項分布(即事件A發生m次的概率為P(x=m))

并且X的所有可能情況(X發生m?,m?,m?...次,m和為n)概率之和為1

舉個栗子:投n次硬幣,每次可能出現兩種結果,則X代表的是“結果為正面的次數”,P(X=m)表示n次實驗中,有m結果為正面的概率。

3、多項式分布(n>1,k>1,隨機向量X=(x1=n1,x2 = n2,...xk=nk))

注意改變,實驗結果不再是兩個而是多個,X不再是一個單值變量而是一個向量,元素xi=ni的意思是,事件xi發生了ni次,并且n1+n2+...+nk = n

進行n次實驗,每次實驗有k個結果,且結果互斥。則結果x1發生了n1次,且x1發生1次的概率為p1,x2發生了n2次,x2發生1次的概率為p2。。。即若滿足

另一種形式為

那么就說,隨機向量X=(x1=n1,x2 = n2,...xk=nk)滿足多項式分布。
注意其中每個事件發生m次的分布律可能都不相同

舉個栗子:擲骰子,六個點數出現的概率都不一樣。擲n次,每次可能會出現6種不同的結果,用x1代表結果為點數一朝上1,p1代表點數1朝上的概率。依次類推。

此時,如果問有m次都是點數6朝上的概率,那么可以表示為x6=m的概率:

那么也就相當于上面的二項分布,其中p是點數為6的概率,(1-p)是點數不為6的概率。

但是這不是多項式分布的問題,多項式分布的問題是:點數1 ~ 6的出現次數分別為(n1,n2,n3,n4,n5,n6)時的概率是多少(公式里面的結果不再是兩個,而是多個)?(其中sum(n1 ~ n6)= n)
此時X=(x1=n1,x2 = n2,...xk=nk)才是服從多項式分布的。
注意,多項式分布中各結果也是互斥的


再舉個栗子,
比如郵件分類問題,有一種表示郵件的方法:假設字典中有50000個單詞,那么令x為一個50000維的向量,這個郵件中有buy單詞,在字典的第k個位置,那么x的第k個元素就為1。單詞未出現,則該位置的元素為0。
則不同的郵件,可以表示成x?=(1,1,0,0,...,1,1,1),x?=(0,0,0,0,...,1,1,1),所以共有250000個結果。且每個結果互斥。

套到多項式分布上來,也就是,進行n次實驗,每次實驗可能發生250000個結果,用x?表示第一種結果,p1 表示第一種結果發生的概率,以此類推, 用隨即向量X=(x1=n1,x2 = n2,...xk=nk)表示n次實驗中,每個結果出現的次數分別為n1,n2,...的情況,那么隨機向量X也服從多項式分布。


二、指數族(The exponential family)

在學習GLMs之前,先定義一種指數族分布:若是有一類分布可以寫成下面這種形式的,就說這個分布屬于指數族分布。

其中,T(y)一般等于y,η被叫做自然參數(natural parameter)。其余的一些參數理解不深,這里就不介紹了。

一些常見的分布,比如伯努利分布,高斯分布,都可以寫成上面的形式,只不過是相應的a,b,T不相同。
比如,我們可以把伯努利分布寫成:

即伯努利分布可以寫成指數族形式,可以看出其中對應的T,a,b分別為

再寫高斯分布,回憶一下,當我們得到線性回歸時,方差σ2的值對最終的假設h沒有影響,所以為了方便,我們將σ2設置為1. 于是我們可以得到

其中,對應的指數族的參數分別為

除了這些,還有很多指數族分布的成員:多項式分布,泊松分布,gamma分布,指數分布,beta分布,dirichlet分布等等。
如果給定x和θ,且已知y服從這些分布中的某一個分布,那么我們就可以根據下面的規則,來為預測y的假設h(x)建模。

目標函數 不等于 預測模型!
目標函數是一個挺復雜的概念,簡單地說,就是我們需要去優化的函數,要結合模型復雜度,結構風險最小化等。
而模型就是根據輸入x和學習好的參數θ去預測輸出y的模型。
比如,已經介紹了的邏輯回歸中的目標函數可以理解為最大似然函數L(θ),而預測模型是sigmoid函數g(z)。

而這節主要講的,就是如何根據y的分布,來建立預測y的等式。
至于目標函數,是和你自己所需要達到的目標來設定的。

三、 建立一般線性模型

1、三個假設

已知y分布,為了得到GLM,假設我們的模型對于給定輸入x 情況下y的條件分布即p(y|x)滿足下面三個條件:

  • 1 y|x;θ~ExponentialFamily(η),即,給定x和θ,在參數η的情況下,y的分布服從于指數族分布中的一個分布。
  • 2 h(x) = E[y|x;θ].即,給定x以后我們想要預測T(y)的期望值(不是很理解),而一般情況下T(y) = y,所以二者期望值相等。對于假設h(x),一般情況下,h(x) 即為y的期望即h(x) = E[y|x],所以假設E[T(y)] = E[y|x]=h(x).
  • 3 η=θTx,即z自然參數η和輸入x線性相關.

2、普通最小二乘法(y服從高斯分布)

直接上假設的推導

  1. y服從高斯分布,可以用GLM方法來對預測進行建模
    2.假設給定x,y|x;θ~N(μ,σ2),---假設1,解釋第二行期望值為μ
    3.假設2,得h(x) = E[y|x;θ]
    4.由上一節指數族中,已知,把高斯分布寫成指數族的形式以后會得到自然參數η=μ
    5.假設3,得到η=θTx。
    至此,得到y服從高斯分布時的預測模型h(x)的表示。其中比較重要的是第4步,需要把y服從的分布寫成指數族的形式。

3、邏輯回歸(y服從伯努利分布)

y服從伯努利分布==>
假設1==>y|x;θ~Bernoulli(φ)==>
假設2==>h(x) = E[y|x;θ]==>
E[y|x;θ]=φ==>
伯努利分布的指數族形式得到第三行==>
假設3==>第四行

4、Softmax Regression

在多分類問題中,如果標簽y有k個值,即y屬于{1,2,3...,k}。我們可以根據多項式分布來對這種問題進行建模。

a、首先,需要解釋一下多項式分布也屬于指數族。

首先,假設共有k個結果,每個結果對應的概率為φ?,φ?,...φk。然而,這k個結果并不是互相獨立的(受限制于和為1,多項式分布的性質)。并不清楚為什么非要獨立
因此,我們只有k-1個參數來描述多項式分布,即φ?,φ?,...φk-1,這里φi = p(y=i;φ),而p(y=k;φ) = 1-sigma(φi)。需要注意的是,φk并此時并不是參數,而是有其余k-1個參數確定的常量。

其中,T(y)和y的關系是。(T(y))i = 1{y=i}。于是有 p(y=i;φ) = φi = E[(T(y))i]。
一旦y等于1,那么y就不再為別的數。比如,y被判為垃圾郵件,那么絕不是公司郵件或者私人信件。
這么表達是為了方便理解,在把多項式分布轉化為指數族時,T(y)是一個向量,元素為(T(y))i = 1{y=i}。提前將多項式分布和指數族連接了起來。

上面這個公式的意思,是y=1時, p(y=1;φ) = φ1,也就是y的分布律,y服從這個分布(但我認為,這并不是精確的多項式分布的公式,畢竟此時只有k-1個參數)。

將此時y的分布推導出指數族的形式

于是可以知道

這樣也算推出了,多項式分布也是 指數族分布的一員。

連接二者(用φ和η連接多項式分布與指數族分布)的函數為

通過上面式子的轉化,可以得到下面

通過公式7,我們可以得到用η表示φ的公式

于是,一般情況下,在我們并不知道φi的情況下,可以用GLM假設中的第3個假設,推出預測y=i的概率

這也就是平時經常見到的,預測概率的公式。

此時,我們的模型可以根據GLM得到

也就是說,我們的假設,就是輸出對每個結果預測的概率。
這就是softmax regression中的假設模型了。

最后,類似于在線性最小二乘和邏輯回歸里的目標函數,我們用log-似然函數來作為目標函數,用來學習參數θ。

再通過優化方法,得到最終需要學習的參數。以上就是softmax regression的由來的介紹。

大致梳理一下就是,y服從多項式分布,于是用GLM來建模,得到假設的模型。
而因為模型輸出的是概率,所以采用極大似然的方法來學習參數。

介紹的并不清楚,因為我有一些不懂得地方。。。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容