Уморихте ли се да създавате модели за машинно обучение само за да ги накарате да се провалят мизерно на небалансирани набори от данни? Смятате ли, че постоянно се борите срещу класата на мнозинството, опитвайки се да разтърсите справедливо класата на малцинството? Опитвали ли сте всички възможни начини да подобрите точността на вашия най-добре разработен ML модел и сте се обезсърчили от резултатите? Е, не се страхувайте! Време е да се изправите директно срещу небалансирани набори от данни и да излезете победител. В тази статия ще проучим различните техники и алгоритми, които можете да използвате, за да се справите с небалансирани набори от данни и да изградите модели, които се представят добре както в мнозинството, така и в малцинствените класове. Така че сложете наметката си за супергерой, вземете чаша кафе и нека се приготвим да преодолеем дисбаланса на данните!

Дисбалансът на данните е често срещан проблем в машинното обучение, където разпределението на класовете в целевата променлива е изкривено. В небалансирани набори от данни класата на малцинството често е претоварена от класа на мнозинството, което води до предубедени модели, които се представят лошо на класа на малцинството.

Алгоритмите за машинно обучение са предназначени да изучават модели в данните и да правят прогнози въз основа на тези модели. Когато данните са небалансирани, алгоритмите предпочитат класа на мнозинството и игнорират класа на малцинството. Това може да доведе до неоптимална производителност на малцинствения клас, особено в приложения като откриване на измами, медицинска диагностика и прогнозиране на отлив на клиенти, където малцинственият клас е от голям интерес.

Разбиране на проблема с небалансираните набори от данни

В машинното обучение често имаме целева променлива, която искаме да предвидим. Целевата променлива може да приеме една от няколко възможни стойности или класове. Например, при проблем с откриване на измама, целевата променлива може да бъде двоична променлива, показваща дали транзакцията е измамна или не.

Когато разпределението на класовете в целевата променлива е дисбалансирано, това означава, че един клас е свръхпредставен спрямо другия клас. Например, при проблем с откриване на измама, ако само 1% от транзакциите са измамни, тогава наборът от данни е небалансиран по отношение на измамния клас.

Проблемът с небалансираните набори от данни е, че алгоритмите за машинно обучение са проектирани да оптимизират точността, което не винаги е най-добрият показател за небалансирани набори от данни. В небалансирани набори от данни точността може да бъде подвеждаща, тъй като модел, който винаги предвижда класа на мнозинството, може да постигне висока точност, въпреки че не е полезен за класа на малцинството.

Подходи за справяне с небалансирани набори от данни

Има няколко подхода за справяне с небалансирани набори от данни в машинното обучение, включително повторна семплиране, свръхсемплиране и недостатъчно семплиране, използване на подходящи показатели и използване на алгоритми, предназначени за небалансирани набори от данни.

Повторно вземане на проби:

Повторното вземане на проби включва промяна на размера на класовете в набора от данни чрез свръхизвадка от малцинствения клас, недостатъчна извадка от мнозинствения клас или комбинация от двете.

  1. Свръхсемплиране:
    Свръхсемплиране включва дублиране на примери от класа на малцинството, за да се увеличи неговият размер спрямо класа на мнозинството. Това може да доведе до пренастройване, тъй като моделът е изложен на едни и същи примери многократно.
  2. Недостатъчна извадка:
    Недостатъчната извадка включва премахване на примери от мнозинствения клас, за да се намали неговият размер спрямо малцинствения клас. Това може да доведе до загуба на информация, тъй като ценна информация от мажоритарния клас може да бъде загубена.
  3. Техника за свръхсемплиране на синтетично малцинство (SMOTE):
    SMOTE е популярна техника за свръхсемплиране, която генерира синтетични примери за малцинствения клас. Синтетичните примери се създават чрез интерполиране между съществуващи примери от малцинствения клас. По-малко вероятно е SMOTE да доведе до пренастройване, отколкото обикновено свръхсемплиране, тъй като синтетичните примери не са точни дубликати на съществуващи примери.

