Sự khác biệt giữa một thuật toán tổng quát và phân biệt đối xử là gì?


587

Xin vui lòng, giúp tôi hiểu sự khác biệt giữa một sinh sảnphân biệt thuật toán, lưu giữ trong tâm trí rằng tôi chỉ là một người mới bắt đầu.


4
Tài liệu này (cũng được chỉ ra bởi anguyen8 bên dưới) là một tài liệu hay: cs229.stanford.edu/notes/cs229-notes2.pdf
GuSuku

5
Xem thêm câu hỏi tương tự về số liệu thống kê.SE: Generative vs. Discriminative
Lenar Hoyt

Để có câu trả lời đơn giản và trực quan, nhấp vào đây stackoverflow.com/a/52412379/7160346
Ravi G

Câu trả lời:


840

Giả sử bạn có dữ liệu đầu vào xvà bạn muốn phân loại dữ liệu thành nhãn y. Một mô hình thế hệ học phân phối xác suất chungp(x,y) và một mô hình phân biệt đối xử học phân phối xác suất có điều kiệnp(y|x) - mà bạn nên đọc là "xác suất yđưa ra x" .

Đây là một ví dụ thực sự đơn giản. Giả sử bạn có dữ liệu sau trong biểu mẫu (x,y):

(1,0), (1,0), (2,0), (2, 1)

p(x,y)

      y=0   y=1
     -----------
x=1 | 1/2   0
x=2 | 1/4   1/4

p(y|x)

      y=0   y=1
     -----------
x=1 | 1     0
x=2 | 1/2   1/2

Nếu bạn dành vài phút để nhìn chằm chằm vào hai ma trận đó, bạn sẽ hiểu sự khác biệt giữa hai phân phối xác suất.

Phân phối p(y|x)là phân phối tự nhiên để phân loại một ví dụ đã cho xthành một lớp y, đó là lý do tại sao các thuật toán mô hình hóa trực tiếp này được gọi là thuật toán phân biệt đối xử. Mô hình thuật toán tạo p(x,y), có thể được chuyển đổi p(y|x)bằng cách áp dụng quy tắc Bayes và sau đó được sử dụng để phân loại. Tuy nhiên, phân phối p(x,y)cũng có thể được sử dụng cho các mục đích khác. Ví dụ: bạn có thể sử dụng p(x,y)để tạo(x,y) các cặp có khả năng .

Từ mô tả ở trên, bạn có thể nghĩ rằng các mô hình thế hệ thường hữu ích hơn và do đó tốt hơn, nhưng nó không đơn giản như thế. Bài viết này là một tài liệu tham khảo rất phổ biến về chủ đề phân loại phân biệt so với thế hệ, nhưng nó khá nặng nề. Ý chính chung là các mô hình phân biệt nói chung vượt trội hơn các mô hình thế hệ trong các nhiệm vụ phân loại.


48
Cảm ơn vì bài báo. Tác giả hiện là giáo sư tại Stanford và có tài nguyên tuyệt vời tại stanford.edu/
class / cs229 / m vật liệu.html

26
Một lời giải thích hay của Andrew Ng tại đây
clyfe

39
Khi nhìn chằm chằm vào ma trận quan sát rằng trong cái đầu tiên, tất cả các mục tổng hợp lên tới 1.0, trong khi ở cái thứ hai, mỗi hàng tính tổng thành một. Điều này sẽ tăng tốc độ giác ngộ (và giảm sự nhầm lẫn)
Maxim Khesin

5
Một ghi chú của Andrew Ng ở đây cũng rất hữu ích: cs229.stanford.edu/notes/cs229-notes2.pdf
anh_ng8

1
"Đó là lý do tại sao các thuật toán mô hình hóa trực tiếp này được gọi là thuật toán phân biệt đối xử", vẫn không chắc tại sao p(y|x)hàm ý các thuật toán mô hình hóa nó được gọi là "mô hình phân biệt đối xử".
nbro

291

Một thuật toán tổng quát mô hình hóa cách dữ liệu được tạo để phân loại tín hiệu. Nó đặt câu hỏi: dựa trên các giả định thế hệ của tôi, loại nào có khả năng tạo ra tín hiệu này nhất?

Một thuật toán phân biệt đối xử không quan tâm đến cách dữ liệu được tạo ra, nó chỉ đơn giản là phân loại một tín hiệu nhất định.


