(câu trả lời của hamner là tuyệt vời, vì vậy chỉ cần đăng chéo câu trả lời của tôi từ MetaOptizing để hoàn thiện.)
Tôi nghĩ rằng các thuật toán tổng quát là cung cấp một mô hình về cách dữ liệu thực sự được tạo ra (tôi nghĩ chúng là một mô hình cho cả và , thay vì , mặc dù tôi đoán nó tương đương) và các thuật toán phân biệt đối xử chỉ đơn giản là cung cấp các phân chia phân loại (và không nhất thiết phải theo cách xác suất).P(X|Y)P(Y)P(X,Y)
So sánh, ví dụ, các mô hình hỗn hợp Gaussian và phân cụm k-mean. Trước đây, chúng ta có một mô hình xác suất đẹp về cách tạo điểm (chọn một thành phần với xác suất nào đó, sau đó phát ra một điểm bằng cách lấy mẫu từ phân phối Gaussian của thành phần), nhưng chúng ta không thể nói gì về điểm sau.
Lưu ý rằng các thuật toán tổng quát có các thuộc tính phân biệt, vì bạn có thể nhận được một khi bạn có và (theo Định lý Bayes), mặc dù các thuật toán phân biệt đối xử không thực sự có các đặc tính tổng quát.P(Y|X)P(X|Y)P(Y)
1: Thuật toán phân biệt đối xử cho phép bạn phân loại điểm, mà không cung cấp mô hình về cách các điểm thực sự được tạo. Vì vậy, đây có thể là một trong hai:
- các thuật toán xác suất cố gắng học (ví dụ: hồi quy logistic);P(Y|X)
- hoặc các thuật toán không có xác suất cố gắng tìm hiểu ánh xạ trực tiếp từ các điểm đến các lớp (ví dụ: perceptron và SVM chỉ đơn giản cung cấp cho bạn một siêu phẳng tách biệt, nhưng không có mô hình tạo điểm mới).
Vì vậy, có, phân loại phân biệt đối xử là bất kỳ phân loại không phải là thế hệ.
Một cách nghĩ khác về điều này là các thuật toán tổng quát tạo ra một số loại giả định cấu trúc trên mô hình của bạn , nhưng các thuật toán phân biệt đối xử tạo ra ít giả định hơn. Ví dụ: Naive Bayes giả định tính độc lập có điều kiện đối với các tính năng của bạn, trong khi hồi quy logistic ("đối tác" phân biệt đối xử của Naive Bayes) thì không.
2: Có, Naive Bayes mang tính khái quát vì nó bắt được và . Ví dụ: nếu chúng ta biết rằng và , cùng với xác suất từ tiếng Anh và tiếng Pháp, thì bây giờ chúng ta có thể tạo một tài liệu mới bằng cách trước tiên chọn ngôn ngữ của tài liệu ( Tiếng Anh có xác suất 0,7, tiếng Pháp có xác suất 0,3) và sau đó tạo từ theo xác suất từ của ngôn ngữ đã chọn.P(X|Y)P(Y)P(Y=English)=0.7P(Y=French)=0.3
Vâng, tôi đoán bạn có thể tạo ra hồi quy logistic theo kiểu đó, nhưng chỉ vì bạn đang thêm một cái gì đó vào hồi quy logistic chưa có ở đó. Đó là, khi bạn thực hiện phân loại Naive Bayes, bạn đang trực tiếp tính toán (các thuật ngữ ở bên phải, và , là những gì cho phép bạn tạo một tài liệu mới); nhưng khi bạn tính toán theo hồi quy logistic, bạn không tính toán hai điều này, bạn chỉ đang áp dụng một hàm logistic cho một sản phẩm chấm.P(Y|X)∝P(X|Y)P(Y)P(X|Y)P(Y)P(Y|X)
3: Các mô hình tạo thường vượt trội hơn các mô hình phân biệt đối xử trên các bộ dữ liệu nhỏ hơn vì các giả định chung của chúng đặt một số cấu trúc trên mô hình của bạn ngăn chặn quá mức . Ví dụ: chúng ta hãy xem xét Naive Bayes so với hồi quy logistic. Giả định Naive Bayes dĩ nhiên hiếm khi được thỏa mãn, do đó hồi quy logistic sẽ có xu hướng vượt trội so với Naive Bayes khi dữ liệu của bạn tăng lên (vì nó có thể nắm bắt được các phụ thuộc mà Naive Bayes không thể). Nhưng khi bạn chỉ có một bộ dữ liệu nhỏ, hồi quy logistic có thể thu được các mẫu giả không thực sự tồn tại, vì vậy Naive Bayes hoạt động như một loại công cụ chính quy trên mô hình của bạn để ngăn chặn quá mức. Có một bài viết của Andrew Ng và Michael Jordan về phân loại phân biệt đối xử và thế hệ nói về điều này nhiều hơn.
4: Tôi nghĩ điều đó có nghĩa là các mô hình thế hệ thực sự có thể tìm hiểu cấu trúc cơ bản của dữ liệu nếu bạn xác định chính xác mô hình của mình và mô hình thực sự nắm giữ, nhưng các mô hình phân biệt có thể vượt trội hơn trong trường hợp các giả định chung của bạn không được thỏa mãn (vì các thuật toán phân biệt ít ràng buộc với một cấu trúc cụ thể và thế giới thực rất lộn xộn và các giả định hiếm khi được thỏa mãn hoàn hảo dù sao đi nữa). (Có lẽ tôi sẽ bỏ qua những trích dẫn này nếu chúng gây nhầm lẫn.)