ML基礎全景指南:從 Scikit-Learn 演算法地圖到四大實戰任務

ML基礎全景指南:從 Scikit-Learn 演算法地圖到四大實戰任務

這是一份專為初學者設計的機器學習全景地圖。我們將從 AI/ML/DL 的核心架構出發,跟著 Scikit-Learn 官方地圖,一站式走完分類、回歸、分群與降維這四大核心實戰任務。


這篇文章是「機器學習基礎」系列的一部份。我們不只會弄清楚 AI、ML、DL 之間的關係,更會跟著 Scikit-Learn 官方地圖,實戰演練地圖上的四大核心路徑。這是一份讓你從「拿到資料」到「選對武器」的實戰導航指南。


第一站:定位空間 — AI、ML、DL 是三層包含關係

在進入地圖之前,先搞清楚這三個詞的階層關係。它們不是並列的技術,而是層層包含

  • AI(人工智慧):最外層,泛指所有讓機器展現智慧行為的方法。
  • ML(機器學習):AI 的子集,核心是「讓機器從資料中自己找規律」。
  • DL(深度學習):ML 的子集,特指使用「多層神經網路」的技術。
AI、ML、DL 包含關係
點擊放大

第二站:航海圖 — Scikit-Learn 演算法選擇地圖

面對資料,到底該選哪個演算法?Scikit-Learn 官方為我們畫好了這張決策流程圖。從 Start 開始,根據你的資料量、是否有標籤、目標是數值還是類別,地圖會引導你走向正確的武器庫。

Scikit-Learn 演算法地圖
點擊放大

(來源:Scikit-Learn 官方文件)

接下來,我們將實際踏上地圖上的四條主要航線。


第三站:四大實戰任務探險

左上流程:分類任務 (Classification) — 畫出完美的邊界

分類問題的核心就是 「畫線」 。我們以「廣告投放預測」為例,觀察演算法如何從「剛直」進化到「優雅」。

分類器決策邊界比較
點擊放大
  • 圖表說明:
    1. Linear SVC (左圖):試圖在兩群人之間畫出一條「絕對直線」。當資料分佈呈彎曲狀時,直線會顯得力不從心。
    2. KNN (中圖):邊界隨鄰居而變,雖然能適應非線性,但邊界較為破碎,容易受異常值影響。
    3. RBF SVC (右圖):透過核函數在高維空間切出一刀,在 2D 平面呈現出優雅的曲線,最能精準包覆資料分佈。

模型評估:準確率與特徵對比

演算法準確率 (Accuracy)決策邊界特徵適合場景
Linear SVC90%絕對直線線性可分的資料
KNN93%破碎、動態曲線局部聚類明顯的資料
RBF SVC93%平滑、精準曲線複雜分佈的非線性資料

深度評估:除了 Accuracy,你還該看什麼?

當你的資料出現「類別不平衡」(例如:100 個人中只有 1 個是壞人)時,只看 Accuracy 會讓你產生誤判。建議搭配以下指標:

  1. 精確率 (Precision):在所有「預測為買家」的人中,有多少人是真的買家?(追求精準,不想亂投廣告)。
  2. 召回率 (Recall):在所有「真正買家」的人中,你成功抓到了多少人?(不想漏掉潛在客戶)。
  3. F1-Score:Precision 與 Recall 的綜合指標,適合用來判斷模型的穩定性。
  4. 混淆矩陣 (Confusion Matrix):最直觀的工具,讓你一眼看出模型是把「買家錯認成路人」,還是「路人錯認成買家」。

核心心法:偏差 (Bias) 與 方差 (Variance) 的權衡

在調整分類器時,你其實是在進行一場「平衡遊戲」:

  • 高偏差 (High Bias / 欠擬合):模型太笨、太簡單。就像 Linear SVC 面對複雜資料時,不管你怎麼教,它都堅持畫直線,導致兩邊都分不準。
  • 高方差 (High Variance / 過擬合):模型太聰明、太敏感。就像 KNN (K值過小),它會過度學習資料中的噪音,導致在訓練集很準,但遇到新資料就掛掉。
  • 最佳狀態:像 RBF SVC 或適度調整後的模型,既能捕捉大趨勢,又不會被小細節帶偏。