6
Câu trả lời này làm tôi bối rối. Cả hai lớp của thuật toán đều rơi vào lớp các thuật toán học có giám sát, học một mô hình dữ liệu đào tạo được gắn nhãn để rút ra một hàm dự đoán các dữ liệu khác. Thuật toán phân biệt khi bạn mô tả nó nghe có vẻ như nó không tạo ra một mô hình, điều đó có đúng không? Tôi sẽ rất vui nếu bạn có thể nâng cao câu trả lời của mình trong vấn đề đó.
LENAR Hoyt

42
@mcb Một thuật toán tổng quát mô hình hóa cách dữ liệu được "tạo ra", vì vậy bạn hỏi nó "khả năng này hoặc lớp đó tạo ra trường hợp này là gì?" và chọn một với xác suất tốt hơn. Một thuật toán phân biệt đối xử sử dụng dữ liệu để tạo ranh giới quyết định, vì vậy bạn hỏi nó "trường hợp này của ranh giới quyết định là gì?" Vì vậy, nó không tạo ra một mô hình về cách dữ liệu được tạo ra, nó tạo ra một mô hình về cái mà nó nghĩ ranh giới giữa các lớp trông như thế nào.
Anthony

1
Vì vậy, một mô hình thế hệ như Naive Bayes, không có ranh giới quyết định?
sheetal_158

4
Vì vậy, mô hình thế hệ có vẻ như là tốt hơn cho khả năng giải thích?
Candic3

157

Hãy tưởng tượng nhiệm vụ của bạn là phân loại một bài phát biểu thành ngôn ngữ.

Bạn có thể làm điều đó bằng một trong hai cách sau:

  1. học từng ngôn ngữ và sau đó phân loại nó bằng kiến ​​thức bạn vừa đạt được

hoặc là

  1. xác định sự khác biệt trong các mô hình ngôn ngữ mà không cần học ngôn ngữ, sau đó phân loại bài phát biểu.

Người đầu tiên là sinh sản tiếp cận và điều thứ hai là phân biệt cách tiếp cận.

Kiểm tra tài liệu tham khảo này để biết thêm chi tiết: http://www.cedar.buffalo.edu/~srihari/CSE574/Discriminative-Generative.pdf .


2
Không phải nó là cách khác sao? Xem xét rằng bạn đã học ngôn ngữ, bạn đang hoạt động trên một phân phối có điều kiện và vì vậy nó nên là một cách tiếp cận phân biệt đối xử?
Anh chàng London

Tôi nghĩ đó cũng là một cách khác sau khi đọc các câu trả lời dưới đây - Ví dụ từ các bài giảng của CS299 của Ghrua
Mitali Cyrus

132

Trong thực tế, các mô hình được sử dụng như sau.

Trong các mô hình phân biệt đối xử , để dự đoán nhãn ytừ ví dụ đào tạo x, bạn phải đánh giá:

nhập mô tả hình ảnh ở đây

mà chỉ đơn thuần chọn những gì là lớp có khả năng nhất yxem xét x. Giống như chúng tôi đã cố gắng mô hình hóa ranh giới quyết định giữa các lớp . Hành vi này rất rõ ràng trong các mạng thần kinh, trong đó các trọng số tính toán có thể được xem như một đường cong có hình dạng phức tạp cô lập các phần tử của một lớp trong không gian.

Bây giờ, sử dụng quy tắc của Bayes, hãy thay thế nhập mô tả hình ảnh ở đâyphương trình bằng nhập mô tả hình ảnh ở đây. Vì bạn chỉ quan tâm đến arg max , bạn có thể xóa sạch mẫu số, điều này sẽ giống nhau cho mọi y. Vì vậy, bạn còn lại với

nhập mô tả hình ảnh ở đây

đó là phương trình bạn sử dụng trong các mô hình thế hệ .

Mặc dù trong trường hợp đầu tiên bạn có phân phối xác suất có điều kiện p(y|x) , mô hình hóa ranh giới giữa các lớp, trong lần thứ hai bạn có phân phối xác suất chung p(x, y) , từ đó p(x | y) p(y) = p(x, y), mô hình rõ ràng phân phối thực tế của mỗi lớp .

Với hàm phân phối xác suất chung, được cho a y, bạn có thể tính toán ("tạo") tương ứng x. Vì lý do này, chúng được gọi là mô hình "thế hệ".


3
Theo lý do này, không phải mô hình phân biệt và mô hình phân biệt bằng nhau khi áp dụng cho cùng một phân phối? Tại sao có sự khác biệt trong hành vi phân loại sau đó? Hay họ chỉ bằng nhau trong bối cảnh khả năng tối đa này?
Sebastian Graf

