Случайна класификация на горите
Random Forest е един от най-популярните алгоритми за машинно обучение. Не изисква почти никаква подготовка и моделиране на данни, но обикновено води до неточни резултати. Случайните гори са колекции от дървета на решенията, осигуряващи по-добра точност на прогнозиране.
Ето защо се нарича „гора“ — това е основно набор от дървета за вземане на решения. Основната идея е да се развият множество дървета на решения въз основа на независимите подмножества на набора от данни. Във всеки възел n променливи от набора от функции се избират произволно и се намира най-доброто разпределение на тези променливи.
С прости думи алгоритъмът може да бъде описан по следния начин:
- Множество дървета са изградени приблизително на две трети от данните за обучение (62,3%). Данните се избират на случаен принцип.
- Няколко предикторни променливи се избират на случаен принцип от всички предикторни променливи. След това най-доброто разделяне на тези избрани променливи се използва за разделяне на възела. По подразбиране количеството на избраните променливи е корен квадратен от общия брой на всички предиктори за класификация и е постоянно за всички дървета.
- Като се използват останалите данни, се изчислява процентът на грешна класификация. Общият процент грешки се изчислява като общия процент на грешки извън пакета.
- Всяко обучено дърво дава свой собствен резултат от класификацията, давайки свой собствен глас. Като резултат се избира класът, получил най-много гласове.
Както в дърветата на решенията, този алгоритъм премахва необходимостта от избор на функции за премахване на неподходящи характеристики - те няма да бъдат взети под внимание в никакъв случай. Възниква единствената необходимост от всякакъв избор на функции с произволните горски алгоритми.
Случайните гори наследяват много от предимствата на алгоритмите на дървото на решенията. Те са приложими както за проблеми с регресия, така и за класификация; те са лесни за изчисляване и бързо се напасват. Те също така обикновено водят до по-добра точност.
Въпреки това, за разлика от дърветата на решенията, не е много лесно да се интерпретират резултатите. В дърветата на решенията, като изследваме полученото дърво, можем да получим ценна информация за това кои променливи са важни и как те влияят на резултата. Това не е възможно при произволни гори.
Може също да се опише като по-стабилен алгоритъм от дърветата на решенията - ако променим малко данните, дърветата на решенията ще се променят, най-вероятно намалявайки точността. Това няма да се случи в алгоритмите на произволната гора — тъй като това е комбинация от много дървета на решенията, произволната гора ще остане стабилна.
Логистична регресия
Логистичната регресия е много подобна на линейната регресия. При линейната регресия се използва праг за извършване на класификацията. Докато в случай на логистична регресия се използва сигмоидна функция. Логистичната регресия се използва, когато необходимият изход е категорични данни.
Например:
- Предсказване дали имейлът е спам или не.
- Независимо дали софтуерът има злонамерен софтуер или не.
Помислете за примера, в който трябва да определим дали дадения софтуер е злонамерен или не. В случай на линейна регресия ще бъде зададен праг въз основа на използваните функции и данните за обучение. Огромният проблем с линейната регресия са отклоненията и отрицателната стойност на прага. Наличието на отклонение може драстично да промени пълното уравнение на най-подходящата линия и праговата линия, която ще получим, няма да бъде перфектна. За справяне с такива проблеми се използва сигмоидна функция в случай на логистична регресия.
Сигмоидната функция преобразува нормалната изходна стойност с 0 и 1. Изходните стойности тук ще бъдат 0 и 1 в случай на логистична регресия.
Тук Z е изходът, W е теглото или пресечната точка и (X) са използваните точки от данни за обучение. (B) е членът на грешката.
Сигмоидна функция
Тук, ако „z“ върви към положителна безкрайност, прогнозата „y“ ще бъде 1, а ако „z“ отива към отрицателна безкрайност, прогнозата „y“ ще бъде 0.