PCA, коли розмірність більша, ніж кількість зразків


21

Я натрапив на сценарій, коли у мене є 10 сигналів / людина на 10 осіб (тобто 100 зразків), що містять 14000 точок даних (розмірів), які мені потрібно передати класифікатору. Я хотів би зменшити розмірність цих даних, і PCA, здається, є способом зробити це. Однак мені вдалося знайти лише приклади PCA, де кількість зразків перевищує кількість розмірів. Я використовую програму PCA, яка знаходить ПК за допомогою SVD. Коли я передаю це мій набір даних 100x14000, повертається 101 ПК, тому переважна більшість розмірів очевидно ігнорується. Програма вказує, що перші 6 ПК містять 90% дисперсії.

Чи обґрунтовано припущення, що ці 101 ПК містять по суті всю дисперсію, а решта розмірів нехтують?

Один з робіт, які я читав, стверджує, що, використовуючи схожий (хоча і трохи нижчий за якістю) набір даних, ніж мій власний, вони змогли зменшити 4500 розмірів до 80, зберігаючи 96% початкової інформації. Паперові ручні хвилі над деталями використовуваної методики PCA були доступні лише 3100 зразків, і я маю підстави вважати менше зразків, ніж було використано для фактичного виконання PCA (для усунення зміщення з фази класифікації).

Чи щось мені не вистачає, чи це справді спосіб використання PCA з набором даних з високою розмірністю вибірки? Будь-який відгук буде дуже вдячний.


2
Якщо у вас немає набагато більше даних, ніж розміри, важко знайти напрямок, який видаляє більшу частину змінності, яка, як передбачається, зробити перший головний компонент. Взагалі є прокляття розмірності. Дані мають тенденцію віддалятися від центру у великих розмірах. Про це Беллман писав у 1960-х.
Майкл Р. Черник

Відповіді:


9

Я б розглядав проблему з дещо іншого кута: наскільки складною моделлю ви можете дозволити собі лише 10 предметів / 100 зразків?

І на це питання я зазвичай відповідаю: набагато менше 100 ПК. Зауважте, що я працюю над різними типами даних (вібраційні спектри), тому речі можуть дещо відрізнятися. У моєму полі загальним набором буде використання 10 або 25 або 50 ПК, обчислених з спектрів O (1000) для суб'єктів O (10).

Ось що б я зробив:

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

  • Я дуже віддаю перевагу ПЛС як попередню обробку для класифікації за PCA, оскільки це робить набагато кращу роботу при сортуванні напрямків, які мають велику різницю, що не допомагає класифікації (в моєму випадку це можуть бути варіації фокусу, що відрізняються товщиною вибірки,. ..). З мого досвіду, я часто отримую подібні класифікатори з 10 прихованими змінними PLS або 25 - 50 ПК.

  • Зразки валідації повинні бути оброблені за допомогою обертання PCA, обчисленого лише з навчального набору, інакше перевірка може (і в таких крайніх випадках, як ваш, найімовірніше,) мати великий надмірний ухил.
    Іншими словами, якщо ви робите позашвидкісну чи перехресну перевірку, попередню обробку PCA або PLS необхідно розраховувати для кожної комбінації поїздів / тестів окремо.


Дякую за дуже інформативні пости. Я працюю з біометричними даними сигналу. Для класифікації з розумною продуктивністю мені потрібно менше 100 ПК, десь в межах 25-50 було б добре. Я розглядав можливість скорочення частоти вибірки, щоб зменшити кількість зразків, які мені потрібно вивчити, але чи очікуєте ви, що рішення про компенсацію дозволу буде вартим цього чи матиме це взагалі будь-який ефект, якщо навчання однакового розміру залишається незмінним ? Хоча мені потрібно, щоб PCA відповідав іншим дослідженням у цій галузі, я, безумовно, розглядаю PLS як вторинний підхід.
Джеймс

1
@James: Я боюся, що на питання щодо частоти вибірки не можна відповісти, не знаючи ваших даних. По суті це питання ефективного розміру вибірки. Не знаючи нічого більше, ми можемо лише сказати, що він знаходиться десь між n (особи) та n (зразки). Якщо всі 10 зразків однієї людини набагато більше схожі між собою, ніж зразки іншої людини, то більше зразків не додають багато інформації до набору даних. Ви можете перевірити це, побудувавши одну модель із усіма зразками та другу модель лише одним зразком на людину та порівнявши їх продуктивність.
cbeleites підтримує Моніку

@James: (частина 2) Якщо ви вважаєте, що зразки однієї людини досить схожі між собою, то вам слід подбати про те, щоб набори для перевірки та навчання не мали спільного персоналу (тобто всі зразки однієї людини або навчаються, або в тестовий набір).
cbeleites підтримує Моніку

Дякуємо, що повернулися до мене. Мої дані мають досить високу мінливість і значне збіг у вибірковому просторі серед класів користувачів. Але вибачте, замість того, щоб зменшити вибірки, я мав на увазі зменшення роздільної здатності на 14000 точок даних, тому, скажімо, у ПКА використовувались лише кожен 2-й, 3-й або 4-й пункт, але з однаковою кількістю фактичних зразків користувачів. Мені було цікаво, чи очікується, що таке падіння роздільної здатності матиме позитивний, негативний або взагалі ніякий вплив на результати PCA, враховуючи, що мої розміри вже значно перевищують мої вибірки.
Джеймс

1
тгод


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