廣義線性模型之線性回歸(一)

2021-06-20 11:14:21 字數 2191 閱讀 4566

注:本文若沒特殊宣告,所有截圖均來自cs229 machine learning lecture notes 1

監督學習中,最常見的是線性回歸和分類問題。然而,我們熟知的linear regression和logistic regression這兩個機器學習演算法其實只是乙個更廣泛的模型family的特殊特殊情況——廣義線性模型(generalized linear models)。本系列分三部分,首先介紹linear regression,再介紹logistic regression,最後點出廣義線性模型,並介紹softmax regression。

線性回歸中的cost function定義如下(它被稱為最小二乘代價):

其中

機器學習演算法就是要找出乙個theta使cost function 最小。

下面分別使用兩種不同的方法求解這個模型:梯度下降 和 normal equation。

1 梯度下降

使用梯度下降更新模型,先求j對theta的偏倒

於是若只有乙個樣本時,theta的更新公式為(lms update rule)

其中alpha為學習速率(learning rate)。

如果一次引數更新用到整個訓練集,方法則被稱為批次梯度下降(batch gradient descent),演算法如下:

當然也可以一次只使用乙個樣本更新引數,此時則有個很不錯的名字:隨機梯度下降(stochastic gradient descent)。演算法如下:

那上面時候用隨機梯度下降sgd,什麼時候用隨機梯度下降bgd?

1、若cost function是凸函式,則當樣本數不多時,bgd是很有效的。而sgd可能會一直在全域性最優解旁邊打轉,卻始終取不到它。

2、當樣本數很大時,一次gradient descent需要動用整個樣本集代價是很大的。因此可以使用sgd。而且使用sgd還會有附加的好處。

3、若cost function是非凸函式,則bgd容易陷入區域性最優解。而sgd不容易出現這樣的情況。

2 normal equation

由於該cost function是凸函式,因此可以直接對其求導,令導數等於0,得到的theta即為所求值。過程如下,

從而得到theta為,

乙個很漂亮的公式,但其中涉及到矩陣的求逆。若feature向量為n維,則normal equation的計算複雜度為o(max)。不幸的是上式中求逆的部分不一定是可逆的,乙個解決辦法是如下改動式子:

其中i為n×n的單位矩陣,其中n為feature個數。因此,嚴格來講應該是(n+1)×(n+1)。

有趣的是這個式子剛好對應規則化(regularized)的線性回歸,其中delta^2對應規則化引數lambda。

最後,我們可以看到最小二乘其實對應乙個很漂亮的概率模型。若假設**值與真實值間的誤差epsilon服從高斯分布n(0,delta^2),則有

對似然函式取log並求導得

可以看到最大化 l 即最小化我們的cost function。 

[1] cs229 machine learning lecture notes 1: "supervised learning, discriminative algorithms"

[2] cpsc340:ridge regression and regularization

廣義線性模型和線性回歸

首先術語廣義線性模型 glm 通常是指給定連續和 或分類 變數的連續響應變數的常規線性回歸模型。它包括多元線性回歸,以及anova和ancova 僅具有固定效果 形式為 yi n x 2 其中xi包含已知的協變數,包含要估計的係數。這些模型使用最小二乘和加權最小二乘擬合。術語廣義線性模型 glim或...

廣義線性模型之泊松回歸

泊松回歸 poisson regression 是用來為計數資料和列聯表建模的一種回歸分析.泊松回歸假設反應變數y是泊松分布,並假設它期望值的對數可被未知引數的線性組合建模.泊松回歸模型有時 特別是當用作列聯表模型時 又被稱作對數 線性模型.需要注意的是,對數線性模型和泊松回歸模型並不完全相同,通常...

廣義線性模型

廣義線性模型是線性模型的擴充套件,主要是對非正態因變數的分析 廣義線性擬合的核心是最大似然估計,而不是最小二乘 擬合模型如下 y 0 pj 1 jx j 其中,beta是係數,mu是優勢比的對數,beta係數是對優勢比的影響。通過擬合求得的就是 我們可以通過兩個例子看一下兩種變數 類別型 自變數x ...