Яка різниця між підтримкою векторних машин та лінійним дискримінантним аналізом?
Яка різниця між підтримкою векторних машин та лінійним дискримінантним аналізом?
Відповіді:
LDA: Припускає: дані звичайно розподіляються. Усі групи однаково розподілені, якщо групи мають різні коваріаційні матриці, LDA стає квадратичним дискримінантним аналізом. LDA - найкращий доступний дискримінатор, якщо всі припущення реально виконані. QDA, до речі, є нелінійним класифікатором.
SVM: Узагальнює оптимально роздільну гіперплан (OSH). ЗБЖ передбачає, що всі групи є повністю відокремленими, SVM використовує "слабку змінну", яка дозволяє певну кількість перекриттів між групами. SVM взагалі не робить припущень щодо даних, це означає, що це дуже гнучкий метод. З іншого боку, гнучкість часто ускладнює інтерпретацію результатів класифікатора SVM порівняно з LDA.
Класифікація SVM - це проблема оптимізації, LDA має аналітичне рішення. Проблема оптимізації для SVM має подвійну та первинну формулювання, що дозволяє користувачеві оптимізувати або кількість точок даних, або кількість змінних, залежно від того, який метод є найбільш обчислювально можливим. SVM також може використовувати ядра для перетворення класифікатора SVM з лінійного класифікатора в нелінійний класифікатор. Використовуйте улюблену пошукову систему для пошуку "трюку ядра SVM", щоб побачити, як SVM використовує ядра для перетворення простору параметрів.
LDA використовує весь набір даних для оцінки коваріаційних матриць і, таким чином, дещо схильний до виснаження. SVM оптимізований за підмножиною даних, що є тими точками даних, що лежать на розділювальному полі. Точки даних, що використовуються для оптимізації, називаються векторами підтримки, оскільки вони визначають, як SVM розрізняє групи, і таким чином підтримують класифікацію.
Наскільки я знаю, SVM насправді не розрізняє більше двох класів. Більш надійною альтернативою є використання логістичної класифікації. LDA добре справляється з декількома класами, доки припущення виконані. Хоча я вважаю, що (попередження: жахливо необґрунтована заява), що декілька старих орієнтирів виявили, що ЛДА зазвичай працює досить добре за багатьох обставин, і LDA / QDA часто є гото методами в початковому аналізі.
LDA може використовуватися для вибору функцій, коли із рідким LDA: https://web.stanford.edu/~hastie/Papers/sda_resubm_daniela-final.pdf . SVM не може здійснити вибір функції.
Якщо коротко: LDA та SVM мають дуже мало спільного. На щастя, вони обоє надзвичайно корисні.
SVM зосереджується лише на точках, які важко класифікувати, LDA зосереджується на всіх точках даних. Такі складні моменти близькі до межі прийняття рішення і називаються Векторами підтримки . Межа рішення може бути лінійною, але також, наприклад, ядром RBF або ядром полінома. Де LDA - це лінійна трансформація для досягнення максимальної відокремленості.
LDA передбачає, що точки даних мають однакову коваріацію, і щільність ймовірності передбачається нормально розподіленою. SVM не має такого припущення.
LDA є генеративним, SVM - дискримінаційним.
Машини, що підтримують вектор, знаходять лінійний сепаратор (лінійна комбінація, гіперплан), який розділяє класи з найменшою помилкою, і вибирають роздільник з максимальним запасом (ширина, яку можна було б збільшити, перш ніж потрапляти в точку даних).
Наприклад, який лінійний роздільник найкраще розділяє класи?
Той, що має максимальний запас:
Лінійний дискримінантний аналіз знаходить середні вектори кожного класу, потім знаходить напрямок проекції (обертання), що максимально відокремлює засоби:
Він також враховує дисперсію в межах класу, щоб знайти проекцію, яка мінімізує перекриття розподілів (коваріації) при максимальному розділенні засобів: