ML & AI

Топ 20 алгоритми, методи и техники за изкуствен интелект и машинно обучение

Топ 20 алгоритми, методи и техники за изкуствен интелект и машинно обучение

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

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

Най-добри алгоритми за изкуствен интелект и машинно обучение


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

1.  Наивен Байес


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

Наивният Байес е условен модел на вероятност. Даден екземпляр на проблема, който трябва да бъде класифициран, представен от вектор х = (хi … хн) представляващи някои n характеристики (независими променливи), той присвоява на текущите вероятности за всеки от потенциалните резултати от K:

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

Използвайки терминология на Байесова вероятност, горното уравнение може да бъде записано като:

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

2. Поддръжка на векторна машина


Support Vector Machine (SVM) е един от най-широко използваните контролирани алгоритми за машинно обучение в областта на класификацията на текста. Този метод се използва и за регресия. Това може да се нарече и поддръжка на векторни мрежи. Cortes & Vapnik разработиха този метод за бинарна класификация. Моделът на контролирано обучение е подходът за машинно обучение, който извежда резултатите от етикетираните данни за обучение.

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

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

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

За внедряване на Support Vector Machine: Библиотеки за наука за данни в Python- SciKit Learn, PyML, SVMСтруктура  Python, LIBSVM и библиотеки за наука за данни в R-Klar, e1071.

3. Линейна регресия


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

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

Y = a * X + b.

тук,

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

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


Ето още един алгоритъм за машинно обучение - логистична регресия или logit регресия, която се използва за оценка на дискретни стойности (двоични стойности като 0/1, да / не, вярно / невярно) въз основа на даден набор от независимата променлива. Задачата на този алгоритъм е да предскаже вероятността от инцидент чрез приспособяване на данни към логит функция. Изходните му стойности са между 0 и 1.

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

Логистичната регресия може да бъде разделена на три вида -

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

5. K-Най-близък-съсед (KNN)


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

Този AI и ML метод е доста прост. Той определя категорията на тестов документ t въз основа на гласуването на набор от k документи, които са най-близки до t по отношение на разстояние, обикновено евклидово разстояние. Основното правило за решение, дадено на документ за изпитване t за kNN класификатора, е:

Когато y (xi, c) е двоична класификационна функция за документ за обучение xi (която връща стойност 1, ако xi е обозначена с c или 0 по друг начин), това правило обозначава с t с категорията, която получава най-много гласове в k -най-близък квартал.

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

6. K-означава


k-mean клъстерирането е метод на без надзор обучение, който е достъпен за клъстерен анализ при извличане на данни. Целта на този алгоритъм е да раздели n наблюдения на k клъстери, където всяко наблюдение принадлежи на най-близката средна стойност на клъстера. Този алгоритъм се използва в сегментирането на пазара, компютърното зрение и астрономията сред много други области.

7. Дърво на решенията


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

Той има подобна на блок-схема структура, в която всеки вътрешен възел представлява „тест“ на атрибут, всеки клон представлява резултата от теста, а всеки листен възел представлява етикет на клас. Пътят от корена до листа е известен като правила за класификация. Състои се от три вида възли:

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

8. Случайна гора


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

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

9. КОШИЦА


Дървото за класификация и регресия (CART) е един вид дърво за вземане на решения. Дървото за решения работи като подход на рекурсивно разделяне и CART разделя всеки от входните възли на два дъщерни възела. На всяко ниво на дърво за вземане на решения алгоритъмът идентифицира условие - коя променлива и ниво да бъдат използвани за разделяне на входния възел на два дъщерни възела.

Стъпките на алгоритъма на CART са дадени по-долу:

10. Алгоритъм за машинно обучение Apriori


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

Алгоритъмът за машинно обучение Apriori работи като:

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

11. Анализ на основни компоненти (PCA)


Анализът на основните компоненти (PCA) е ненаблюдаван алгоритъм. Новите функции са ортогонални, което означава, че не са свързани. Преди да изпълните PCA, винаги трябва да нормализирате набора от данни, защото трансформацията зависи от мащаба. Ако не го направите, функциите, които са в най-значимия мащаб, ще доминират в новите основни компоненти.

