Генеративні та дискримінаційні


153

Я знаю, що генеративні засоби "засновані на П(х,у) ", а дискримінаційні засоби "засновані на П(у|х) ", але я плутаюся в декількох моментах:

  • Вікіпедія (+ багато інших звернень до Інтернету) класифікує такі речі, як SVM та дерева рішень, як дискримінаційні. Але вони навіть не мають ймовірнісних тлумачень. Що тут означає дискримінація? Чи дискримінація стала означати все, що не є генеративним?

  • Naive Bayes (NB) є генеративним, оскільки він фіксує П(х|у) і П(у) , і, таким чином, у вас П(х,у) (а також П(у|х) ). Хіба не тривіально зробити, скажімо, логістичну регресію (хлопець-постер з дискримінаційних моделей) "генеративної", просто обчисливши П(х) аналогічним чином (те саме припущення про незалежність, як NB, таке, що П(х)=П(х0)П(х1)...П(хг) , де MLE дляП(хi) - просто частоти)?

  • Я знаю, що дискримінаційні моделі, як правило, перевершують генеративні. Яке практичне використання роботи з генеративними моделями? Цитується можливість генерування / моделювання даних, але коли це з'являється? У мене особисто є лише досвід регресії, класифікації, колабсу. фільтрація за структурованими даними, тож використання для мене тут не має значення? Аргумент "відсутні дані" ( для відсутнього x i ), здається, дає вам лише перевагу з навчальними даними (коли ви насправді знаєте y та не потрібно маргіналізувати над P ( y ), щоб отримати відносно німий P ( x iП(хi|у)хiуП(у) яку ви могли б оцінити безпосередньо в будь-якому випадку), і навіть тоді імпутація набагато гнучкіша (можна передбачити, базуючись не лише на y, а й на інших x i ).П(хi)ухi

  • Що з цілком суперечливими цитатами з Вікіпедії? "генеративні моделі, як правило, більш гнучкі, ніж дискримінаційні моделі у вираженні залежностей у складних навчальних завданнях" порівняно з "дискримінаційні моделі, як правило, можуть виражати більш складні зв'язки між спостережуваними та цільовими змінними"

Пов'язане питання, яке змусило мене замислитися над цим.


5
(+1) Я думаю, що термінологія є заплутаною, і я думаю, що модель є генеративною для умовного розподілу на відміну від SVM, скажімо, що лише моделює аспекти цього умовного розподілу для чисто дискримінаційного призначення. Як показує ваша друга точка кулі, модель P ( y | x ) може бути доповнена, щоб стати повністю генеративною моделлю. Відмінність є актуальною з точки зору навчання, оскільки ми можемо моделювати P ( x , y ) і обчислити P ( y | x ), або можемо моделюватиП(у|х)П(у|х)П(х,у)П(у|х) . П(у|х)
NRH

2
Я не думаю, що ваше твердження щодо SVM є правдивим: "Але вони навіть не мають імовірнісних тлумачень". Все, що має функцію втрати, може бути чітко інтерпретовано у ймовірнісному значенні, знайшовши конфігурацію MAP відповідного PDF.
gmatt

Відповіді:


135

Фундаментальна відмінність між дискримінаційними моделями і генеративних моделями:

  • Дискримінаційні моделі вивчають (жорстку або м'яку) межу між класами
  • Генеративні моделі моделюють розподіл окремих класів

Щоб відповісти на ваші прямі запитання:

  • SVM та дерева рішень є дискримінаційними, оскільки вони засвоюють явні межі між класами. SVM - це максимальний маржинальний класифікатор, тобто він вивчає межу прийняття рішення, яка максимально збільшує відстань між зразками двох класів із заданим ядром. Відстань між вибіркою та вивченою межею рішення може бути використане для того, щоб SVM став "м'яким" класифікатором. DT вивчають межі рішення шляхом рекурсивного розподілу простору таким чином, щоб максимізувати приріст інформації (або інший критерій).

  • Таким чином можна зробити генеративну форму логістичної регресії. Зауважте, що ви не використовуєте повну генеративну модель для прийняття класифікаційних рішень.

  • Існує ряд переваг, які можуть запропонувати генеративні моделі, залежно від застосування. Скажімо, ви маєте справу з нестаціонарними дистрибутивами, де дані тестування в Інтернеті можуть генеруватися різними базовими дистрибутивами, ніж дані про навчання. Зазвичай простіше виявити зміни розповсюдження та відповідно оновити генеративну модель, ніж робити це для межі рішення у SVM, особливо якщо Інтернет-оновлення потребують без нагляду. Дискримінаційні моделі також взагалі не функціонують для виявлення зовнішніх, хоча генеративні моделі зазвичай є. Що найкраще для конкретної програми, звичайно, слід оцінювати на основі програми.

  • (Ця цитата є суперечливою, але я думаю, що це намагається сказати) Генеративні моделі, як правило, визначаються як імовірнісні графічні моделі, які пропонують багате уявлення про відносини незалежності в наборі даних. Дискримінаційні моделі не пропонують настільки чітких уявлень про зв'язки між функціями та класами в наборі даних. Замість використання ресурсів для повноцінного моделювання кожного класу вони зосереджуються на повному моделюванні межі між класами. Враховуючи однакову кількість ємності (скажімо, бітів у комп'ютерній програмі, що виконує модель), дискримінаційна модель, таким чином, може дати більш складні уявлення про цю межу, ніж генеративна модель.


