Câu trả lời:
KNN là một thuật toán phân biệt vì nó mô hình xác suất có điều kiện của một mẫu thuộc về một lớp nhất định. Để thấy điều này, chỉ cần xem xét cách người ta đi đến quy tắc quyết định của kNNs.
Một nhãn lớp tương ứng với một tập hợp các điểm thuộc một số khu vực trong không gian đặc trưng . Nếu bạn vẽ điểm mẫu từ phân phối xác suất thực tế, p ( x ) , một cách độc lập, sau đó khả năng vẽ một mẫu từ lớp có nghĩa là, P = ∫ R p ( x ) d x
Nếu bạn có điểm thì sao? Xác suất để các điểm K của các điểm N đó rơi vào vùng R tuân theo phân phối nhị thức, P r o b ( K ) = ( N
Như phân phối này đang lên đến đỉnh điểm mạnh, do đó xác suất có thể được xấp xỉ bằng giá trị trung bình của nó K . Một xấp xỉ bổ sung là phân phối xác suất trênRkhông đổi, do đó người ta có thể tính gần đúng tích phân bằng, P=∫Rp(x)dx≈p(x)V trong đóVlà tổng thể tích của vùng. Dưới đây xấp xỉp(x)≈K
Bây giờ, nếu chúng ta có một vài lớp, chúng ta có thể lặp lại phân tích tương tự cho từng lớp, điều này sẽ cho chúng ta, trong đóKklà số điểm từ lớpknằm trong vùng đó vàNklà tổng số điểm thuộc lớpCk. Thông báoΣkNk=N.
Lặp lại phân tích với phân phối nhị thức, dễ dàng thấy rằng chúng ta có thể ước tính .
Sử dụng quy tắc Bayes,
Trả lời bởi @jpmuc dường như không chính xác. Các mô hình tạo mô hình phân phối cơ bản P (x / Ci) và sau đó sử dụng định lý Bayes để tìm xác suất sau. Đó chính xác là những gì đã được thể hiện trong câu trả lời đó và sau đó kết luận hoàn toàn ngược lại. : O
Để KNN là một mô hình tổng quát, chúng ta sẽ có thể tạo dữ liệu tổng hợp. Có vẻ như điều này là có thể một khi chúng ta có một số dữ liệu đào tạo ban đầu. Nhưng bắt đầu từ không có dữ liệu đào tạo và tạo dữ liệu tổng hợp là không thể. Vì vậy, KNN không phù hợp độc đáo với các mô hình thế hệ.
Người ta có thể lập luận rằng KNN là một mô hình phân biệt đối xử vì chúng ta có thể vẽ ranh giới phân biệt để phân loại hoặc chúng ta có thể tính P sau (Ci / x). Nhưng tất cả những điều này là đúng trong trường hợp của các mô hình thế hệ là tốt. Một mô hình phân biệt đối xử thực sự không nói gì về phân phối cơ bản. Nhưng trong trường hợp KNN, chúng tôi biết rất nhiều về phân phối cơ bản, vì chúng tôi đang lưu trữ toàn bộ tập huấn luyện.
Vì vậy, có vẻ như KNN là giữa các mô hình thế hệ và phân biệt đối xử. Có lẽ đó là lý do tại sao KNN không được phân loại theo bất kỳ mô hình khái quát hoặc phân biệt đối xử nào trong các bài báo có uy tín. Chúng ta hãy gọi chúng là các mô hình phi tham số.
Tôi đã đi qua một cuốn sách mà nói điều ngược lại ( tức là một Generative không giới Phân Model)
Đây là liên kết trực tuyến: Machine Learning Một quan điểm xác suất của Murphy, Kevin P. (2012)
Tôi đồng ý rằng kNN là phân biệt đối xử. Lý do là nó không lưu trữ hoặc cố gắng học một mô hình (xác suất) rõ ràng để giải thích dữ liệu (trái ngược với, ví dụ Naive Bayes).
Câu trả lời của juampa làm tôi bối rối vì theo cách hiểu của tôi, một bộ phân loại thế hệ là một cách cố gắng giải thích cách tạo ra dữ liệu (ví dụ như sử dụng một mô hình) và câu trả lời đó nói rằng đó là phân biệt đối xử vì lý do này ...