Лінійний дискримінантний аналіз (англ.Linear discriminant analysis, LDA) — статистичний метод для розв'язку задачі класифікації. З його допомогою будуються лінійні комбінації предикторів, що відділяють області одного класу від іншого. LDA працює для будь-якої кількості класів, на відміну від таких методів як логістична регресія, що в першу чергу використовуються для бінарної класифікації.
Лінійний дискримінативний аналіз базується на використанні критерія Фішера, який був описаний британським статистиком і біологом Рональдом Фішером у задачі бінарної класифікації, розділення ірисів за розмірами частин квітки[1].
LDA шукає проєкцію даних у деякий підпростір розмірності або менше (де — кількість класів, — кількість ознак). Підпростір обирається так, щоб проєкції розподілів, що відносяться до різних класів, були розділені у ньому якомога сильніше. Таким чином класи розділюються за правилом[3][4]:
Кожному класу ставиться у відповідність деяка функція вигляду . Ці функції називаються дискримінантними функціями. Матриця є матрицею проєкції, .
Кожна точка простору ознак класифікується відповідно до того, яка саме з дискримінантних функцій має найвище значення у ній.
Через те що всі функції є лінійними по Х, границі між областями простору, що відповідають різним класам (decision surface) завжди є гіперплощинами.
У найпростішому випадку двох класів підпростір є одномірним — прямою, і розділення відбувається за правилом :
Геометричний сенс функції в такому випадку — відстань від гіперплощини розділяючої класи до точки даних[5].
Дискримінантні функції будуються так, щоб зробити розділення класів якомога простішим. Існує кілька алгоритмів, які вирішують цю задачу, найвідомішими є дискримінантний аналіз Фішера і баєсівський класифікатор. У деяких випадках вони дають однакові результати, проте загалом це різні алгоритми.
Дискримінантний аналіз Фішера
Історично першою спробою побудувати лінійну дискримінантну модель була модель запропонована Фішером.
Нехай є два класи. Тоді підпростором найкращого розділення буде такий, що при проєктуванні на нього даних максимальним є відношення відстані між середнім значенням класів і розкидом всередині класу[6].
Нехай — елементи класу , а — кількість елементів у цьому класі. Тоді середнє значення по класу дорівнює
Величину називають також міжкласовим розкидом(between-class scatter), тоді як — внутрішньокласовим розкидом (within-class scatter matrix).
Продиференціювавши по і прирівнявши результат до нуля отримуємо:
ділимо на :
тоді
оскільки — скаляр, задача зводиться до пошуку власних векторів. Найкраще розділення буде досягнуто при проєкції на вектор, що відповідає найбільшому власному значенню.
У випадку двох класів також є більш простий спосіб оцінки w: через те що важливий лише напрямок вектору w, його можна визначити виходячи з того, що[7]:
,
де а — скаляр. Таким чином:
Модель Фішера працює у дуже широких межах, оскільки має досить мало вимог до розподілу даних, проте вона дає чіткого способу визначити границі класів після проєкції. Найбільш загальний принцип вибору полягає в тому, щоб кількість помилок першого і другого роду при класифікації була однаковою[8]. В найпростішому варіанті гіперплощина розташовується рівно посередині між середніми значеннями класів.
Підхід може бути застосований і до більше ніж двох класів. У такому випадку, матриця проєкції має розміри , а матриця міжкласового розкиду визначається як
,
де μ — загальне середнє по всіх класах.
У цьому випадку, w складається з стовпчиків, що відповідають найбільшим власним векторам матриці .
Головним чином такий алгоритм для великої кількості класів використовується як спосіб зниження розмірності (дані проєціюються на гіперплощину нижчої розмірності проте класифікатор не будується).
Щоб все ж побудувати модель багатокласової класифікації за цим підходом можна створити окремих класифікаторів, які будуть попарно порівнювати класи, або ж класифікаторів, кожен з яких робить класифікацію один-проти-решти. Недоліком цього підходу є те, що при ньому деякі зони можуть мати невизначений клас — або через те що створюються цикли класифікацій (клас 2 більш ймовірний ніж клас 1, клас 3 більш ймовірний ніж клас 2, клас 1 більш ймовірний ніж клас 3), або через те, що жоден з класифікаторів один-проти-всіх не визначає точку як належну до "свого" класу[9][10].
Тому для класифікації у викпадку 3 і більше класів зазвичай використовують описаний нижче баєсів класифікатор.
Баєсів класифікатор
Баєсів класифікатор застосовується до більш вузького випадку: якщо в усіх класах точки мають однаковий (багатовимірний нормальний) розподіл, що відрізняється лише середнім, тобто, матриці коваріації точок всередині кожного класу однакові[11].
Часто коли говорять про лінійний розділювальний аналіз, то мається на увазі саме баєсівський класифікатор.
Згідно з теоремою Баєса, ймовірність того, що деяке спостереження належить до класу K, можна оцінити, знаючи розподіл значень всередині класів і ймовірності самих класів :
Виразимо тоді логарифм співвідношення ймовірностей того, що спостереження x відноситься до класу і , припускаючи що матриці коваріації однакові для всіх класів (через що члени з скорочуються:
Тоді функції
і будуть питомими дискримінантними функціями. Спостереження належить до того класу, який має максимальну дискримінантну функцію у відповідній точці.
Параметри функції визначаються з вибіркових даних[12]:
Вимоги до даних
Для всіх варіантів LDA дані очікуються нормалізовані, з варіацією всіх ознак рівною одиниці. Для баєсівського класифікатора також важливо щоб усі класи мали багатовимірний гаусів розподіл а матриця коваріації була однаковою в усіх класах.
Аналіз чутливий до викидів тому бажано перевірити дані і видалити їх до початку роботи[13].
Варіації алгоритму
Квадратичний дискримінантний аналіз
Якщо матриці коваріації не рівні, то скорочення квадратичних членів не відбувається. Відповідно, границі між класами будуть описуватися кривими другого порядку а не гіперплощинами, а кількість параметрів можелі сильно зросте. Така модель називається квадратичним дискримінантним аналізом (QDA).
Схожі результати можна отримати, додаючи в модель складні предиктори, наприклад, якщо до моделі з двома предикторами і додати ще три, які дорівнюють , отримане лінійне рівняння відносно п'яти параметрів буде квадратичним відносно і . Проте, ці два підходи не є ідентичними, і отримані поверхні розділення класів різні, хоча часто різниця є невеликою[14].
Можливі проміжні варіанти, де в якості матриці коваріації класу використовується матриця
де — деякий параметр від 0 до 1, а — середня матриця коваріації по всіх класах (така як використовується в LDA)
Регуляризований дискримінантний аналіз
Матрицю коваріації в LDA можна замінити на
,
де I — одинична матриця, — параметр від 0 до 1, — вектор стандартного відхилення кожного параметру всередині класу. Таким чином матриця стає ближчою до діагональної і вплив коваріацій зменшується. У крайньому випадку всі змінні вважаються незалежними. Така модель називається наївною гаусівською баєсовою (англ.Gaussian Naive Bayes)[15]. Її перевага полягає в значно меншій кількості параметрів моделі.
Література
Хасті Т., Тібширані Р., Фрідман Дж. Основы статистического обучения. — 2. — Київ : «Діалектика», 2020. — 768 с. — ISBN 978-617-7812-91-2.
Дуда Р.,Харт П. Распознавание образов и анализ сцен. — М. : «Мир», 1976. — 507 с.