歡迎來到應用機器學習的世界!

你好!歡迎來到 CS2 課程中最令人興奮的部分之一。在之前的章節中,你已經學習了各種模型的理論,現在我們要看看如何實際使用軟件(如 R)來應用這些理論。具體來說,我們將聚焦於監督式學習(Supervised Learning)

你可以將監督式學習想像成一位學生(電腦)跟隨一位老師(數據)學習的過程。老師提供答案(標籤),而學生嘗試找出規律,以便日後能正確回答新的問題。無論你是要預測保險理賠金額,還是決定保單持有人是否會續約,本章都將為你提供完成任務的路線圖。

1. 兩大問題:迴歸與分類

在監督式學習中,每個問題通常都屬於兩大類之一。辨別你正在處理哪一類,是選擇正確軟件工具的第一步。

迴歸(Regression,預測數值)

當我們想要預測的輸出是一個連續數值時,我們會使用迴歸
例子:預測汽車保險理賠的具體金額。
類比:預測明天的氣溫。氣溫可能是 20.5 度、21.2 度等。

分類(Classification,預測類別)

當輸出是一個標籤或類別時,我們會使用分類
例子:預測人壽保險申請人屬於「高風險」還是「低風險」。
類比:將郵件分類為「垃圾郵件」或「非垃圾郵件」。

小撇步:如果你可以用手指數出可能的答案(是/否、紅/藍/綠),那通常是分類;如果有無限的可能性(如價格或年齡),那就是迴歸

2. 軟件中的一般工作流程

無論你使用哪種特定的演算法,軟件中的操作過程都遵循一套標準的「食譜」。別擔心這聽起來很深奧,這就像跟著烹飪教學做蛋糕一樣簡單!

第一步:數據準備(Data Preparation)
軟件需要乾淨的數據。這包括處理缺失值,並確保電腦能理解變量(例如,將「男/女」轉換為 0 和 1 等數字)。

第二步:分割數據(訓練集 vs. 測試集)
這點至關重要!我們將數據分為兩部分:
1. 訓練集(Training Set):模型用來「學習」規律的數據。
2. 測試集(Test Set):一場「期末考試」,使用模型從未見過的數據來檢驗其表現。

第三步:模型擬合(Model Fitting)
這一步我們指示軟件將演算法(如決策樹或 GLM)應用於訓練數據上。

第四步:預測與評估
我們使用擬合後的模型對測試集進行預測,並將預測結果與實際的「真實」答案進行比較,看看模型準確度如何。

重點提示:永遠不要在訓練模型的同一組數據上測試它。這就像在考試前一晚給學生看考題一樣——他們並不是在學習,而是在死記硬背!

3. 關鍵的監督式學習技術

CS2 課程強調了幾種軟件可以實作的技術,以下是幾種重量級技術的簡介:

廣義線性模型(GLMs)

GLM 是精算界「久經考驗的可靠工具」。它們擴展了標準線性迴歸,以處理不同類型的數據(如計數數據或二元結果)。
軟件實作:通常涉及選擇一個分佈(如用於索賠次數的 Poisson 分佈)和一個連結函數(Link Function)(用於將預測變量與均值聯繫起來)。

決策樹(Decision Trees)

決策樹看起來就像一個流程圖。軟件根據最能提供資訊的特徵對數據進行「分割」。
類比:「二十個問題」遊戲。(駕駛年齡是否大於 25 歲?若是,走左邊;若否,走右邊。)
常見分割準則:
- 針對迴歸:殘差平方和(RSS)
- 針對分類:基尼不純度(Gini Impurity)熵(Entropy)

隨機森林(Random Forests)與提升法(Boosting)

有時單一棵樹是不夠的,我們使用「集成(Ensemble)」方法將多棵樹結合起來。
- 隨機森林:獨立建立多棵樹,然後取平均值(迴歸)或多數投票(分類)。這被稱為自助聚合(Bagging)
- 梯度提升(Gradient Boosting):逐一建立樹,每一棵新樹都試圖修正前一棵樹所犯的錯誤。

神經網絡(Neural Networks)

這些模型的靈感來自人腦,由多層「神經元」組成。
結構:輸入層 -> 隱藏層 -> 輸出層。
它們對於處理複雜規律非常強大,但往往被視為「黑盒(Black Box)」,因為很難解釋它們 為什麼 會做出特定的預測。

你知道嗎?雖然神經網絡很流行,但對於許多涉及結構化表格數據的精算任務,梯度提升機(Gradient Boosting Machines)的表現往往一樣好,甚至更好!

4. 衡量表現:軟件做得好嗎?

一旦軟件給出了模型,我們就需要測量它的「誤差」。

對於迴歸(連續變量)

我們觀察預測值(\( \hat{y} \))與實際值(\( y \))之間的偏差。
均方誤差(MSE): \( MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 \)
均方根誤差(RMSE): 即 MSE 的平方根。它很受歡迎,因為它的單位與輸出結果相同(例如,以美元計算)。

對於分類(類別變量)

我們使用混淆矩陣(Confusion Matrix),這是一個表格,展示了:
- 真陽性(TP):我們預測「是」,結果確實是「是」。
- 真陰性(TN):我們預測「否」,結果確實是「否」。
- 假陽性(FP):我們預測「是」,但結果是「否」(第一類錯誤)。
- 假陰性(FN):我們預測「否」,但結果是「是」(第二類錯誤)。

關鍵指標:準確率(Accuracy)

\( \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} \)

快速回顧:如果你在預測罕見事件(如大地震),準確率可能會產生誤導。如果事件發生的機率僅為 1%,那麼一個總是預測「否」的模型準確率高達 99%,但卻完全沒有用處!

5. 應避免的常見陷阱

在使用機器學習軟件時,請留意這些「陷阱」:

1. 過度擬合(Overfitting):當模型過於複雜時會發生。它學會了訓練數據中的「噪音」而非真實規律。這會導致模型在訓練數據上表現出色,但在新數據上卻慘敗。
2. 欠擬合(Underfitting):模型過於簡單(例如試圖用直線去擬合曲線)。這會導致模型在訓練和測試數據上都表現不佳。
3. 特徵選擇(Feature Selection):包含過多不相關的變量會干擾模型。僅僅因為你可以將保單持有人的喜好顏色包含進去,並不代表這有助於預測他們的車禍風險!

總結清單

在繼續學習之前,請確保你能回答以下問題:
- 我能區分迴歸分類任務嗎?
- 我了解為什麼要將數據分為訓練集測試集嗎?
- 我知道自助聚合(Bagging,隨機森林)提升法(Boosting)的基本區別嗎?
- 我能識別 MSE 為迴歸指標,並將混淆矩陣視為分類工具嗎?

如果覺得這些內容很多,別擔心。應用機器學習既是科學也是藝術。你練習得越多,看這些模型運作得越多,你對它們的理解就會越直觀!