KNN có phải là một thuật toán học phân biệt đối xử?


16

Có vẻ như KNN là một thuật toán học phân biệt đối xử nhưng tôi dường như không thể tìm thấy bất kỳ nguồn trực tuyến nào xác nhận điều này.

KNN có phải là một thuật toán học phân biệt đối xử?

Câu trả lời:


18

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 xRp(x)

P= =Rp(x)dx

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 ) = ( NNKNR

Prob(K)= =(NK)PK(1-P)N-K

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ó KN . 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)dxp(x)V trong đóVlà tổng thể tích của vùng. Dưới đây xấp xỉp(x)KKNR

P= =Rp(x)dxp(x)V
V .p(x)KNV

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.

p(x|Ck)=KkNkV
KkkNkCkkNk=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 .P(Ck)= =NkN

Sử dụng quy tắc Bayes,

P(Ck|x)= =p(x|Ck)p(Ck)p(x)= =KkK

2
Tài liệu tham khảo không bao gồm bất kỳ thông tin nào về KNN. Có đúng không?
bayerj

1
Tôi có nghĩa là nó để làm sáng tỏ những gì được hiểu cho một thuật toán phân biệt đối xử so với một khái quát.
jpmuc

5

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 không đồng ý. "Các trình phân loại tạo ra tìm hiểu một mô hình xác suất chung, p (x, y), của đầu vào x và nhãn y và đưa ra dự đoán của chúng bằng cách sử dụng quy tắc Bayes để tính p (ylx), sau đó chọn nhãn có khả năng nhất là y . Phân loại phân biệt đối xử trực tiếp mô hình p sau (ylx) hoặc tìm hiểu bản đồ trực tiếp từ đầu vào x đến nhãn lớp ". Xem "Về phân loại phân biệt so với phân loại sáng tạo: So sánh hồi quy logistic và Bayes ngây thơ.
jpmuc


1

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 ...


1
Một mô hình thế hệ học P (Ck, X), vì vậy bạn có thể tạo thêm dữ liệu bằng cách sử dụng phân phối chung đó. Ngược lại, một mô hình phân biệt sẽ học P (Ck | X). Đây là những gì @juampa đang chỉ vào với KNN.
Zhubarb

1
Tại thời điểm phân loại, cả hai khái quát và phân biệt đối xử kết thúc bằng cách sử dụng xác suất có điều kiện để đưa ra dự đoán. Tuy nhiên, các phân loại tổng quát học xác suất chung và theo quy tắc Bayes, nó tính toán điều kiện, trong khi phân biệt đối xử, một phân loại hoặc tính trực tiếp điều kiện, hoặc cung cấp một xấp xỉ cho điều đó tốt nhất có thể.
rapaio
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.