機器學習與投資管理#
**機器學習(machine learning, ML)**自大量資料中萃取知識:從已知範例中學習,找出底層結構,並以最少的人為介入產生結構或預測。常見口訣:「找出模式、套用模式(find the pattern, apply the pattern)」。
在投資管理價值鏈中,ML 被廣泛應用於:
- 訊號探勘與選股
- 風險建模與信用評等
- 投資組合最佳化
- 文本與另類資料分析
- 詐欺偵測
機器學習的三大類型#
監督式學習#
監督式學習(supervised learning):需要已標註的訓練資料——亦即配對的輸入($X$,特徵 features)與輸出($Y$,目標 target)。
依目標變數性質可細分:
- 迴歸(regression):目標為連續變數,例如預測下一季報酬率
- 分類(classification):目標為類別或順序變數,例如預測公司信用評等、是否破產
非監督式學習#
非監督式學習(unsupervised learning):訓練資料無標籤。演算法必須自行推斷特徵間的關係、摘要分布結構。
兩類主要問題:
- 降維(dimension reduction):減少特徵數量並保留資訊
- 群集(clustering):將觀察值分群
深度學習與強化學習#
- 深度學習(deep learning):基於神經網路(neural networks),處理影像辨識、自然語言等複雜任務
- 強化學習(reinforcement learning, RL):**代理人(agent)**透過與環境(或自我)互動,採取行動以最大化長期報酬
泛化能力與過度配適#
三類誤差#
樣本外誤差 = 偏誤誤差 + 變異誤差 + 基底誤差:
- 偏誤誤差(bias error):模型對訓練資料的配適程度
- 變異誤差(variance error):模型結果在新樣本下的變化程度
- 基底誤差(base error):資料本身的隨機性
泛化#
泛化(generalization):模型在樣本外預測時保留解釋力的能力。
過度配適(overfitting)是泛化能力差的主因:模型為了迎合訓練資料的細節,犧牲了對新資料點的預測能力。一個常見徵兆是訓練誤差極低、但驗證誤差顯著惡化。
k 折交叉驗證#
k 折交叉驗證(k-fold cross-validation):
- 將訓練資料(排除測試樣本)隨機打散並分為 $k$ 個等量子樣本
- 每次用其中 $k-1$ 個子樣本訓練、剩餘 1 個作驗證
- 重複 $k$ 次,取平均誤差
可緩解單次留出(holdout)會過度縮減訓練集的問題。
正則化#
正則化(regularization):在高維資料估計或預測問題中,藉由降低模型複雜度來減少統計變異。
監督式學習演算法#
懲罰式迴歸與 LASSO#
LASSO(least absolute shrinkage and selection operator):在迴歸的損失函數中加入係數絕對值之和的懲罰項:
$$ \min \sum_{i=1}^{n} (y_i - \hat{y}i)^2 + \lambda \sum{j=1}^{k} |\hat{b}_j| $$
特徵越多懲罰越重;每個特徵必須有足夠貢獻才能抵消其懲罰。$\lambda$ 為超參數。
支援向量機#
支援向量機(support vector machine, SVM):分類器,尋找以**最大邊距(margin)**分離兩類資料點的最佳超平面。常用於二元分類。
K-近鄰#
K-近鄰(K-nearest neighbor, KNN):在現有資料集中,找出新觀察值的 $k$ 個最近鄰,依其多數類別進行分類。
分類與迴歸樹#
**分類與迴歸樹(classification and regression tree, CART)**可同時處理分類與迴歸:
- 結構:根節點(root node) + 決策節點(decision nodes) + 終端節點(terminal nodes)
- 每個決策節點代表單一特徵 $f$ 與切點 $c$
- 演算法迭代地將資料分割為子群,直到產生帶有預測標籤的終端節點
集成學習與隨機森林#
- 集成學習(ensemble learning):結合多個模型的預測,通常比任一單一模型更準確、更穩定
- 隨機森林(random forest):由多棵不同決策樹組成(透過 bagging 或隨機減少訓練特徵)
非監督式學習演算法#
主成分分析#
主成分分析(principal components analysis, PCA):將高度相關的特徵轉換為較少的不相關複合變數。
- 從特徵共變異數矩陣產生特徵向量(eigenvectors)——即主成分
- 與特徵值(eigenvalues)——表示每個主成分解釋的總變異比例
K-Means 群集#
K-Means:將觀察值劃分為 $k$ 個不重疊的群集,每個群集以其**質心(centroid)**為代表;每個觀察值歸屬於距其質心最近的群集。
階層式群集#
階層式群集(hierarchical clustering):建構群集的階層結構。兩種主要策略:
- 聚合式(agglomerative, bottom-up):每個觀察值起初為獨立群集 → 合併最近的兩個群集 → 重複直到全部合併
- 分裂式(divisive, top-down):所有觀察值起初為單一群集 → 分割為兩個 → 重複直到每群只剩單一觀察值
神經網路與深度學習#
神經網路結構#
**神經網路(neural networks)**由節點(nodes)與連結(links)組成,包含三類層:
- 輸入層(input layer)
- 隱藏層(hidden layers):學習發生的地方;每個節點包含一個加總運算子與一個激勵函數(activation function)
- 輸出層(output layer)
神經網路特別擅長處理非線性關係與特徵間複雜交互。
深度神經網路#
深度神經網路(deep neural networks, DNNs):含許多隱藏層(至少 2 層,常超過 20 層)。為近年人工智慧革命的核心。
選擇 ML 演算法#
依目標性質選擇:
flowchart TD
A[有標註資料?] -->|有| B[監督式學習]
A -->|無| C[非監督式學習]
B --> D{目標變數}
D -->|連續| E[迴歸<br/>LASSO, CART 迴歸樹]
D -->|類別| F[分類<br/>SVM, KNN, CART, 隨機森林]
C --> G{任務}
G -->|降維| H[PCA]
G -->|群集| I[K-Means<br/>階層式群集]
B --> J[複雜非線性?]
J -->|是| K[神經網路<br/>深度學習]本章重點回顧#
- 機器學習自資料中學習結構,分為監督式、非監督式、深度學習與強化學習
- 監督式學習依目標連續或類別細分為迴歸與分類;非監督式主要處理降維與群集
- 樣本外誤差 = 偏誤 + 變異 + 基底;泛化能力反映模型對新資料的預測力
- 過度配適是泛化失敗的主因;k 折交叉驗證與正則化是常見對策
- LASSO 透過絕對值懲罰實現變數選擇;SVM 找最大邊距超平面分類;KNN 以鄰居相似度分類
- CART 可處理分類與迴歸;隨機森林是基於 CART 的集成學習方法
- PCA 將相關特徵轉為不相關主成分;K-Means 與階層式群集是兩大群集方法
- 神經網路擅長處理非線性與複雜交互;深度神經網路含許多隱藏層,是現代 AI 的核心
- 強化學習透過代理人與環境互動,最大化長期報酬