右上流程:回歸任務 (Regression) — 預測未來的數值

回歸的核心在於捕捉資料的真實趨勢。當我們面對具有「地理資訊」的複雜資料時,線性模型往往會撞牆。

  • 案例:加州房價預測(經緯度對房價的非線性影響)。
  • 武器演進
    1. Ridge Regression:只能抓大方向,無法理解經緯度的空間意義。
    2. SVR (RBF Kernel):成功理解空間關係,表現大幅提升。
    3. Random Forest:透過森林的力量精準捕捉複雜的非線性。
演算法R2 Score (越高越好)表現說明
Ridge Regression0.6289被地理特徵卡死,只能抓大方向。
SVR (RBF Kernel)0.7320成功理解空間關係。
Random Forest0.7444複雜的非線性。
Random Forest 預測分佈圖
點擊放大

模型評估:R2 之外,你還能看什麼?

回歸問題的目標是「預測值與真實值的差距越小越好」,常見指標包括:

  1. MAE (平均絕對誤差):預測房價與實際房價平均差了多少錢?(最直觀)。
  2. MSE (均方誤差):將誤差平方後取平均。它會放大極端錯誤,適合用來懲罰「預測錯得太離譜」的情況。
  3. RMSE (均方根誤差):MSE 的平方根。讓單位的量級回到與原始數據一致,實務上最常用。

核心心法:回歸中的 Overfitting vs Underfitting

  • Underfitting (高偏差):就像 Ridge 回歸,它強行用一塊「平板」去蓋住崎嶇的地圖,導致它無法抓到舊金山或洛杉磯的高房價熱點。
  • Overfitting (高方差):如果 隨機森林 的樹長得太深,它可能會記住每一間房子的特殊情況(例如某間房子的馬桶是金做的),導致遇到一般的房子反而預測不準。
  • 關鍵策略:在回歸任務中,我們通常透過「正規化 (Regularization)」或「限制樹的深度」來在偏差與方差之間尋找平衡。

左下流程:分群任務 (Clustering) — 挖掘數據的隱藏分佈

沒有標籤時,我們怎麼分類?關鍵在於 「對資料形狀的假設」

  • 案例:長條型 (Anisotropic) 資料的挑戰 在現實世界,數據不總是圓圓的。有些客戶的消費行為可能是從「高頻低額」到「低頻高額」的長條狀分佈。這種 非等向性 (Anisotropic) 的資料是 KMeans 的噩夢。

  • 武器演進:

    1. KMeans:它假設群組是「圓形」的。面對長條形資料,它會像切西瓜一樣把長條硬生生切斷成幾塊圓形區域,導致錯誤分群(FAIL)。
    2. GMM (Gaussian Mixture):地圖建議的 「Try Next」。它不只看距離,還看 協方差 (Covariance),允許群組變成 「橢圓形」 ,能完美捕捉資料的傾斜角度與延展性(SUCCESS)。
  • 為什麼不看數據(指標),要看圖表? 這是一個關鍵陷阱。常用的評估指標如 輪廓係數 (Silhouette Score),其計算邏輯本質上就偏好「圓形且緊湊」的分群。

    • 在面對長條型資料時,KMeans 的得分甚至可能比 GMM 還高。
    • 但從圖表看,KMeans 明顯切斷了資料的連續性。這告訴我們:在非監督式學習中,「視覺化驗證」往往比指標數字更能反映資料的真實邏輯
Clustering Comparison
點擊放大

模型評估:如何判斷分群好壞?

非監督式學習沒有標準答案,但我們可以參考這幾個指標:

  1. Silhouette Score (輪廓係數):衡量群組內的緊密程度與群組間的距離,越接近 1 越好(但小心長條型資料的陷阱)。
  2. Inertia (凝聚度):群組內的點到中心點的距離總和。這是 手肘法 (Elbow Method) 的依據,當 K 值增加到某一點後,Inertia 的下降速度會趨緩,那個點就是建議的 K。
  3. Davies-Bouldin Index:衡量群組間的「重疊度」,數值越小代表群組分得越開。

