(Ответ Хамнера великолепен, поэтому просто напишите мой ответ от MetaOptimize для полноты.)
Я думаю о порождающих алгоритмах как о предоставлении модели того, как на самом деле генерируются данные (я думаю о них как о том, что они дают вам модель как и , а не , хотя я предполагаю, что это эквивалентно), и дискриминационные алгоритмы просто обеспечивают разделение классификации (и не обязательно вероятностным способом).P(X|Y)P(Y)P(X,Y)
Сравните, например, модели гауссовой смеси и среднюю k-кластеризацию. В первом у нас есть хорошая вероятностная модель для того, как генерируются точки (выберите компонент с некоторой вероятностью, а затем испустите точку путем выборки из гауссовского распределения компонента), но мы ничего не можем сказать о последнем.
Обратите внимание, что порождающие алгоритмы имеют дискриминационные свойства, поскольку вы можете получить если у вас есть и (по теореме Байеса), хотя дискриминационные алгоритмы на самом деле не имеют порождающих свойств.P(Y|X)P(X|Y)P(Y)
1: Дискриминационные алгоритмы позволяют вам классифицировать точки, не предоставляя модель того, как точки фактически генерируются. Так что это может быть:
- вероятностные алгоритмы пытаются выучить (например, логистическая регрессия);P(Y|X)
- или не вероятностные алгоритмы, которые пытаются изучать отображения непосредственно из точек в классы (например, персептрон и SVM просто дают вам разделяющую гиперплоскость, но не дают модели генерации новых точек).
Так что да, дискриминационные классификаторы - это любые классификаторы, которые не являются генеративными.
Другой способ думать об этом заключается в том, что порождающие алгоритмы делают некоторые предположения о структуре вашей модели , но дискриминационные алгоритмы делают меньше предположений. Например, Наивный Байес предполагает условную независимость ваших функций, а логистическая регрессия (дискриминационный «аналог» Наивного Байеса) - нет.
2: Да, Наивный Байес является генеративным, потому что он захватывает и . Например, если мы знаем, что и вместе с вероятностями английского и французского слова, то теперь мы можем сгенерировать новый документ, сначала выбрав язык документа ( Английский с вероятностью 0,7, французский с вероятностью 0,3), а затем генерирует слова в соответствии с вероятностями слова выбранного языка.P(X|Y)P(Y)P(Y=English)=0.7P(Y=French)=0.3
Да, я думаю, вы могли бы сделать логистическую регрессию порождающей таким образом, но это только потому, что вы добавляете что-то к логистической регрессии, которой еще нет. То есть, когда вы выполняете наивную байесовскую классификацию, вы непосредственно вычисляете (термины справа, и , это то, что позволяет генерировать новый документ); но когда вы вычисляете в логистической регрессии, вы не вычисляете эти две вещи, вы просто применяете логистическую функцию к точечному произведению.P ( X | Y ) P ( Y ) P ( Y | X )P(Y|X)∝P(X|Y)P(Y)P(X|Y)P(Y)P(Y|X)
3: генеративные модели часто превосходят дискриминационные модели в меньших наборах данных, потому что их генеративные допущения устанавливают некоторую структуру в вашей модели, которая предотвращает переоснащение . Например, давайте рассмотрим наивный байесовский алгоритм против логистической регрессии. Предположение Наивного Байеса, конечно, редко выполняется, поэтому логистическая регрессия будет иметь тенденцию превосходить Наивный байесовский по мере роста вашего набора данных (так как он может фиксировать зависимости, которые наивный Байес не может). Но когда у вас есть только небольшой набор данных, логистическая регрессия может обнаружить ложные паттерны, которые на самом деле не существуют, поэтому наивный байесовский эффект действует как своего рода регуляризатор в вашей модели, который предотвращает перефразирование. Есть статья Эндрю Нга и Майкла Джордана о дифференцирующих и порождающих классификаторах, которая говорит об этом больше.
4: я думаю, что это означает, что порождающие модели могут фактически изучать основную структуру данных, если вы правильно указали свою модель и модель действительно выполняется, но дискриминационные модели могут превзойти в случае, если ваши порождающие предположения не удовлетворены (так как дискриминационные алгоритмы менее привязан к конкретной структуре, а реальный мир беспорядочный, и предположения редко бывают полностью удовлетворены в любом случае). (Я бы просто проигнорировал эти цитаты, если они сбивают с толку.)