Якісь "великі правила" щодо кількості функцій проти кількості примірників? (невеликі набори даних)


17

Мені цікаво, чи є евристика за кількістю ознак проти кількості спостережень. Очевидно, якщо низка особливостей дорівнює кількості спостережень, модель буде перевершувати. За допомогою розріджених методів (LASSO, еластична сітка) ми можемо усунути кілька функцій, щоб зменшити модель.

Моє запитання (теоретично): перед тим, як використовувати метрики для оцінки вибору моделі, чи існують емпіричні спостереження, які співвідносять оптимальну кількість ознак із кількістю спостережень?

Наприклад: для проблеми бінарної класифікації з 20 екземплярами у кожному класі, чи існує якась верхня межа щодо кількості функцій, які слід використовувати?

Відповіді:


14

Кілька статей висловилися проти цього

лише в рідкісних випадках відомий розподіл помилки як функції від кількості ознак та розміру вибірки.

Поверхня помилок для заданого набору екземплярів та особливостей є функцією кореляції (або відсутності) між ознаками.

Ця стаття пропонує наступне:

  • Для непов'язаних функцій оптимальним розміром функції є (де - розмір вибірки)N-1N
  • Зі збільшенням кореляції функцій збільшується, а оптимальний розмір функції стає пропорційним для сильно корельованих функцій.N

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


2
Я вважаю цю відповідь дещо оманливою, оскільки важливе припущення статті Hua відсутнє: Особливості Hua et al. врахуйте, що у зв'язаному документі всі інформативні, а це не те, що можна очікувати на практиці. ІМХО це слід чітко вказати, оскільки найпоширенішим типом некорельованих "ознак" ІМХО є неінформативні канали вимірювання.
cbeleites підтримує Моніку

Wrt криві навчання: ОП, ймовірно, не зможе використати їх у 2 × 20 випадках, оскільки їх не можна виміряти з корисною точністю з так мало випадків. Хуа коротко згадує про це, і ми цю проблему досить детально обговорили в статті, яку я зв'язав у своїй відповіді нижче.
cbeleites підтримує Моніку

8

з власного досвіду: В одному випадку я працював із реальною базою даних, яка дуже маленька (300 зображень) з багатьма класами, серйозна проблема дисбалансу даних, і я закінчила використання 9 функцій: SIFT, HOG, контекст форми, SSIM, GM і 4 функції на основі DNN. В іншому випадку я працював з дуже великою базою даних (> 1 М зображень) і в кінцевому підсумку використовував лише функцію HOG. Я думаю, немає прямого зв’язку між кількістю екземплярів та кількістю функцій, необхідних для досягнення високої точності. АЛЕ: кількість класів, схожість між класами та варіацією в межах одного класу (ці три параметри) можуть впливати на кількість особливостей. при наявності великої бази даних з багатьма класами та великою подібністю між класами та великою варіацією в межах одного класу вам потрібно більше функцій для досягнення високої точності. ПАМ'ЯТАЙТЕ:


@Bashar Haddad: Виправте мене, якщо я помиляюся (так як я новачок і в комп’ютерному зорі, і в ML), чи не особливість HOG насправді високого розмірного вектора (у моєму випадку я отримував 1764-мірні функції HOG). Отже, коли ви говорите 9 функцій, і одна з них - HOG, чи не ви насправді отримуєте просторовий простір з високими розмірами лише для HOG?
Mathmath

1
У літературі вони використовують слово особливість або для позначення типу ознаки, або показника розмірності. Тож, коли я кажу, що я використовую 6 функцій, це означає, що я використовую 6 типів функцій, кожен з них - (1 x D) вектор. якщо я кажу про тип функції Hog, кожен вимір може бути особливістю.
Башар Хаддад

2

Це залежить ... але, звичайно, ця відповідь нікуди не потрапляє.

Він є деяким правилом щодо складності моделі: Навчання з даних - розмір ВК

"Дуже приблизно" вам потрібно 10 точок даних для кожного параметра моделі. А кількість параметрів моделі може бути аналогічною кількості функцій.


2

Трохи спізнився на вечірку, але ось деякі евристики.

Проблема бінарної класифікації з 20 екземплярами у кожному класі, чи існує якась верхня межа щодо кількості функцій, які слід використовувати?

  • Для навчання лінійних класифікаторів рекомендується 3 - 5 незалежних випадків на клас та особливості. Цей ліміт дає надійно стабільні моделі, він не гарантує хорошої моделі (це неможливо: у вас можуть бути неінформативні дані, коли жодна модель не може досягти хороших узагальнювальних характеристик)

  • Однак, для розмірів вибірки , як малі , як ваш сценарій, верифікації (перевірки) , а не навчання є вузьким місцем, і перевірка залежить від абсолютної кількості тестів , а не випадки щодо складності моделі: як правило, вам потрібно ≈ 100 тесту випадки в знаменнику для оцінки пропорції з довірчим інтервалом, який не перевищує 10% балів.

    На жаль, це також означає, що ви в основному не можете отримати емпіричну криву навчання для вашої програми: ви не можете її точно виміряти, а на практиці у вас все-таки виникнуть величезні труднощі з її екстраполяцією, оскільки під час навчання ви реагуєте на невеликий розмір вибірки, обмежуючи модель складність - і ви можете розслабити це, збільшуючи розмір вибірки.

    Детальніше дивіться в нашому документі: Beleites, C. and Neugebauer, U. and Bocklitz, T. and Krafft, C. and Popp, J .: Планування розмірів зразків для класифікаційних моделей. Anal Chim Acta, 2013, 760, 25-33.
    DOI: 10.1016 / j.aca.2012.11.007

    прийнято рукопис на arXiv: 1211.1323

  • Я ніколи не мав нічого близького до цих рекомендацій (дані спектроскопії, також для медичних застосувань). Що я тоді роблю, це: я дуже ретельно вимірюю стабільність моделі як частина моделювання та процесу верифікації.

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