3.5 So sánh Hồi quy tuyến tính với K-Nearest Neighbors

Bài giảng từ ISLP (James, Witten, Hastie, Tibshirani, 2023) — §3.5, tr. 114–122

Mở đầu: Hai triết lý mô hình hóa

Trong các phần trước, chúng ta đã làm quen với hồi quy tuyến tính — một phương pháp tham số (parametric). Nhưng còn một cách tiếp cận hoàn toàn khác: K-Nearest Neighbors (KNN) — một phương pháp phi tham số (non-parametric). Hai cách tiếp cận này đại diện cho hai triết lý mô hình hóa đối lập nhau trong thống kê học.

開場:兩種建模哲學

在前幾節我們學習了線性迴歸——一種參數方法。但還有一種完全不同的方法:K-近鄰(KNN)——一種非參數方法。這兩種方法代表了統計學習中兩種對立的建模哲學。

1. Phương pháp tham số vs Phi tham số / 參數方法 vs 非參數方法

Phương pháp tham số (Parametric):

  • Giả định một dạng hàm cụ thể cho f (ví dụ: tuyến tính).
  • Ví dụ: Hồi quy tuyến tính giả định f(X) = β₀ + β₁X₁ + … + βₚXₚ.
  • Ưu điểm: Đơn giản, ít dữ liệu cần thiết, dễ diễn giải.
  • Nhược điểm: Nếu giả định sai → mô hình sai nghiêm trọng.

Phương pháp phi tham số (Non-parametric):

  • Không giả định dạng hàm cụ thể — để dữ liệu tự nói.
  • Ví dụ: KNN ước lượng f(x₀) bằng trung bình của K điểm dữ liệu gần nhất.
  • Ưu điểm: Linh hoạt, có thể khớp nhiều dạng hàm phức tạp.
  • Nhược điểm: Cần nhiều dữ liệu hơn, dễ overfit nếu K quá nhỏ.

參數方法:

  • 假設 f 具有特定的函數形式(例如:線性)。
  • 例如:線性迴歸假設 f(X) = β₀ + β₁X₁ + … + βₚXₚ
  • 優點:簡單、所需數據少、易於解釋。
  • 缺點:若假設錯誤 → 模型嚴重失準。

非參數方法:

  • 不假設特定函數形式——讓數據自己說話。
  • 例如:KNN 用最接近的 K 個數據點的平均值來估計 f(x₀)
  • 優點:靈活,能擬合多種複雜的函數形式。
  • 缺點:需要更多數據,若 K 太小容易過擬合。

2. K-Nearest Neighbors hoạt động như thế nào?

Với một điểm dự báo x₀, KNN tìm K điểm huấn luyện gần nhất (theo khoảng cách Euclidean) và lấy trung bình giá trị Y của chúng:

對於一個預測點 x₀,KNN 找出 K 個最近的訓練點(按歐氏距離),並取它們 Y 值的平均:

f̂(x₀) = (1/K) · Σi∈𝒩₀ yi

Trong đó 𝒩₀ là tập K điểm huấn luyện gần x₀ nhất.

Điểm mấu chốt: KNN không có «giai đoạn huấn luyện» thực sự — nó chỉ ghi nhớ toàn bộ tập dữ liệu. Mọi tính toán đều diễn ra tại thời điểm dự báo. Vì vậy KNN còn được gọi là phương pháp lazy learning.

其中 𝒩₀ 是最接近 x₀K 個訓練點的集合。

關鍵點:KNN 沒有真正的「訓練階段」——它只是記住整個數據集。所有計算都在預測時進行。因此 KNN 也被稱為 懶惰學習 方法。

3. So sánh trên dữ liệu tuyến tính / 在線性數據上的比較

Khi mối quan hệ thực sự giữa XY gần tuyến tính:

  • Hồi quy tuyến tính vượt trội hơn — nó tận dụng đúng giả định về cấu trúc.
  • KNN với K lớn (ví dụ K=10) hoạt động khá, nhưng vẫn thua hồi quy tuyến tính vì nó không tận dụng được cấu trúc tuyến tính.
  • KNN với K nhỏ (ví dụ K=1) overfit dữ dội — sai số kiểm tra rất cao.

Bài học: Khi dữ liệu có cấu trúc đơn giản, mô hình đơn giản hơn thường chiến thắng. Thêm độ phức tạp không cần thiết chỉ làm tăng phương sai.

XY 之間的真實關係接近線性時:

  • 線性迴歸表現最佳——它充分利用了對結構的正確假設。
  • K 較大的 KNN(例如 K=10)表現尚可,但仍不如線性迴歸,因為它無法利用線性結構。
  • K 較小的 KNN(例如 K=1)嚴重過擬合——測試誤差非常高。

啟示:當數據結構簡單時,簡單的模型通常勝出。不必要的複雜度只會增加方差。

4. So sánh trên dữ liệu phi tuyến / 在非線性數據上的比較

