Tại sao KNN không phải là mô hình dựa trên mô hình?


10

ESL chương 2.4 dường như để phân loại hồi quy tuyến tính là "dựa trên mô hình", bởi vì nó giả định , trong khi không có xấp xỉ tương tự được ghi cho k-khu vực gần xóm. Nhưng cả hai phương pháp đều không đưa ra giả định về f ( x ) ?f(x)xβf(x)

Sau này trong 2.4 nó thậm chí còn nói:

  • Bình phương tối thiểu giả định gần đúng bằng một hàm tuyến tính toàn cầu.f(x)
  • hàng xóm k gần nhất giả sử gần đúng bằng một hàm hằng số cục bộ.f(x)

Giả định KNN có vẻ như cũng có thể được chính thức hóa (mặc dù không chắc chắn nếu làm như vậy sẽ dẫn đến thuật toán KNN theo cách giả sử là tuyến tính dẫn đến hồi quy tuyến tính).f

Vậy nếu KNN thực sự không dựa trên mô hình, tại sao? Hay tôi đang đọc sai?

Câu trả lời:


9

Thật khó để so sánh trực tiếp kNN và hồi quy tuyến tính vì chúng là những thứ rất khác nhau, tuy nhiên, tôi nghĩ điểm mấu chốt ở đây là sự khác biệt giữa "mô hình hóa " và "có giả định về f ( x ) ".f(x)f(x)

Khi làm hồi quy tuyến tính, một cách cụ thể các mô hình , thường một cái gì đó trong những dòng f ( x ) = w x + ε nơi ε là một thuật ngữ tiếng ồn Gaussian. Bạn có thể hiểu rằng mô hình khả năng tối đa tương đương với mô hình lỗi tổng bình phương tối thiểu.f(x)f(x)= =wx+εε

Mặt khác, KNN, như điểm thứ hai của bạn gợi ý, giả định rằng bạn có thể tính gần đúng chức năng đó bằng một hàm hằng số cục bộ - một số đo khoảng cách giữa các ống , mà không mô hình hóa toàn bộ phân phối.x

Nói cách khác, hồi quy tuyến tính thường sẽ có ý tưởng tốt về giá trị của đối với một số x không nhìn thấy từ chỉ giá trị của x , trong khi kNN sẽ cần một số thông tin khác (ví dụ như hàng xóm k), để đưa ra dự đoán về f ( x ) , vì giá trị của x , và chỉ chính giá trị đó, sẽ không cung cấp bất kỳ thông tin nào, vì không có mô hình nào cho f ( x ) .f(x)xxf(x)xf(x)

EDIT: nhắc lại điều này dưới đây để diễn đạt lại rõ ràng hơn (xem bình luận)

Rõ ràng là cả phương pháp hồi quy tuyến tính và phương pháp lân cận gần nhất đều nhằm mục đích dự đoán giá trị của cho x mới . Bây giờ có hai cách tiếp cận. Hồi quy tuyến tính tiếp tục bằng cách giả sử rằng dữ liệu rơi trên một đường thẳng (cộng với một số nhiễu) và do đó giá trị của y bằng giá trị của f ( x ) nhân với độ dốc của đường. Nói cách khác, biểu thức tuyến tính mô hình hóa dữ liệu dưới dạng một đường thẳng.y= =f(x)xf(x)

Bây giờ các phương thức lân cận gần nhất không quan tâm đến việc dữ liệu trông như thế nào (không mô hình hóa dữ liệu), nghĩa là, họ không quan tâm liệu đó có phải là một dòng, một parabola, một vòng tròn, v.v. f ( x 2 ) sẽ tương tự nhau, nếu x 1x 2 tương tự nhau. Lưu ý rằng giả định này gần như đúng với hầu hết mọi mô hình, bao gồm tất cả các mô hình tôi đã đề cập ở trên. Tuy nhiên, một phương thức NN không thể cho biết giá trị của f ( x ) liên quan đến x như thế nàof(x1)f(x2)x1x2f(x)x (cho dù đó là một dòng, parabola, v.v.), bởi vì nó không có mô hình của mối quan hệ này, nó chỉ giả định rằng nó có thể được xấp xỉ bằng cách nhìn vào các điểm gần.