PCA е универсална техника. Този алгоритъм е лесен и лесен за изпълнение. Може да се използва при обработка на изображения.

12. CatBoost


CatBoost е алгоритъм за машинно обучение с отворен код, който идва от Yandex. Името "CatBoost" идва от две думи "Категория" и "Повишаване.„Може да се комбинира с дълбоки рамки за обучение, т.е.д., Google TensorFlow и Core ML на Apple. CatBoost може да работи с множество типове данни за решаване на няколко проблема.

13. Итеративен дихотомайзер 3 (ID3)


Iterative Dichotomiser 3 (ID3) е алгоритмично правило за обучение на дърво на решенията, представено от Рос Куинлан, което се използва за предоставяне на дърво за решения от набор от данни. Той е предшественик на C4.5 алгоритмична програма и се използва в рамките на областите на машинното обучение и езиковата комуникация.

ID3 може да се приспособи към данните за обучението. Това алгоритмично правило е по-трудно да се използва при непрекъснати данни. Това не гарантира оптимално решение.

14. Йерархично клъстериране


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

Алгоритъм

Този метод на машинно обучение може да бъде разделен на два модела - отдолу нагоре или отгоре надолу:

Отдолу нагоре (Йерархична агломеративна клъстеризация, HAC)

а. Пълна връзка: Прилика на най-отдалечената двойка. Едно ограничение е, че извънредните стойности могат да причинят сливането на близки групи по-късно от оптималното.

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

° С. Средно за групата: сходство между групите.

д. Прилика на центроид: всяка итерация обединява клъстерите с най-подобната централна точка.

От горе надолу (Разделно клъстериране)

15. Обратно размножаване


Обратното разпространение е контролиран учебен алгоритъм. Този ML алгоритъм идва от областта на ANN (Изкуствени невронни мрежи). Тази мрежа е многослойна мрежа за пренасочване. Тази техника има за цел да проектира дадена функция, като модифицира вътрешните тегла на входните сигнали, за да произведе желания изходен сигнал. Може да се използва за класификация и регресия.

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

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

16. AdaBoost


AdaBoost означава Adaptive Boosting, метод за машинно обучение, представен от Yoav Freund и Robert Schapire. Това е мета-алгоритъм и може да се интегрира с други алгоритми за обучение, за да се подобри тяхната производителност. Този алгоритъм е бърз и лесен за използване. Той работи добре с големи набори от данни.

17. Дълбоко обучение


Дълбокото обучение е набор от техники, вдъхновени от механизма на човешкия мозък. Двете първични дълбоки обучения, т.е.д., В класификацията на текстовете се използват невронални мрежи с конволюция (CNN) и периодични невронни мрежи (RNN). Алгоритми за дълбоко обучение като Word2Vec или GloVe също се използват, за да получат високопоставени векторни представяния на думи и да подобрят точността на класификаторите, което се обучава с традиционните алгоритми за машинно обучение.

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

18. Алгоритъм за повишаване на градиента


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

19. Мрежата на Хопфийлд


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

20. С4.5 


С4.5 е дърво на решенията, което е измислено от Рос Куинлан. Това е версия за надстройка на ID3. Тази алгоритмична програма обхваща няколко основни случая:

Край на мислите


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

Емулирайте кликванията на мишката, като задържите курсора на мишката с кликаща мишка в Windows 10
Използването на мишка или клавиатура в неправилна поза при прекомерна употреба може да доведе до много здравословни проблеми, включително напрежение, ...
Добавете жестове на мишката към Windows 10, като използвате тези безплатни инструменти
През последните години компютрите и операционните системи значително се развиха. Имаше време, когато потребителите трябваше да използват команди за на...
Контролирайте и управлявайте движението на мишката между множество монитори в Windows 10
Двоен дисплей на мишката ви позволява да контролирате и конфигурирате движението на мишката между множество монитори, като забавя движенията му близо ...