Machine Learning 機器學習筆記

2024-06-14

紀錄關於機器學習相關知識點。

logo

說明

機器學習與統計關係密不可分,統計學提供了機器學習所需的理論基礎和數學工具,達到理解資料、建立模型與預測的目標。

  • 藉由主成分分析, PCA、因子分析和特徵工程等進行資料預處理和特徵選擇
  • 抽樣資料來建構模型
  • 藉由機率、交叉驗證、假設檢驗和信賴區間來進行模型評估、評估模型效能與結果解釋

學習的範疇

迴歸, Regression

目標:預測連續數值輸出。
常見應用:房價預測、股票價格預測、銷售量預測等。

  • 線性迴歸, Linear Regression
  • 單變量線性迴歸
  • 多變量線性迴歸
  • 最小平方法, Least Squares Method

正則化技術, Regularization Techniques

防止過擬合、提高模型泛化能力和處理多重共線性等重要用途。這些技術通過在回歸目標中加入懲罰項來有效縮小回歸係數。

過擬合(Overfitting):指模型在訓練數據上表現非常好,但在測試數據或新數據上表現不佳。這通常是因為型過於複雜,具有過多的參數、訓練數據量不足、訓練數據包含大量噪聲以至於捕捉到了訓練數據中的噪聲和細節,從而失去了對新數據的泛化能力。原因:模。

多重共線性(Multicollinearity):指回歸分析中,解釋變數(自變量)之間存在高度相關性,這會導致迴歸係數的不穩定和解釋性差。

  • 嶺迴歸, Ridge Regression
  • Lasso Regression
  • Elastic Net
  • Support Vector Regression, SVR
  • Gaussian Process Regression

評估指標:
平均絕對誤差, MAE, 預測值與實際值之間絕對誤差的平均值, 數值越小越好
均方誤差, MSE, 預測值與實際值之間誤差平方和的平均值, 數值越小越好
均方根誤差, RMSE, RMSE 是 MSE 的平方根, 數值越小越好
決定係數, R²: R² 值介於 0 和 1 之間,越接近 1 表示模型對數據的擬合度越好。

在大多數情況下,RMSE 是一個良好的選擇,因為它兼顧了對大誤差的敏感性和便於解釋的特點。然而在特定應用中,MAE 適合需要均衡考慮所有誤差且對異常值影響較小的情況,適用於需要簡單且易於解釋的場景;MSE 適合在訓練模型時用來最小化大誤差,特別是在模型對大誤差特別敏感的情況下使用。

分類, Classification

目標:預測類別資料, 離散。
常見應用:垃圾郵件檢測、圖像分類、疾病診斷等。

模型:
K-Nearest Neighbors, KNN
決策樹, Decision Trees
支持向量機, Support Vector Machines, SVM
邏輯迴歸, Logistic Regression
樸素貝葉斯分類, Naive Bayes Classification

集成學習, Ensemble Learning, 組合多種學習算法來獲得比單獨使用任何一種算法更好的預測性能:

  • 隨機森林, Random Forest
  • 梯度提升機, Gradient Boosting Machine, GBM
  • 極限梯度提升, XGBoost

神經網絡, Neural Networks:

  • 多層感知器, Multilayer Perceptron, MLP
  • 卷積神經網絡, Convolutional Neural Networks, CNN

評估指標:
準確率, Accuracy
精確率, Precision
召回率, Recall
F1分數, F1 Score
ROC曲線和AUC, ROC Curve and AUC

降維, Dimensionality Reduction

目標:減少特徵數量,同時保留數據的重要信息。
常見應用:資料視覺化、特徵選擇、噪聲過濾等。

線性降維

主成分分析, Principal Component Analysis, PCA:

  • 理解協方差矩陣
  • 特徵值和特徵向量
  • 解釋方差

線性判別分析, Linear Discriminant Analysis, LDA:

  • 區別於PCA的目標, 最大化類別間的區分
  • 理解類內和類間散佈矩陣
  • 其他技術:

隨機投影 (Random Projection)
奇異值分解 (Singular Value Decomposition, SVD)

非線性降維
t-分佈隨機鄰嵌, t-Distributed Stochastic Neighbor Embedding, t-SNE
自編碼器, Autoencoders

分群, Clustering

基本概念:

目標:將數據點分組為數個類別,每個類別的數據點在某種意義上是相似的。
常見應用:顧客分群、市場細分、圖像分割等。

  • K均值分群, K-Means Clustering
  • 層次分群, Hierarchical Clustering
  • 均值漂移, Mean Shift
  • DBSCAN, Density-Based Spatial Clustering of Applications with Noise

模型評估:
簇內距離和簇間距離
評估指標如輪廓係數, Silhouette Coefficient、鄰近誤差, Dunn Index
分群算法的選擇:
根據數據特性選擇合適的算法,如數據的形狀、密度、尺寸等

由淺入深

機器學習是第一步,深度學習是機器學習的子領域,Transformer 又是深度學習的子領域,LLM 則建構在 Transformer 上。