何謂迴歸?

已完成

迴歸的作業方式是在資料中的變數之間建立關聯性,該資料代表所觀察項目的特性 (稱為特徵),以及我們嘗試預測的變數 (稱為標籤)。

回想一下之前的出租自行車公司,該公司想要預測某一天會有多少預期的租用數量。 在這個案例中,特徵包括星期幾、月份等項目,標籤則是自行車租用數量。

若要對模型進行定型,我們會從包含特徵和已知標籤值的資料範例開始著手;因此在本案例中,我們需要歷史資料,其中包括日期、天氣狀況以及自行車租借的次數。

接著,我們會將此資料範例分割成兩個子集:

  • 「定型」資料集,其中我們將套用某個演算法,以判斷封裝特徵值和已知標籤值之間關聯性的函式。
  • 「驗證」或「測試」資料集,我們可以使用此資料集來產生標籤預測,並將其與實際已知標籤值進行比較來評估模型。

由於迴歸會使用具有已知標籤值的歷程資料將模型定型,使其成為「監督式」機器學習的範例之一。

簡單範例

我們來看一個簡單的範例,了解定型和評估程序的工作原理。 假設我們將案例簡化,使用單一特徵 (每日平均溫度) 來預測自行車租借標籤。

我們可以從某些資料,包括每日平均溫度特徵和自行車租借標籤的已知值開始著手。

溫度 租用數量
56 115
61 126
67 137
72 140
76 152
82 156
54 114
62 129

現在,我們將隨機選取其中五個觀察值,並使用它們來定型迴歸模型。 當我們提到「對模型進行定型」時,我們的意思是找出函式 (某個數學方程式;讓我們將其稱為 f),以使用溫度特徵 (讓我們將其稱為 x) 來計算租用數量 (讓我們將其稱為 y)。 換句話說,我們必須定義下列函式:f(x) = y

我們的定型資料集看起來像這樣:

x y
56 115
61 126
67 137
72 140
76 152

首先,讓我們在圖表上為 xy 繪製定型值:

圖表顯示針對標籤繪製的定型特徵。

接下來,我們需要將這些值納入函式中,並允許一些隨機變化發生。 您可能會看到繪圖點形成幾乎直線的對角線,換句話說,在 xy 之間存在明顯的「線性」關聯,因此我們需要尋找最適合資料範例的線性函式。 判斷本函式的演算法有許多種,這些方法最終將會尋找到從繪圖點具有最小整體變異數的一條直線,例如:

圖表顯示使用迴歸線針對標籤繪製的定型特徵。

這條線代表可搭配任何 x 值使用的線性函式,以套用線的「斜率」以及其「截距」 (當 x 為 0 時線與 y 軸交叉的位置),來計算 y。 在此案例中,如果我們將此線延伸至左方,我們會發現當 x 為 0 時,y 大約為 20,而線的斜率則表示在 x 上每向右側移動一個單位時,y 會增加大約 1.7。 因此,我們可以將 f 函式計算為 20 + 1.7x

既然我們已定義預測函式,我們可以加以用來預測我們所保留的驗證資料的標籤,並將預測值 (這通常是以符號 或 "y-hat" 表示) 與實際已知的 y 值互相比較。

x y
82 156 159.4
54 114 111.8
62 129 125.4

我們來看 y 和 ŷ 值在繪圖中的比較:

圖表顯示針對預測和實際標籤繪製的驗證功能。

在函式線上繪製的點是由函式所計算的預測 值,而其他繪製的點則是實際的 y 值。

有多種方式可以計量預測值和實際值之間的變異數,而且我們可以使用這些計量來評估模型的預測程度。

注意

機器學習是以統計資料和數學為基礎,因此請務必留意統計學家和數學家 (當然還有資料科學家) 使用的特定字詞。 您可以將「預測」標籤值與「實際」標籤值之間的差數視為「錯誤」的量值。 不過,在實務上,「實際」值是以範例觀察 (其本身可能會受到某些隨機變異數的影響) 為基礎。 為了清楚說明我們所比較的是「預測」值 () 與「觀察」值 (y),我們將其差異稱為「殘差值」。 我們可以彙總所有驗證資料預測的殘差值,以計算模型中的整體「損耗」,並作為其預測效能的量值。

測量遺失最常見的方式之一,就是求個別的殘差值平方、加總平方和計算平均值。 求殘差值平方能使計算以「絕對」值 (忽略差數是否為正數或負數) 為基礎,並為較大的差數提供更多權數。 此計量稱為「平均平方誤差」

針對我們的驗證資料,計算如下所示:

y y - ŷ (y - ŷ)阿拉伯數位
156 159.4 -3.4 11.56
114 111.8 2.2 4.84
129 125.4 3.6 12.96
Sum 29.36
平均數 9.79

因此,我們以 MSE 計量為基礎之模型的損耗為 9.79。

這代表好或壞呢? 很難分辨,因為 MSE 值並不是以有意義的測量單位表示。 我們知道值越低,代表模型中的損耗就越少,因此預測的效果也越好。 這使其成為比較兩個模型,並找出其中效能較佳之模型的實用計量。

有時候,以和預測標籤值本身相同的測量單位 (在本案例中為租用數量) 來表達損耗會更實用。 您可以透過計算 MSE 的平方根來完成此作業;不意外地,其會產生稱為「均方根誤差」(RMSE) 的計量。

√9.79 = 3.13

我們的模型中的 RMSE 指出損耗僅大於 3 一點點,因此您可以大致將其視為平均而言,不正確預測的誤差大概是三個租用數量。

此外,還有許多其他計量可用來測量迴歸中的遺失。 例如,R2 (R 平方) (有時也稱為「決定係數」),是 xy 平方之間的相互關聯。 這會產生介於 0 和 1 之間的值,以測量模型可說明的變異數量。 一般來說,這個值越接近 1,模型就能越精準地預測。