Để biết liệu chúng có "bằng nhau" hay không, trước tiên chúng ta cần xác định nghĩa của chúng ta là gì. Có nhiều điểm chung, nhưng điểm khác biệt mạnh nhất là chiến lược được sử dụng: mô hình hóa phân phối (thế hệ) so với dự đoán một lớp, bất kể phân phối (phân biệt đối xử) - ví dụ về KNN.
Saul Berardo

90

Dưới đây là phần quan trọng nhất từ bài giảng của CS299 (do Andrew Ng) liên quan đến chủ đề, mà thực sự giúp tôi hiểu sự khác biệt giữa phân biệt đối xửsinh sản thuật toán học.

Giả sử chúng ta có hai lớp động vật, voi ( y = 1) và chó ( y = 0). Và x là vectơ đặc trưng của động vật.

Đưa ra một tập huấn luyện, một thuật toán như hồi quy logistic hoặc thuật toán perceptron (về cơ bản) cố gắng tìm một đường thẳng - nghĩa là ranh giới quyết định - phân tách voi và chó. Sau đó, để phân loại một động vật mới là voi hoặc chó, nó kiểm tra phía nào của ranh giới quyết định mà nó rơi và đưa ra dự đoán phù hợp. Chúng tôi gọi những thuật toán học phân biệt đối xử .

Đây là một cách tiếp cận khác nhau. Đầu tiên, nhìn vào những con voi, chúng ta có thể xây dựng một mô hình về những con voi trông như thế nào. Sau đó, nhìn vào những con chó, chúng ta có thể xây dựng một mô hình riêng biệt về những con chó trông như thế nào. Cuối cùng, để phân loại một con vật mới, chúng ta có thể ghép con vật mới với mô hình con voi và ghép nó với mô hình con chó, để xem con vật mới trông giống con voi hơn hay giống con chó chúng ta đã thấy trong bộ huấn luyện . Chúng tôi gọi những thuật toán học tập khái quát này .


33

Nói chung, có một thực tế trong cộng đồng học máy không học những thứ mà bạn không muốn. Ví dụ, hãy xem xét một vấn đề phân loại trong đó mục tiêu của một người là gán nhãn y cho đầu vào x đã cho. Nếu chúng ta sử dụng mô hình thế hệ

p(x,y)=p(y|x).p(x)

chúng ta phải mô hình p (x) không liên quan đến nhiệm vụ trong tay. Những hạn chế thực tế như sự thưa thớt dữ liệu sẽ buộc chúng ta phải lập mô hình p(x)với một số giả định độc lập yếu. Do đó, chúng tôi trực giác sử dụng các mô hình phân biệt đối xử để phân loại.



22

Một điểm bổ sung thông tin phù hợp với câu trả lời của StompChicken ở trên.

Sự khác biệt cơ bản giữa mô hình phân biệtmô hình thế hệ là:

Các mô hình phân biệt học tìm hiểu ranh giới (cứng hoặc mềm) giữa các lớp

Mô hình tạo mô hình phân phối các lớp riêng lẻ

Biên tập:

Mô hình Generative là mô hình có thể tạo dữ liệu . Nó mô hình cả các tính năng và lớp (tức là dữ liệu hoàn chỉnh).

Nếu chúng ta lập mô hình P(x,y): Tôi có thể sử dụng phân phối xác suất này để tạo các điểm dữ liệu - và do đó tất cả các mô hình thuật toán P(x,y)đều mang tính khái quát .

Ví dụ. của mô hình thế hệ

  • Các mô hình Naive Bayes P(c)P(d|c)- nơi clà lớp và dlà vector tính năng.

    Cũng thế, P(c,d) = P(c) * P(d|c)

    Do đó, Naive Bayes trong một số mô hình mẫu, P(c,d)

  • Bayes Net

  • Lưới Markov

Mô hình phân biệt đối xử là mô hình chỉ có thể được sử dụng để phân biệt / phân loại các điểm dữ liệu . Bạn chỉ yêu cầu lập mô hình P(y|x)trong các trường hợp như vậy, (nghĩa là xác suất của lớp được cung cấp cho vectơ đặc trưng).

Ví dụ. của các mô hình phân biệt đối xử:

  • hồi quy logistic

  • Mạng lưới thần kinh

  • Trường ngẫu nhiên có điều kiện

Nhìn chung, các mô hình thế hệ cần mô hình hóa nhiều hơn các mô hình phân biệt đối xử và do đó đôi khi không hiệu quả. Như một vấn đề thực tế, hầu hết (không chắc chắn nếu tất cả) các thuật toán học tập không giám sát như phân cụm, v.v. có thể được gọi là khái quát, vì chúng mô hình hóa P(d)(và không có lớp: P)

