Чи обробляє SVM незбалансований набір даних? Це будь-які параметри (наприклад, C або вартість помилкової класифікації), що обробляють незбалансований набір даних?
Чи обробляє SVM незбалансований набір даних? Це будь-які параметри (наприклад, C або вартість помилкової класифікації), що обробляють незбалансований набір даних?
Відповіді:
Для незбалансованих наборів даних ми зазвичай змінюємо штраф за неправильну класифікацію за клас. Це називається SV-зваженим SVM, що мінімізує наступне:
де і N являють собою позитивні / негативні випадки навчання. У стандартному SVM у нас є лише одне значення C , тоді як зараз у нас є 2. Покарання за неправильну класифікацію для класу меншості обрано таким, що є більшим, ніж для класу більшості.
Цей підхід був запроваджений досить рано, він згадується, наприклад, у документі 1997 року:
Едгар Осуна, Роберт Фройнд та Федеріко Жиросі. Підтримка векторних машин: Навчання та програми. Технічний звіт AIM-1602, 1997 р. ( Pdf )
По суті це еквівалентно пересимплінації класу меншин: наприклад, якщо це цілком еквівалентно навчанню стандартного SVM з C = C n e g після включення кожного позитивного два рази у навчальний набір.
SVM можуть працювати з наборами даних з незбалансованими частотними класами. Багато реалізацій дозволяють мати різну величину штрафного покарання (С) для позитивних та негативних класів (що асимптотично еквівалентно зміні частоти класу). Я рекомендую встановити значення цих параметрів, щоб максимізувати продуктивність узагальнення на тестовому наборі, де частоти класів є тими, які ви очікуєте побачити в оперативному використанні.
Я був одним із багатьох людей, які писали з цього приводу документи, ось моє , я побачу, чи зможу я знайти щось більш недавнє / краще. Спробуйте Веропулос, Кемпбелл і Кріштіаніні (1999).