Khi mối quan hệ thực sự phi tuyến mạnh:

  • Hồi quy tuyến tính thất bại — nó buộc một đường thẳng vào dữ liệu cong, dẫn đến thiên lệch (bias) cao.
  • KNN với K nhỏ (ví dụ K=1 hoặc K=3) khớp rất tốt với dữ liệu cong, nhưng vẫn có thể overfit nếu dữ liệu nhiễu.
  • KNN với K vừa phải (K=5~10) thường cho kết quả tốt nhất — cân bằng giữa thiên lệch và phương sai.

Bài học: Khi dữ liệu phức tạp, mô hình linh hoạt hơn có lợi thế. Nhưng vẫn cần chọn K phù hợp để tránh overfit.

當真實關係高度非線性時:

  • 線性迴歸失敗——它強行用直線擬合彎曲的數據,導致高偏差
  • K 較小的 KNN(例如 K=1 或 K=3)能很好地擬合彎曲數據,但若數據有雜訊仍可能過擬合。
  • K 適中的 KNN(K=5~10)通常表現最佳——在偏差和方差之間取得平衡。

啟示:當數據複雜時,更靈活的模型有優勢。但仍需選擇合適的 K 以避免過擬合。

5. Đánh đổi Thiên lệch–Phương sai / 偏差-方差權衡

Đây là khái niệm quan trọng nhất của toàn bộ chương:

Mô hìnhThiên lệch (Bias)Phương sai (Variance)Tính diễn giải
Hồi quy tuyến tínhCao nếu dữ liệu phi tuyếnThấpRất cao
KNN (K lớn)Cao (làm mịn quá mức)ThấpTrung bình
KNN (K nhỏ)ThấpCao (overfit)Thấp

Nguyên tắc vàng: Không có mô hình nào luôn tốt nhất. Lựa chọn phụ thuộc vào:

  1. Bản chất của dữ liệu — tuyến tính hay phi tuyến?
  2. Mục tiêu — dự báo chính xác hay diễn giải?
  3. Số lượng biến số p — KNN gặp «lời nguyền chiều» (curse of dimensionality).

這是整章最重要的概念:

模型偏差方差可解釋性
線性迴歸若數據非線性則高非常高
KNN(K 大)高(過度平滑)中等
KNN(K 小)高(過擬合)

黃金原則:沒有永遠最好的模型。選擇取決於:

  1. 數據的性質——線性還是非線性?
  2. 目標——精確預測還是可解釋性?
  3. 變數數量 p——KNN 遭遇「維度災難」。

6. Lời nguyền chiều (Curse of Dimensionality) / 維度災難

KNN hoạt động tốt khi số biến dự báo p nhỏ (1–4). Nhưng khi p tăng lên, KNN gặp vấn đề nghiêm trọng:

  • Khoảng cách mất ý nghĩa: Trong không gian nhiều chiều, mọi điểm đều trở nên «xa» như nhau — khái niệm «hàng xóm gần nhất» trở nên vô nghĩa.
  • Dữ liệu thưa thớt: Để duy trì cùng mật độ dữ liệu, số lượng điểm cần tăng theo cấp số mũ với p.
  • Hồi quy tuyến tính không bị ảnh hưởng: Vì nó dùng cấu trúc tham số, số biến tăng chỉ làm tăng số hệ số cần ước lượng một cách tuyến tính, không phải cấp số mũ.
⚠️ Cảnh báo thực tế: Với p=20 biến, KNN hầu như luôn thua kém hồi quy tuyến tính, ngay cả khi dữ liệu phi tuyến — trừ khi bạn có một lượng dữ liệu khổng lồ.

當預測變數數量 p 較少(1–4)時,KNN 表現良好。但當 p 增加時,KNN 遭遇嚴重問題:

  • 距離失去意義:在高維空間中,所有點都變得同樣「遙遠」——「最近鄰居」的概念變得毫無意義。
  • 數據稀疏:要保持相同的數據密度,所需的點數必須隨 p 呈指數增長。
  • 線性迴歸不受影響:因為它使用參數結構,變數增加只會線性增加需要估計的係數數量,而非指數級。
⚠️ 實務警告:p=20 個變數時,KNN 幾乎總是輸給線性迴歸,即使數據是非線性的——除非你擁有海量數據。

7. Tóm tắt & Khuyến nghị thực tế / 總結與實務建議

  1. Bắt đầu với hồi quy tuyến tính — nó đơn giản, nhanh, dễ diễn giải. Nếu nó hoạt động tốt, đừng phức tạp hóa.
  2. Nếu dữ liệu rõ ràng phi tuyến + p nhỏ: Thử KNN với K=1,3,5,10 và chọn K tốt nhất qua cross-validation.
  3. Nếu p lớn (>10): Hồi quy tuyến tính (hoặc phiên bản chính quy hóa như Ridge/Lasso ở Chương 6) hầu như luôn tốt hơn KNN.
  4. Luôn dùng tập kiểm tra riêng để so sánh các mô hình một cách công bằng.
  1. 從線性迴歸開始——它簡單、快速、易於解釋。如果它表現良好,不要複雜化。
  2. 若數據明顯非線性 + p 小:嘗試 KNN,K=1,3,5,10,通過交叉驗證選擇最佳 K。
  3. 若 p 大(>10):線性迴歸(或第 6 章的正則化版本如 Ridge/Lasso)幾乎總是優於 KNN。
  4. 始終使用獨立的測試集來公平比較各模型。