Тук ще научите какво е класификация и алгоритми за класификация. Надявам се да ви хареса моето писане!

Какво е класификация?

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

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

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

Двоичните класификатори работят само с два класа или възможни резултати (пример: положително или отрицателно настроение), а класификаторите Multiclass работят с множество класове (пример: на коя страна принадлежи знамето). Multiclass предполага, че всяка проба е присвоена на един и само един етикет.

Алгоритми за класификация

  • Логистична регресия
  • Наивен класификатор на Бейс
  • K-най-близки съседи
  • Поддържащи векторни машини
  • Дървета на решенията
  • Случайна гора
  • Класификатор за усилване на градиента
  • Алгоритъм за стохастичен градиент на спускане
  • Линеен дискриминантен анализ (LDA)
  • Квадратичен дискриминантен анализ (QDA)

1. Алгоритъм за логистична регресия

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

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

Използваме логистична регресия за двоичната класификация на точките от данни. Извършваме категорична класификация, така че даден изход да принадлежи към един от двата класа (1 или 0). Това е недостатък на алгоритъма за логистична регресия.

Две от важните части на логистичната регресия са хипотезата и сигмоидната крива. Данните, генерирани от тази хипотеза, могат да се поберат в лог функцията, която създава S-образна крива, известна като "сигмоид". Използвайки тази функция за журнал, можем допълнително да предвидим категорията на класа.

2. Наивен алгоритъм на Байс

Алгоритъмът Naive Bayes е един от мощните алгоритми за машинно обучение, който се използва за класификация. Това е разширение на теоремата на Байес, където всяка характеристика предполага независимост. Използва се за различни задачи като филтриране на спам и други области на класификация на текст.

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

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

3. K-алгоритъм за най-близки съседи

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

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

KNN прави прогнози според плътността на класовете на най-близките съседи на вектора, образуван от независимите променливи на стойността, която трябва да се прогнозира. Изчислява се разстоянието на точката, която трябва да се предвиди, до други точки. За това се използва функцията за изчисляване на разстоянието на Минковски.

Това са недостатъците на алгоритъма; трябва да се определи стойността на K и цената на изчислението е висока, тъй като трябва да се изчисли разстоянието на всеки екземпляр до всички образци за обучение.

4. Алгоритъм на поддържаща векторна машина

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

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

5. Алгоритъм на дървото на решенията

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

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

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

6. Алгоритъм на произволна гора

Класификаторите Random Forest са вид метод за обучение в ансамбъл, който се използва за класификация, регресия.

Случайните горски класификатори улесняват намаляването на пренастройването на модела и тези класификатори са по-точни от дърветата на решенията в няколко случая.

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

7. Класификатор за усилване на градиента

Градиентно усилване= Градиентно спускане+усилване. Той използва алгоритъм за градиентно спускане, който може да оптимизира всяка диференцируема функция на загуба. Ансамбъл от дървета се изгражда едно по едно и отделните дървета се сумират последователно.

8. Алгоритъм за стохастичен градиент на спускане

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

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

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

9. Линеен дискриминантен анализ (LDA)

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

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

10. Квадратичен дискриминантен анализ (QDA)

Квадратният дискриминантен анализ (QDA) е вариант на LDA, който позволява нелинейно разделяне на данни. Това се постига чрез монтиране на квадратна крива към вашите данни вместо линейна граница.

QDA е по-скъпо от изчислителна гледна точка, защото трябва да изчисли дисперсията в рамките на класа за всеки клас, което е квадратична операция.

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

Заключение

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

Препратки

https://data-flair.training/blogs/machine-learning-classification-algorithms/