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

歡迎來到 CFA Level II 課程中最令人興奮(且現代)的單元之一!雖然「機器學習」(Machine Learning, ML)聽起來像是科幻電影裡的東西,但它其實是你已經學過的統計工具的強大延伸。在這一章,我們將學習電腦如何從數據中「學習」,從而進行預測並找出規律,而無需我們手把手教它應該找什麼。別擔心,即使你不是電腦科學家,我們也會把這些內容拆解成簡單易懂的部分。

1. 到底什麼是機器學習?

其核心而言,機器學習是人工智慧的一個分支,透過演算法在大型數據集中訓練以找出規律。電腦並非由人類編寫特定的規則(例如:「如果本益比 P/E < 15,則買入」),而是自行觀察數據並找出規律。

監督式學習與非監督式學習

課程根據數據是否具有標籤(Labels),將機器學習分為兩個主要的「思想學派」:

A. 監督式學習(Supervised Learning): 這就像學生跟著老師學習。數據集包含輸入(Inputs/Features,特徵)正確答案(Target Variables,目標變量)。目標是學習出一套規則,將輸入對應到正確的輸出。
例子: 利用「公司比率」(輸入)和「股票回報」(目標)的歷史數據來預測未來回報。

B. 非監督式學習(Unsupervised Learning): 這就像學生獨自逛圖書館。數據沒有標籤,也沒有目標變量。電腦只是單純尋找數據中的結構或分組。
例子: 提供 500 檔股票的數據,要求電腦根據其表現將它們分組,但不告訴它分組的標準是什麼。

C. 強化學習(Reinforcement Learning): 這有點不同。一個「代理人(Agent)」透過試錯(Trial and Error)來最大化獎勵(Reward)。就像訓練狗狗吃零食:做得好就有獎勵,做得不好就沒有。

快速總結

監督式: 我們知道要尋找的答案(目標)。
非監督式: 我們只是在數據中尋找隱藏的規律或捷徑。

2. 監督式學習:迴歸與分類

根據我們想要預測的內容,監督式學習可進一步細分為兩類:

1. 迴歸(Regression): 用於目標變量是連續性(Continuous)數據(數字)時。
例子: 預測房價或債券的確切回報。

2. 分類(Classification): 用於目標變量是類別(Categorical)數據(標籤)時。
例子: 預測一家公司會「違約」還是「不違約」。

必須掌握的重要演算法:

懲罰性迴歸(LASSO): 在標準迴歸中,變量過多會導致問題。LASSO(最小絕對收縮與選擇算子)會對特徵數量過多進行「懲罰」。它甚至可以將不重要變量的係數收縮至,從而自動完成「特徵選擇」!

支援向量機(Support Vector Machines, SVM): 可以把它想像成在兩組數據(例如:「成功」vs「失敗」)之間劃出一條最寬的「界線」(超平面)。它的目標是最大化兩組數據之間的邊際(Margin)

分類與迴歸樹(CART): 基本上就是流程圖。「債務權益比是否大於 1?是,走左邊;否,走右邊。」 它們的優點是人類非常容易理解。

隨機森林(Random Forests): 這是一種整合方法(Ensemble Method)。我們不依賴單一決策樹(可能會出錯),而是建立成百上千棵樹,讓它們對結果進行「投票」。這就是所謂的「群眾智慧」

3. 非監督式學習:尋找隱藏結構

由於非監督式學習沒有「答案」,我們主要用它來進行兩項任務:

降維(主成分分析 PCA)

有時我們有 100 個不同的變量,但其中許多變量傳達的是相同的資訊。主成分分析(PCA)將許多變量的資訊總結為少數幾個「主成分」。
比喻: 與其用身高、臂長、腿長和軀幹長(4 個變量)來描述一個人,不如將其總結為「體型」(1 個變量)。

分群(K-Means)

