广义线性模型_广义线性模型(第六章补充)
上一篇文章(第六章)主要介紹了最大熵模型,并從中推導出邏輯斯諦回歸,感覺意猶未盡。在復習了CS229 Lecture note之后,我決定重新整理思路:從廣義線性模型的角度來看邏輯斯諦回歸。最后,基于樣本特征 X 分布的假設,生成和邏輯斯諦回歸一樣的模型。
一、背景
上圖參考了b站“機器學習白板推導系列”:https://www.bilibili.com/video/BV1aE411o7qd?p=39
實際上,邏輯斯諦回歸是廣義線性模型的一種,而廣義線性模型與最大熵模型都是源于指數族分布。因此直接從最大熵模型推出邏輯斯諦回歸,確實有些不太自然的地方(具體在“特征函數”的取值上,違背了原來特征函數的取值假設),但從廣義線性模型出發就沒有違和感了。
二、指數族分布
什么是指數族分布呢?它是一個分布家族,包括:高斯分布、伯努利分布、二項分布、泊松分布等常見分布。
關于“指數族分布”可以參考這篇文章:https://zhuanlan.zhihu.com/p/89155678,是根據“白板推導”整理而成的筆記。
(1)一般形式
指數族分布具有以下一般形式:(此處使用CS229的符號規則)
其中:
是分布對應的隨機變量, 稱為“自然參數”,一般為向量。 是 y的充分統計量,就是足以對表隨機變量 y 主要特征的值,例如:樣本均值、樣本方差等。 一般表示兩個向量的內積, 與 有相同的維度。如果 為標量,則 也為標量, 表示兩個數的乘積。 稱為 log 配分函數,它主要起到歸一化的作用,使得密度函數積分結果為1。(2)高斯分布
為了簡化計算,假設高斯分布的方差為1:
它的指數族形式如下:
(3)伯努利分布
它的指數族形式如下:
三、廣義線性模型
廣義線性模型用來解決“給定
預測 ”的問題,它基于以下三個假設:- ,經常假設
假設一: 認為 y 是服從指數族分布的。由于廣義線性模型既可用于“回歸”,也可用于“分類”,因此不同分布將生成不同模型?;貧w對應連續型分布,分類對應離散型分布。
假設二:
就是需要“學習”的模型,它等于 。為什么? 就是給定數據x的條件下,預測 y 的值,它的數學期望不就是預測模型本身嗎?假設三:“自然參數”是樣本x的線性組合,因此它是一個“線性模型”。
見證奇跡的時刻,看如何通過三個假設,得到不同的線性模型:
(1)線性回歸
線性回歸對應高斯分布:
。此假設的合理性在于,如果 y = h(x) 為線性模型,實際值與預測值的誤差是由隨機擾動引起的,這部分誤差是服從高斯分布的。根據假設二,線性模型有如下形式:
線性回歸模型的輸出:
(2)Logistic Regression
邏輯斯諦回歸對應伯努利分布:
,邏輯斯諦回歸的輸出,并不是分類結果,而是一個概率 p(y=1 | x)。當此概率大于0.5時 ,y=1,否則y=0。因此它等于伯努利分布的概率參數。邏輯斯諦回歸的分類結果:
(3)Softmax Regression
Softmax 與 多項邏輯斯諦回歸是等價的,下面將證明這一點,它被用于解決多分類問題。由于涉及多分類,不能簡單地假設
,此時 與 都是向量。下面將展示這個較為復雜的推導過程:設
用分布參數
表示 y 屬于第 i 分類的概率:當
時,當
時,由此可見,上述 k 個參數
并非完全獨立的,它們的和等于1。令
(一個 k-1 維的向量): , , ... , ,其中
表示向量 的 第 i 個分量。接下來是關鍵一步,由于
,可用“示性函數”表示,由此得到 softmax 的概率質量函數:
如果把
展開,分別合并到前 k-1 項里面,可得 , , ,以上就是 softmax 的指數族形式。
最后,尋找“自然參數”
與 “分布參數” 的關系:由于
, 那么 ,即把上式左右兩邊累加起來,得到:
, 即將“即”字后面的兩個式子整理一下,得到:
... 式(1)但請注意:
只有 k-1 個分量,如果令 , 使得 ... 式(2)剛好滿足
。根據假設三:
,其中 ,將其代入 式(1)、式(2)得到當
時, ... 式(3)當
時, ... 式(4)上述式(3)、式(4)就是 Softmax Regression 模型,與多項邏輯斯諦回歸模型一樣。
中概率最大的那一項,決定了 y 的取值。四、線性從何而來
如果選擇一個公式代表“邏輯斯諦回歸”,該選擇哪個公式呢?我認為是:
或者 ,其中也就是“對數幾率”等于 x 的線性函數。
從這個公式出發,可以推導出邏輯斯諦回歸的全部公式。
如果把右側的線性模型記作 s,上式可以表示為
即 ,由此可見 p 是 s 的 sigmoid 函數。sigmoid 的作用是將
映射至 ,于是分類結果 s :正數(代表正類),負數(代表負類)被轉換為一個處于0到1之間的概率值 p。回顧感知機模型(線性模型),通過模型的符號標記分類結果,邏輯斯諦回歸只是進一步把符號轉換為概率值。如果把線性模型替換為其他非線性模型,只要用正數、負數表示不同分類,將其代入 sigmoid 函數,仍可得到不同的概率輸出。
最后一個問題:為什么選擇線性模型
呢?或者說為什么 ?僅僅是因為線性模型最簡單嗎?此處試圖從另一個角度看待這個問題。根據貝葉斯定理,
其中
是由訓練集樣本決定的常數(設為 ), 假設服從高斯分布,且在Y的不同取值情況下方差相同(或者簡單設為1),但均值不同。于是有上式等號右側為 x 與 參數
的線性模型。在更為一般的情況下,如果將
換成其他“指數族分布”,結果仍然是線性模型。請參閱:https://tech.meituan.com/2015/05/08/intro-to-logistic-regression.html
延伸閱讀部分。
總結
以上是生活随笔為你收集整理的广义线性模型_广义线性模型(第六章补充)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 10个100以内随机整数编
- 下一篇: ios 裁剪圆形头像_iOS开发之裁剪圆