PS: Một phần của câu trả lời được lấy từ nguồn


8

Câu trả lời ngắn

Nhiều câu trả lời ở đây dựa vào định nghĩa toán học được sử dụng rộng rãi [1]:

  • Các mô hình phân biệt đối xử trực tiếp tìm hiểu phân phối dự báo có điều kiện p(y|x) .
  • Các mô hình sáng tạo tìm hiểu phân phối chung p(x,y)(hay đúng hơn, p(x|y)p(y) ).
    • Phân phối dự đoán p(y|x)có thể thu được với quy tắc của Bayes.

Mặc dù rất hữu ích, định nghĩa hẹp này giả định cài đặt được giám sát và ít tiện dụng hơn khi kiểm tra các phương pháp không giám sát hoặc bán giám sát. Nó cũng không áp dụng cho nhiều cách tiếp cận đương đại cho mô hình khái quát sâu sắc . Ví dụ: bây giờ chúng ta có các mô hình thế hệ ngầm, ví dụ: Mạng đối thủ tạo (GAN), dựa trên mẫu và thậm chí không mô hình hóa mật độ xác suất p(x)(thay vào đó là học một biện pháp phân kỳ thông qua mạng phân biệt đối xử). Nhưng chúng tôi gọi chúng là "các mô hình thế hệ vì chúng được sử dụng để tạo các mẫu (chiều cao [10]).

Một định nghĩa rộng hơn và cơ bản hơn [2] có vẻ phù hợp như nhau cho câu hỏi chung này:

  • Các mô hình phân biệt học tìm hiểu ranh giới giữa các lớp.
    • Vì vậy, họ có thể phân biệt giữa các loại trường hợp dữ liệu khác nhau.
  • Mô hình tạo ra học phân phối dữ liệu.
    • Vì vậy, họ có thể tạo ra các trường hợp dữ liệu mới.

Từ http://primo.ai/index.php?title=Discriminative_vs._Generative Nguồn hình ảnh


Xem kỹ hơn

Mặc dù vậy, câu hỏi này ngụ ý phần nào sự phân đôi giả [3]. "Phân đôi" phân biệt đối xử trong thực tế là một phổ mà bạn thậm chí có thể nội suy trơn tru giữa [4].

Kết quả là, sự khác biệt này trở nên độc đoán và khó hiểu, đặc biệt là khi nhiều mô hình phổ biến không gọn gàng thành một hoặc khác [5,6], hoặc trên thực tế là các mô hình lai (kết hợp giữa các mô hình "phân biệt đối xử" và "thế hệ" cổ điển) .

Tuy nhiên, đây vẫn là một sự khác biệt rất hữu ích và phổ biến để thực hiện. Chúng tôi có thể liệt kê một số ví dụ rõ ràng về các mô hình khái quát và phân biệt đối xử, cả kinh điển và gần đây:

  • Generative: Naive Bayes, phân bổ Dirichlet tiềm ẩn (LDA), Mạng đối thủ tạo (GAN), Autoencoders biến đổi (VAE), chuẩn hóa các luồng.
  • Phân biệt đối xử: Hỗ trợ máy vectơ (SVM), hồi quy logistic, hầu hết các mạng thần kinh sâu.

Ngoài ra còn có rất nhiều công việc thú vị kiểm tra sâu sắc sự phân chia thế hệ - phân biệt [7] và phổ [4,8], và thậm chí chuyển đổi các mô hình phân biệt đối xử thành các mô hình thế hệ [9].

Cuối cùng, các định nghĩa không ngừng phát triển, đặc biệt là trong lĩnh vực đang phát triển nhanh chóng này :) Tốt nhất là lấy chúng bằng một nhúm muối, và thậm chí có thể định nghĩa lại chúng cho chính bạn và những người khác.


Nguồn

  1. Có thể bắt nguồn từ "Học máy - Phân biệt đối xử và sáng tạo" (Tony Jebara, 2004).
  2. Khóa học sự cố về học máy của Google
  3. Sai lầm sáng tạo-phân biệt đối xử
  4. "Nguyên tắc lai của các mô hình sáng tạo và phân biệt đối xử" (Lasserre et al., 2006)
  5. @ câu hỏi của shimao
  6. Câu trả lời của Binu Jasim
  7. So sánh hồi quy logistic và Bayes ngây thơ:
  8. https://www.microsoft.com/en-us/research/wp-content/uploads/2016/04/DengJaitly2015-ch1-2.pdf
  9. "Trình phân loại của bạn bí mật là một mô hình dựa trên năng lượng" (Grathwohl et al., 2019)
  10. Stanford CS236 lưu ý : Về mặt kỹ thuật, một mô hình phân biệt đối xử xác suất cũng là một mô hình tổng quát của các nhãn được quy định trên dữ liệu. Tuy nhiên, thuật ngữ mô hình chung thường được dành riêng cho dữ liệu chiều cao.