(к2)кк

63

(Відповідь Hamner чудова, тому просто перехресне повідомлення моєї відповіді від MetaOptimize для повноти.)

П(Х|Y)П(Y)П(Х,Y)

Порівняйте, наприклад, моделі суміші Гаусса та k-середнє кластеризація. У першому ми маємо приємну ймовірнісну модель того, як генеруються точки (виберіть компонент з деякою ймовірністю, а потім випроміньте точку шляхом вибірки з Гауссового розподілу компонента), але про останнє ми нічого не можемо сказати.

П(Y|Х)П(Х|Y)П(Y)

1: Дискримінаційні алгоритми дозволяють класифікувати бали, не надаючи модель того, як фактично формуються точки. Отже, це може бути будь-яке:

  • П(Y|Х)
  • або неімовірнісні алгоритми, які намагаються вивчити відображення безпосередньо з точок до класів (наприклад, перцептрон та SVM просто дають вам роздільну гіперплану, але немає моделі генерування нових точок).

Так, так, дискримінаційні класифікатори - це будь-які класифікатори, які не є генеративними.

Інший спосіб думати про це полягає в тому, що генеративні алгоритми роблять певні структурні припущення на вашій моделі , але дискримінаційні алгоритми роблять менше припущень. Наприклад, Naive Bayes передбачає умовну незалежність ваших особливостей, тоді як логістичний регрес (дискримінаційний "аналог" Naive Bayes) не робить.

П(Х|Y)П(Y)П(Y=Енглiсгод)=0,7П(Y=Жrенcгод)=0,3разом із ймовірністю слів англійської та французької мов, тепер ми можемо генерувати новий документ, спершу вибираючи мову документа (англійська з вірогідністю 0,7, французька з ймовірністю 0,3), а потім генеруючи слова відповідно до ймовірностей слова обраної мови.

П(Y|Х)П(Х|Y)П(Y)П(Х|Y)П(Y)П(Y|Х)

3: Генеративні моделі часто перевершують дискримінаційні моделі на менших наборах даних, оскільки їх генеративні припущення розміщують певну структуру на вашій моделі, що запобігає надмірному набору . Наприклад, розглянемо Naive Bayes проти логістичної регресії. Припущення Naive Bayes, звичайно, рідко задовольняється, тому логістична регресія буде, як правило, перевершувати Naive Bayes у ​​міру зростання вашого набору даних (оскільки він може охопити залежності, яких Naive Bayes не може). Але якщо у вас є лише невеликий набір даних, логістична регресія може сприйняти помилкові моделі, які насправді не існують, тому Naive Bayes діє як своєрідний регуляризатор на вашій моделі, що запобігає надмірному розміщенню. Існує стаття Ендрю Нґ та Майкла Джордана про дискримінаційні та генеративні класифікатори, де йдеться про це більше.

4: Я думаю, що це означає, що генеративні моделі можуть насправді вивчити основу структури даних, якщо ви правильно вказали модель і модель насправді є, але дискримінаційні моделі можуть перевершити, якщо ваші генеративні припущення не задовольняються (оскільки дискримінаційні алгоритми є менш прив’язаний до певної структури, а реальний світ безладний і припущення рідко в будь-якому разі цілком задоволені). (Я, мабуть, просто ігнорую ці цитати, якщо вони плутають.)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.