"Một mô hình cụ thể cho f (x)" Điều này có nghĩa là gì? Dường như người ta có thể chính thức hóa giả định rằng f là hằng số cục bộ. Có phải chỉ là KNN không thể bắt nguồn từ bất kỳ chính thức nào như vậy?
Alec

"hồi quy tuyến tính thường sẽ có ý tưởng tốt về giá trị của f (x) đối với một số unseen x từ chỉ giá trị của x" không chắc chắn điều này có nghĩa là gì ... bạn vẫn cần các tham số của mô hình tuyến tính, chỉ cần vì bạn sẽ cần các tham số cho KNN (mặc dù các tham số của nó có liên quan nhiều hơn)
Alec

Điểm tốt, tôi đã cố gắng chỉnh sửa câu trả lời của mình để làm cho nó rõ ràng hơn và hy vọng trả lời điểm của bạn (giới hạn ký tự cho nhận xét là thấp).
Saulius Lukauskas

+1, điều này được giải thích tốt. 'Sự khác biệt giữa "mô hình hóa f (x)" và "có giả định về f (x)"', nắm bắt ý tưởng rất tốt, IMO. Có lẽ một cách khác để xem xét điều này là xem xét việc mô hình hóa số tiền f (x) để đưa ra các giả định về quy trình tạo dữ liệu , trong khi knn không làm điều này, mà chỉ cho rằng giá trị của một mốc thời gian nhất định có thể tương tự với giá trị của gần đó dữ liệu.
gung - Phục hồi Monica

Hừm, được thôi. Chỉnh sửa của bạn chắc chắn làm cho nó rõ ràng hơn một chút, nhưng tôi vẫn gặp khó khăn khi thực sự nhìn thấy một sự khác biệt chính thức. Dường như bằng cách "mô hình hóa", bạn có nghĩa là "có được một ý tưởng tốt cho hình dạng của f trên toàn cầu", trong khi KNN chỉ quan tâm đến hành vi địa phương. Vì vậy, sự khác biệt này trong toàn cầu so với cục bộ có làm cho mô hình hồi quy tuyến tính và KNN không?
Alec

5

f^(X)= =β^X

X


Mặc dù theo trực giác tôi hiểu ý của bạn là gì, sự khác biệt vẫn khiến tôi cảm thấy run rẩy ... bạn không thể xem KNN như được tham số hóa bởi một phân vùng R ^ d và trọng số được gán cho các phân vùng?
Alec

1
Nếu ai đó yêu cầu bạn biện minh cho dự đoán của mình, bạn có thể làm như vậy nếu bạn sử dụng hồi quy tuyến tính bằng cách giải thích mối quan hệ giữa đầu vào và đầu ra mà mô hình của bạn giả định. Một mô hình cố gắng giải thích các mối quan hệ đầu vào và đầu ra b / w. KNN không cố gắng giải thích mối quan hệ đầu vào và đầu ra của b / w, do đó không có mô hình.
tjnel

3

Thuật ngữ dựa trên mô hình đồng nghĩa với "dựa trên phân phối" khi thảo luận về các phương pháp phân cụm. Hồi quy tuyến tính làm cho các giả định phân phối (rằng các lỗi là Gaussian). KNN không đưa ra bất kỳ giả định phân phối nào. Đó là sự phân biệt.


1
Điều này có ý nghĩa nhất đối với tôi về sự khác biệt chính thức, mặc dù ESL không thực sự trình bày hồi quy tuyến tính theo cách này. Trước tiên, họ đã giới thiệu hàm chi phí lỗi bình phương, loại tùy ý (thay vì thực hiện MLE cho Gaussian), sử dụng nó để thấy rằng chúng ta nên dự đoán f (x) = E (Y | X = x), giải thích cách KNN xấp xỉ điều này theo các giả định nhất định, và sau đó tiếp tục giả sử f là tuyến tính để có hồi quy tuyến tính.
Alec

Đề xuất thú vị, nhưng sẽ tốt hơn nhiều nếu chúng ta có một số tài liệu tham khảo về điều này.
ivanmp
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.