ШІ 101
Генеративні та дискримінативні моделі машинного навчання

Деякі моделі машинного навчання належать до категорій “генеративних” або “дискримінативних” моделей. Але в чому різниця між цими двома категоріями моделей? Що означає, що модель є дискримінативною або генеративною? Коротка відповідь полягає в тому, що генеративні моделі — це ті, що включають розподіл набору даних, повертаючи ймовірність для заданого прикладу. Генеративні моделі часто використовуються для прогнозування того, що відбудеться далі в послідовності. Тим часом дискримінативні моделі використовуються для класифікації або регресії, і вони повертають прогноз на основі умовної ймовірності. Давайте детальніше дослідимо відмінності між генеративними та дискримінативними моделями, щоб ми могли по-справжньому зрозуміти, що відрізняє ці два типи моделей і коли слід використовувати кожен з них.
Генеративні та дискримінативні моделі
Існує різноманітність способів класифікувати модель машинного навчання. Модель може бути віднесена до різних категорій, таких як: генеративні моделі, дискримінативні моделі, параметричні моделі, непараметричні моделі, моделі на основі дерев, моделі не на основі дерев. Ця стаття зосередиться на відмінностях між генеративними та дискримінативними моделями. Ми почнемо з визначення як генеративних, так і дискримінативних моделей, а потім розглянемо деякі приклади кожного типу моделей.
Генеративні моделі
Генеративні моделі — це ті, що зосереджуються на розподілі класів у наборі даних. Алгоритми машинного навчання зазвичай моделюють розподіл точок даних. Генеративні моделі покладаються на знаходження спільної ймовірності. Створення точок, де задана вхідна ознака та бажаний результат/мітка існують одночасно. Генеративні моделі зазвичай використовуються для оцінки ймовірностей та правдоподібності, моделювання точок даних та розрізнення класів на основі цих ймовірностей. Оскільки модель вивчає розподіл ймовірностей для набору даних, вона може посилатися на цей розподіл ймовірностей для створення нових екземплярів даних. Генеративні моделі часто покладаються на теорему Баєса для знаходження спільної ймовірності, знаходячи p(x,y). По суті, генеративні моделі моделюють те, як були згенеровані дані, відповідаючи на наступне питання: “Яка ймовірність того, що цей клас або інший клас згенерував цю точку/екземпляр даних?” Прикладами генеративних моделей машинного навчання є Лінійний дискримінантний аналіз (LDA), приховані марковські моделі та байєсівські мережі, такі як Наївний байєс.
Дискримінативні моделі
Поки генеративні моделі вивчають розподіл набору даних, дискримінативні моделі вивчають межу між класами в наборі даних. Метою дискримінативних моделей є визначення рішучої межі між класами для застосування надійних міток класів до екземплярів даних. Дискримінативні моделі розділяють класи в наборі даних, використовуючи умовну ймовірність, не роблячи жодних припущень щодо окремих точок даних. Дискримінативні моделі ставлять за мету відповісти на наступне питання: “На якій стороні рішучої межі знаходиться цей екземпляр?” Прикладами дискримінативних моделей у машинному навчанні є машини опорних векторів, логістична регресія, дерева рішень та випадкові ліси.
Відмінності між генеративними та дискримінативними моделями
Ось короткий огляд основних відмінностей між генеративними та дискримінативними моделями. Генеративні моделі:
- Генеративні моделі мають на меті захопити фактичний розподіл класів у наборі даних.
- Генеративні моделі прогнозують спільний розподіл ймовірностей – p(x,y) – використовуючи теорему Баєса.
- Генеративні моделі обчислювально дорожчі порівняно з дискримінативними моделями.
- Генеративні моделі корисні для завдань неконтрольованого машинного навчання.
- Генеративні моделі більш схильні до впливу викидів, ніж дискримінативні моделі.
Дискримінативні моделі:
- Дискримінативні моделі моделюють рішучу межу для класів набору даних.
- Дискримінативні моделі вивчають умовну ймовірність – p(y|x).
- Дискримінативні моделі обчислювально дешевші порівняно з генеративними моделями.
- Дискримінативні моделі корисні для завдань контрольованого машинного навчання.
- Дискримінативні моделі мають перевагу в тому, що вони більш стійкі до викидів, на відміну від генеративних моделей.
- Дискримінативні моделі більш стійкі до викидів порівняно з генеративними моделями.
Тепер ми коротко розглянемо деякі різні приклади генеративних та дискримінативних моделей машинного навчання.
Приклади генеративних моделей
Лінійний дискримінантний аналіз (LDA) Моделі LDA функціонують, оцінюючи дисперсію та середнє значення даних для кожного класу в наборі даних. Після того, як середнє значення та дисперсії для кожного класу були обчислені, прогнози можна робити, оцінюючи ймовірність того, що заданий набір входів належить до заданого класу. Приховані марковські моделі Марковські ланцюги можна розглядати як графи з ймовірностями, які вказують на те, наскільки ймовірно, що ми перейдемо з однієї точки ланцюга, “стану”, до іншого стану. Марковські ланцюги використовуються для визначення ймовірності переходу зі стану j до стану i, що може бути позначено як p(i,j). Це просто спільна ймовірність, згадана вище. Прихована марковська модель — це коли використовується невидимий, ненаблюданий марковський ланцюг. Вхідні дані передаються моделі, а ймовірності для поточного стану та стану безпосередньо перед ним використовуються для обчислення найбільш ймовірного результату. Байєсівські мережі Байєсівські мережі — це тип імовірнісних графічних моделей. Вони представляють умовні залежності між змінними, представлені спрямованим ациклічним графом. У байєсівській мережі кожне ребро графа представляє умовну залежність, а кожен вузол відповідає унікальній змінній. Умовна незалежність для унікальних зв’язків у графі може бути використана для визначення спільного розподілу змінних та обчислення спільної ймовірності. Іншими словами, байєсівська мережа захоплює підмножину незалежних зв’язків у конкретному спільному розподілі ймовірностей. Після створення та належного визначення байєсівської мережі, з відомими випадковими змінними, умовними зв’язками та розподілами ймовірностей, її можна використовувати для оцінки ймовірності подій або результатів. Одним з найбільш часто використовуваних типів байєсівських мереж є модель Наївного Баєса. Модель Наївного Баєса вирішує проблему обчислення ймовірності для наборів даних з багатьма параметрами/змінними, розглядаючи всі ознаки як незалежні одна від одної.
Приклади дискримінативних моделей
Машини опорних векторів Машини опорних векторів працюють, проводячи рішучу межу між точками даних, знаходячи ту рішучу межу, яка найкраще розділяє різні класи в наборі даних. Алгоритм SVM проводить лінії або гіперплощини, що розділяють точки, для 2-вимірних просторів та 3D просторів відповідно. SVM прагне знайти лінію/гіперплощину, яка найкраще розділяє класи, намагаючись максимізувати зазор, або відстань між лінією/гіперплощиною до найближчих точок. Моделі SVM також можна використовувати на наборах даних, які не є лінійно роздільними, використовуючи “kernel trick” для ідентифікації нелінійних рішучих меж. Логістична регресія Логістична регресія — це алгоритм, який використовує функцію logit (лог-шансів) для визначення ймовірності того, що вхідні дані знаходяться в одному з двох станів. Сигмоїдна функція використовується для “стискання” ймовірності до 0 або 1, істинності або хибності. Ймовірності більше 0,50 вважаються класом 1, тоді як ймовірності 0,49 або нижче вважаються 0. З цієї причини логістична регресія зазвичай використовується в задачах бінарної класифікації. Однак логістичну регресію можна застосувати до багатокласових проблем, використовуючи підхід “один проти всіх”, створюючи модель бінарної класифікації для кожного класу та визначаючи ймовірність того, що приклад є цільовим класом або іншим класом у наборі даних. Дерево рішень Модель дерева рішень функціонує, розбиваючи набір даних на менші та менші частини, і як тільки підмножини не можна більше розділити, результатом є дерево з вузлами та листям. Вузли в дереві рішень — це місця, де приймаються рішення щодо точок даних з використанням різних критеріїв фільтрації. Листя в дереві рішень — це точки даних, які були класифіковані. Алгоритми дерева рішень можуть обробляти як числові, так і категоріальні дані, а розщеплення в дереві базуються на конкретних змінних/ознаках. Випадкові ліси Модель випадкового лісу — це, по суті, просто сукупність дерев рішень, де прогнози окремих дерев усереднюються для прийняття остаточного рішення. Алгоритм випадкового лісу випадковим чином вибирає спостереження та ознаки, будуючи окремі дерева на основі цих виборів. Ця навчальна стаття дослідить, як створити діаграму розмаху (Box Plot) у Matplotlib. Діаграми розмаху використовуються для візуалізації зведеної статистики набору даних, відображаючи атрибути розподілу, такі як діапазон даних та розподіл.