K-Means 分群將數據點分入「K」個群組中。它從隨機點開始,不斷優化分組,直到每個組內部的項目彼此最相似為止。
比喻: 將一大堆髒衣服分成襯衫、褲子和襪子,過程中沒人告訴你什麼是「襯衫」。

關鍵總結

PCA 讓數據變小(欄位減少)。
分群 讓數據有條理(列被分組)。

4. 神經網絡與深度學習

神經網絡(Neural Networks, NNs)的靈感來自人腦。它們由輸入層(Input Layer)隱藏層(Hidden Layers)輸出層(Output Layer)組成。當網絡擁有許多隱藏層時,我們稱之為深度學習(Deep Learning)

神經網絡對於處理非線性關係(複雜規律)非常強大,但它們通常被稱為「黑箱」,因為人類很難確切看出電腦為什麼做出特定的決定。

5. 機器學習工作流程

建立模型不只是按個按鈕,它遵循特定的路徑:

1. 數據收集: 搜集原始資訊。
2. 數據清洗: 處理缺失值和極端值。
3. 特徵工程: 建立新變量(例如將日期轉換為「星期幾」)。
4. 訓練/驗證/測試: 這是學生最容易混淆的地方!我們來拆解一下。

三個數據集

為了避免「作弊」,我們將數據分為三部分:

1. 訓練集(Training Set): 模型實際「看到」並從中學習的數據。
2. 驗證集(Validation Set): 用於調校模型(就像調整「旋鈕」以找到最佳設定)。
3. 測試集(Test Set): 「期末考」。模型只有在最後才會看到這組數據,以驗證其在現實世界中的表現。

6. 過度擬合與偏差-變異權衡

這可能是考試中最重要的概念

過度擬合(Overfitting): 當模型學習數據「太好」時就會發生,包括學習到了隨機噪音和錯誤。它在訓練數據上表現出色,但在新數據上卻慘敗。
比喻: 背下練習題的所有答案,而不是理解數學概念。你在練習題會拿 100 分,但正式考試會不及格。

欠擬合(Underfitting): 模型太簡單,看不出規律。
比喻: 試圖用一條直線去描述一條複雜的曲線。

權衡(Trade-off)

\( \text{Total Error} = \text{Bias}^2 + \text{Variance} + \text{Irreducible Error} \)

高偏差(High Bias)= 欠擬合: 模型太「固執」或太簡單。
高變異(High Variance)= 過度擬合: 模型太「靈活」或太複雜。

記憶小撇步:

Variance(變異)= Very complex(非常複雜,即過度擬合)。
Bias(偏差)= Basic(基礎,即欠擬合)。

7. 評估模型表現

我們如何知道模型是否好用?對於分類問題,我們使用混淆矩陣(Confusion Matrix)

關鍵指標:
- 精確率(Precision): 在模型所有預測為「違約」的案例中,有多少是真的違約?(重質不重量)。
- 召回率(Recall): 在所有實際發生的違約中,模型抓到了多少?(重覆蓋率/數量)。
- 準確度(Accuracy): 正確預測總數除以預測總數。
- F1 分數(F1 Score): 精確率與召回率之間的平衡(調和平均數)。

常見錯誤: 不要假設準確度總是最好的指標。如果 99% 的公司都不違約,那麼一個預測「沒人會違約」的模型就有 99% 的準確度,但它對於找出那 1% 的違約公司完全沒用!

成功總結清單

在繼續學習之前,請確保你能回答以下問題:

1. 我能解釋監督式學習與非監督式學習的區別嗎?
2. 我知道 LASSO 透過將係數降至零來協助特徵選擇嗎?
3. 我理解過度擬合會導致高變異及較差的樣本外表現嗎?
4. 我能指出 PCA 是用來減少變量數量(降維)的嗎?
5. 我記得測試集只有在模型訓練並調校完畢後才能使用嗎?

如果這讓你感覺像是學了太多新詞彙,別擔心。專注於每種方法的「目標」,而不是背後的數學。CFA Level II 考試非常重視你選擇正確工具解決正確問題的能力!