Подходящи показатели

Когато оценявате производителността на модел върху небалансиран набор от данни, е важно да използвате показатели, които са подходящи за небалансирани набори от данни.

  1. Матрица на объркване:
    Матрицата на объркване е таблица, която се използва за оценка на ефективността на класификационен модел. Той предоставя информация за истински положителни (TP), фалшиви положителни (FP), истински отрицателни (TN) и фалшиво отрицателни (FN) нива на модела.
  2. Прецизност и припомняне:
    Прецизността и припомнянето са показатели, които се използват за оценка на ефективността на класификационен модел. Прецизността е частта от истински положителни прогнози, които са правилни сред всички положителни прогнози, т.е. точност = TP / (TP + FP), докато припомнянето е частта от истински положителни прогнози, които са правилно идентифицирани, т.е. припомняне = TP / (TP + FN ). При небалансирани набори от данни припомнянето често е по-важно от прецизността, тъй като измерва способността на модела да идентифицира правилно малцинствения клас.
  3. Резултат F1:
    Резултатът F1 е хармоничната средна стойност на прецизност и припомняне и осигурява единична мярка за цялостната производителност на модела. При небалансирани набори от данни резултатът F1 е добър показател за използване, тъй като балансира компромиса между прецизност и припомняне. Математическата дефиниция за по-добро разбиране е:
F1 Score = 2 * (Precision * Recall) / (Precision + Recall)

Алгоритми за небалансирани набори от данни

Има няколко алгоритма за машинно обучение, които са специално проектирани за небалансирани набори от данни, включително дървета на решения, произволни гори и поддържащи векторни машини.

  • Дървета на решения и произволни гори:

Дърветата на решенията и произволните гори са популярни алгоритми за машинно обучение, които могат да се справят с небалансирани набори от данни. Дърветата на решения работят, като разделят данните на подмножества въз основа на характеристиките, докато произволните гори работят чрез комбиниране на множество дървета на решения, за да намалят пренастройването. Както дърветата на решенията, така и произволните гори могат да се справят с небалансирани набори от данни, като претеглят класа на малцинството по-високо от класа на мнозинството. Това гарантира, че моделът обръща повече внимание на малцинствената класа и е по-малко вероятно да бъде предубеден към класата на мнозинството.

  • Поддържащи векторни машини:

Поддържащите векторни машини (SVM) са алгоритми за машинно обучение, които могат да се използват както за класификация, така и за регресия. SVM могат да обработват небалансирани набори от данни, като използват техника, наречена чувствително към разходите обучение, където различни разходи се присвояват на различни класове въз основа на тяхната честота в данните. При чувствителното към разходите обучение класата на малцинството получава по-висока цена, което гарантира, че моделът обръща повече внимание на класата на малцинството. Това прави SVM добър избор за небалансирани набори от данни, особено в приложения като откриване на измами и медицинска диагностика, където малцинственият клас е от голям интерес.

Заключение

В заключение, боравенето с небалансирани набори от данни в машинното обучение е често срещано предизвикателство, което изисква обмислен подход. Техники като повторно вземане на проби, използване на подходящи показатели и използване на алгоритми, предназначени за небалансирани набори от данни, могат да помогнат за справяне с проблема с дисбаланса на данните и да гарантират, че моделът е в състояние да работи добре в малцинствения клас.

Важно е да разберете проблема с небалансираните набори от данни и да изберете правилния подход въз основа на специфичните изисквания на проблема. С внимателно обмисляне и правилните техники е възможно да се изградят точни и надеждни модели дори върху небалансирани набори от данни.

Благодаря ви, че прочетохте моята статия. Надявам се, че сте го намерили за проницателен и ценен. Ако искате да сте в крак с най-новите ми размисли в областта на науката за данни, помислете дали да не ме следвате за постоянен поток от съдържание, което със сигурност ще подхрани любопитството ви.