Случайна класификация на горите

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

Ето защо се нарича „гора“ — това е основно набор от дървета за вземане на решения. Основната идея е да се развият множество дървета на решения въз основа на независимите подмножества на набора от данни. Във всеки възел n променливи от набора от функции се избират произволно и се намира най-доброто разпределение на тези променливи.

С прости думи алгоритъмът може да бъде описан по следния начин:

  1. Множество дървета са изградени приблизително на две трети от данните за обучение (62,3%). Данните се избират на случаен принцип.
  2. Няколко предикторни променливи се избират на случаен принцип от всички предикторни променливи. След това най-доброто разделяне на тези избрани променливи се използва за разделяне на възела. По подразбиране количеството на избраните променливи е корен квадратен от общия брой на всички предиктори за класификация и е постоянно за всички дървета.
  3. Като се използват останалите данни, се изчислява процентът на грешна класификация. Общият процент грешки се изчислява като общия процент на грешки извън пакета.
  4. Всяко обучено дърво дава свой собствен резултат от класификацията, давайки свой собствен глас. Като резултат се избира класът, получил най-много гласове.

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

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

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

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

Логистична регресия

Логистичната регресия е много подобна на линейната регресия. При линейната регресия се използва праг за извършване на класификацията. Докато в случай на логистична регресия се използва сигмоидна функция. Логистичната регресия се използва, когато необходимият изход е категорични данни.

Например:

  1. Предсказване дали имейлът е спам или не.
  2. Независимо дали софтуерът има злонамерен софтуер или не.

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

Сигмоидната функция преобразува нормалната изходна стойност с 0 и 1. Изходните стойности тук ще бъдат 0 и 1 в случай на логистична регресия.

Тук Z е изходът, W е теглото или пресечната точка и (X) са използваните точки от данни за обучение. (B) е членът на грешката.

Сигмоидна функция

Тук, ако „z“ върви към положителна безкрайност, прогнозата „y“ ще бъде 1, а ако „z“ отива към отрицателна безкрайност, прогнозата „y“ ще бъде 0.