1
Điều này thực sự nên có nhiều upvote. Câu trả lời duy nhất của bạn đã chạm vào ý tưởng "phân đôi giả" mà tôi tìm thấy. Câu hỏi của tôi os tương tự như câu hỏi này: stats.stackexchange.com/questions/408421/ Khăn
Antonio Luis Sombra

1

Tất cả các câu trả lời trước đây đều tuyệt vời và tôi muốn thêm một điểm nữa.

Từ các mô hình thuật toán tổng quát, chúng ta có thể rút ra bất kỳ phân phối nào; trong khi chúng ta chỉ có thể có được phân phối có điều kiện P (Y | X) từ các mô hình thuật toán phân biệt đối xử (hoặc chúng ta có thể nói rằng chúng chỉ hữu ích để phân biệt nhãn của Y) và đó là lý do tại sao nó được gọi là mô hình phân biệt đối xử. Mô hình phân biệt đối xử không cho rằng X là độc lập với Y ($ X_i \ perp X _ {- i} | Y $) và do đó thường mạnh hơn để tính phân phối có điều kiện.


0

Hai xu của tôi: Cách tiếp cận phân biệt làm nổi bật sự khác biệt Cách tiếp cận sáng tạo không tập trung vào sự khác biệt; họ cố gắng xây dựng một mô hình đại diện cho lớp. Có một sự chồng chéo giữa hai. Tốt nhất là cả hai cách tiếp cận nên được sử dụng: một cách sẽ hữu ích để tìm ra điểm tương đồng và phương pháp kia sẽ hữu ích để tìm ra điểm tương đồng.


0

Một mô hình thuật toán tổng quát sẽ học hoàn toàn từ dữ liệu đào tạo và sẽ dự đoán đáp ứng.

Một công việc thuật toán phân biệt đối xử chỉ là để phân loại hoặc phân biệt giữa 2 kết quả.


Những gì tôi nhận được là mô hình khái quát là học tập có giám sát trong khi mô hình phân biệt dựa trên học tập không giám sát. Tôi có đúng không?
Waseem Ahmad Naeem

@WaseemAhmadNaeem Loại, nhưng loại không. y luôn là mục tiêu và cần thiết như một phần của dữ liệu đầu vào, vì vậy cả hai đều được giám sát. Generative dường như không được giám sát bởi vì bước đầu tiên là có được bản phân phối hoàn chỉnh (trong tất cả các vars, không coi y là đặc biệt). Nếu bạn dừng lại ở đó và không coi y là đặc biệt thì phần đó không được giám sát.
Mitch

@Mitch tôi có thể yêu cầu bạn chia sẻ một số giấy / ghi chú / liên kết về sự khác biệt của cả hai không? Thật ra tôi hơi bối rối về khái niệm này. Cảm ơn bạn trước
Waseem Ahmad Naeem

@WaseemAhmadNaeem Tìm kiếm tại Cross xác thực.SE (trang web thống kê / ML SE) cụ thể là Generative vs Discriminative các mô hình hoặc Generative vs phân biệt đối xử trong bối cảnh Bayes . Ví dụ cơ bản Naive Bayes là khái quát, Hồi quy logistic là phân biệt đối xử. Thêm ví dụ về cả hai .
Mitch

0

Bài viết này đã giúp tôi rất nhiều trong việc hiểu khái niệm.

Tóm tắt,

  • Cả hai đều là mô hình xác suất, nghĩa là cả hai đều sử dụng xác suất ( xác suất có điều kiện, chính xác ) để tính toán các lớp cho dữ liệu chưa biết.
  • Các phân loại tạo áp dụng Định lý chung PDF & Bayes trên tập dữ liệu và tính xác suất có điều kiện bằng cách sử dụng các giá trị từ các giá trị đó.
  • Các phân loại phân biệt trực tiếp tìm thấy xác suất có điều kiện trên tập dữ liệu

Một số tài liệu đọc tốt: xác suất có điều kiện , PDF chung

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.