核心心法:從硬性到軟性的分群邏輯

  • Hard Clustering (硬性分群):像 KMeans,一個點要麼屬於 A 類,要麼屬於 B 類,沒有中間地帶。這在處理邊界模糊的資料時容易出錯。
  • Soft Clustering (軟性/機率分群):像 GMM,它會告訴你:「這個點有 80% 的機率是 A,20% 的機率是 B」。這種「機率概念」讓它在面對重疊或複雜分佈時更具韌性。
  • K 值焦慮:如果你不知道要分幾群,地圖建議嘗試 MeanShift(自動偵測密度中心)或使用手肘法進行系統性試驗。

右下流程:降維任務 (Dimensionality Reduction) — 高維空間的顯微鏡

當數據維度超過三維,人類就不容易理解。降維是為了「提煉精華、去除噪音」。

  • 案例:將 64 維的手寫數字 (Digits) 壓縮到 2 維平面。
  • 武器演進
    1. PCA (線性):速度極快,但在 2D 上不同數字的重疊還是很多。
    2. IsoMap (非線性):擅長處理「流形學習」,能將彎曲的高維空間攤平,讓不同類別邊界更清晰。
Dimensionality Reduction Comparison
點擊放大

模型評估:雖然沒有分數,但有「資訊保留度」

降維不是為了分類,而是為了「壓縮」,所以我們看的是:

  1. Explained Variance Ratio (解釋變異比):在 PCA 中最常用。它告訴你:「雖然維度變少了,但我們還保留了原始資料中百分之幾的資訊?」
  2. 重建誤差 (Reconstruction Error):衡量將降維後的資料「還原」回高維空間時,損失了多少細節。
  3. 下游任務表現:如果降維後,後續的分類或回歸速度變快且準確率沒掉,那就是成功的降維。

核心心法:為何非降維不可?

  • 維度陷阱 (Curse of Dimensionality):當資料維度越高,資料點之間的「距離」會變得越來越沒意義(大家都變得很遠)。這會導致像 KNN 或 KMeans 這種依賴距離的演算法失效。
  • 線性 (PCA) vs 非線性 (IsoMap/t-SNE)
    • 如果資料像一張平直的紙,用 PCA 直接投影最快。
    • 如果資料像捲起來的瑞士捲,你需要 IsoMap 這種能「攤平」空間的演算法,才能看清內部的結構。

補充:針對其他任務設計的流程

在地圖中,除了上述四大任務的主流流程外進行補充:

1. SGD (隨機梯度下降) — 大數據的救星

  • 應用場景:當資料量大到幾十萬、上百萬筆,記憶體塞不下時(大於 100K 樣本)。
  • 優勢:速度極快且支援「在線學習」,模型可以隨著新資料流入而不斷更新。在分類 (SGD Classifier) 與回歸 (SGD Regressor) 都有它的身影。

2. LASSO 回歸 (L1 正則化) — 自動特徵選取

  • 應用場景:當特徵成千上萬,而你只想找出最有影響力的幾個時。
  • 優勢:它能將無關特徵的係數壓縮為 0,達到「去蕪存菁」的效果。

3. Naive Bayes (貝氏分類器) — 文字處理的主場

  • 應用場景:垃圾郵件過濾、情感分析。
  • 優勢:基於機率運算,速度極快且在高維度的文字資料下表現驚人。

總結:你的實戰 SOP 建議

走完這四條航線,我們可以總結出一套實務上的決策流程:

  1. 先定位,再選圖:確認你的資料量(>50 筆)與是否有標籤。
  2. 從 Baseline 開始
    • 分類:先試 Linear SVC
    • 回歸:先試 Ridge
    • 分群:先試 KMeans
    • 降維:先試 PCA
  3. 觀察結果,跟隨地圖轉向:如果 Baseline 表現不佳(例如分類線太硬、分群太生硬),請毫不猶豫地跟隨地圖上的 「Try Next」 箭頭,轉向 RBF KernelGMMIsoMap
  4. 數據決定上限,模型決定下限:良好的特徵工程永遠比模型選擇更重要,但選對模型能讓你更接近那個上限。