Коли ви використовуєте PCA, а не LDA в класифікації?


10

Я читаю цю статтю про різницю між принциповим аналізом компонентів та множинним дискримінантним аналізом (лінійний дискримінантний аналіз), і я намагаюся зрозуміти, чому ви коли-небудь використовуватимете PCA, а не MDA / LDA.

Пояснення узагальнено наступним чином:

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

Чи не завжди ви хочете як максимізувати дисперсію, так і максимізувати розкид між класами?


1
Вибачте, я мав на увазі багаторазовий дискримінантний аналіз, який, схоже, також називається множинним лінійним дискримінантним аналізом
chris

1
Ви повинні уточнити своє запитання, оскільки на сьогоднішній день це тривіально: вам слід віддавати перевагу PCA перед MDA, коли у ваших даних не існує класів, які підлягали б дискримінації. Я думаю, ви повинні уточнити, що це питання щодо класифікації у питанні.
Firebug

1
LDA - набагато більш поширений термін, ніж MDA. Немає потреби говорити "кілька лінійних", "лінійних" достатньо.
амеба

Відповіді:


11

Ви пропускаєте щось глибше: PCA не є методом класифікації.

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

Ви завжди повинні мати на увазі, що алгоритми можуть мати припущення щодо даних, і якщо такі припущення не відповідають, вони можуть бути неефективними.

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

Отже, відповідь - ви ніколи не використовуєте PCA для класифікації, але ви можете використовувати його, щоб спробувати покращити продуктивність LDA.


7

Тоді як відповідь Firefog на попередження є правильним, я хочу додати іншу точку зору:

Навчання без нагляду та контролю:

LDA дуже корисно знайти розміри, які спрямовані на відокремлення кластеру, тому вам доведеться знати кластери раніше. LDA не обов'язково є класифікатором, але може використовуватися як один. Таким чином, LDA може бути використаний лише у навчанні під контролем

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


2
+1, особливо для LDA is not neccesarily a classifier. Читачеві (ОП теж) рекомендується прочитати це пов'язане питання: Як LDA, методика класифікації, також виконує функції зменшення розмірності, як PCA .
ttnphns

і відповіді тут порівнюють результати та графіки LDA та PCA як тьмяні. скорочення.
ttnphns

(+1) LDA - це дійсно техніка зменшення розмірів, узагальнення лінійного дискримінанта Фішера, яке люди зазвичай розглядають як критерій класифікації.
Firebug

2

LDA використовується для вирізання багатовимірного простору.

PCA використовується для згортання багатовимірного простору.

Наприклад: 3D-об’єкти кидають 2D тіні. PCA часто дозволяє нам зібрати сотні просторових розмірів на жменю нижчих просторових розмірів, зберігаючи 70% - 90% важливої ​​інформації.

Як я бачу розмір і форму вашої руки з її тіні. Я не можу сказати тобі все про форму вашої руки. Але маючи колекцію з 3 або 4 тіней з оптимальних відомих ракурсів. Тоді я міг би розповісти вам більшість речей про розмір і форму руки.

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