ML & AI

Topp 20 AI och maskininlärningsalgoritmer, metoder och tekniker

Topp 20 AI och maskininlärningsalgoritmer, metoder och tekniker

När jag började arbeta med maskininlärningsproblem känner jag panik vilken algoritm jag ska använda? Eller vilken som är lätt att applicera? Om du är som jag kan den här artikeln hjälpa dig att känna till artificiell intelligens och maskininlärningsalgoritmer, metoder eller tekniker för att lösa eventuella oväntade eller till och med förväntade problem.

Maskininlärning är en så kraftfull AI-teknik som kan utföra en uppgift effektivt utan att använda några uttryckliga instruktioner. En ML-modell kan lära av sin data och erfarenhet. Applikationer för maskininlärning är automatiska, robusta och dynamiska. Flera algoritmer har utvecklats för att hantera denna dynamiska karaktär av verkliga problem. I stort sett finns det tre typer av maskininlärningsalgoritmer, såsom övervakat lärande, övervakat lärande och förstärkt lärande.

Bästa AI- och maskininlärningsalgoritmer


Att välja lämplig maskininlärningsteknik eller metod är en av huvuduppgifterna för att utveckla ett artificiellt intelligens- eller maskininlärningsprojekt. Eftersom det finns flera algoritmer är tillgängliga, och alla har sina fördelar och nytta. Nedan berättar vi 20 maskininlärningsalgoritmer för både nybörjare och proffs. Så, låt oss ta en titt.

1.  Naive Bayes


En Naïve Bayes-klassificerare är en probabilistisk klassificerare baserad på Bayes-sats, med antagandet om oberoende mellan funktioner. Dessa funktioner skiljer sig från applikation till applikation. Det är en av de bekväma maskininlärningsmetoderna för nybörjare att träna.

Naïve Bayes är en villkorlig sannolikhetsmodell. Givet en probleminstans som ska klassificeras, representerad av en vektor x = (xi ... xn) representerar några n-funktioner (oberoende variabler), tilldelar den till nuvarande instans sannolikheter för alla K-potentiella resultat:

Problemet med ovanstående formulering är att om antalet funktioner n är signifikant eller om ett element kan ta ett stort antal värden, är det inte möjligt att basera en sådan modell på sannolikhetstabeller. Vi omarbetar därför modellen för att göra den mer lättanvänd. Med Bayes sats kan den villkorliga sannolikheten skrivas som,

Med Bayesians sannolikhetsterminologi kan ovanstående ekvation skrivas som:

Denna algoritm för artificiell intelligens används i textklassificering, dvs.e., sentimentanalys, dokumentkategorisering, skräppostfiltrering och nyhetsklassificering. Denna maskininlärningsteknik fungerar bra om ingångsdata kategoriseras i fördefinierade grupper. Det kräver också mindre data än logistisk regression. Det överträffar inom olika domäner.

2. Stöd Vector Machine


Support Vector Machine (SVM) är en av de mest använda övervakade maskininlärningsalgoritmerna inom området för textklassificering. Denna metod används också för regression. Det kan också kallas Support Vector Networks. Cortes & Vapnik utvecklade denna metod för binär klassificering. Den övervakade inlärningsmodellen är maskininlärningsmetoden som styr resultatet av de märkta utbildningsdata.

En stödvektormaskin konstruerar ett hyperplan eller en uppsättning hyperplan i ett mycket högt eller oändligt dimensionellt område. Den beräknar den linjära separationsytan med en maximal marginal för en given träningssats.

Endast en delmängd av ingångsvektorerna påverkar valet av marginalen (inringad i figuren); sådana vektorer kallas stödvektorer. När en linjär separationsyta inte finns, till exempel i närvaro av bullriga data, är SVM-algoritmer med en slack variabel lämpliga. Denna klassificerare försöker dela upp datautrymmet med hjälp av linjära eller icke-linjära avgränsningar mellan de olika klasserna.

SVM har använts i stor utsträckning i mönsterklassificeringsproblem och icke-linjär regression. Det är också en av de bästa teknikerna för att utföra automatisk textkategorisering. Det bästa med denna algoritm är att den inte gör några starka antaganden om data.

Att implementera Support Vector Machine: data Science Libraries i Python-SciKit Learn, PyML, SVMStruct  Python, LIBSVM och data Science Libraries i R- Klar, e1071.

3. Linjär regression


Linjär regression är ett direkt tillvägagångssätt som används för att modellera förhållandet mellan en beroende variabel och en eller flera oberoende variabler. Om det finns en oberoende variabel kallas den enkel linjär regression. Om mer än en oberoende variabel är tillgänglig kallas detta multipel linjär regression.

Denna formel används för att uppskatta verkliga värden som bostadspris, antal samtal, total försäljning baserat på kontinuerliga variabler. Här etableras förhållandet mellan oberoende och beroende variabler genom att passa den bästa linjen. Denna bäst passande linje är känd som en regressionslinje och representeras av en linjär ekvation

Y = a * X + b.

här,

Denna maskininlärningsmetod är enkel att använda. Det körs snabbt. Detta kan användas i affärer för försäljningsprognoser. Den kan också användas vid riskbedömning.

4.  Logistisk återgång


Här är en annan maskininlärningsalgoritm - Logistisk regression eller logit-regression som används för att uppskatta diskreta värden (Binära värden som 0/1, ja / nej, true / false) baserat på en given uppsättning av den oberoende variabeln. Uppgiften för denna algoritm är att förutsäga sannolikheten för en incident genom att anpassa data till en logit-funktion. Dess utgångsvärden ligger mellan 0 och 1.

Formeln kan användas inom olika områden som maskininlärning, vetenskaplig disciplin och medicinska områden. Den kan användas för att förutsäga risken för att inträffa en viss sjukdom baserat på patientens observerade egenskaper. Logistisk regression kan användas för att förutsäga kundens önskan att köpa en produkt. Denna maskininlärningsteknik används i väderprognoser för att förutsäga sannolikheten för regn.

Logistisk regression kan delas in i tre typer -

Logistisk regression är mindre komplicerad. Det är också robust. Det kan hantera icke-linjära effekter. Men om träningsdata är glesa och högdimensionella kan denna ML-algoritm överträffa. Det kan inte förutsäga kontinuerliga resultat.

5. K-närmaste granne (KNN)


K-närmaste granne (kNN) är ett välkänt statistiskt tillvägagångssätt för klassificering och har studerats genom åren och har använts tidigt för kategoriseringsuppgifter. Det fungerar som en icke-parametrisk metod för klassificerings- och regressionsproblem.

Denna AI- och ML-metod är ganska enkel. Den bestämmer kategorin för ett testdokument t baserat på omröstningen av en uppsättning k-dokument som är närmast t i termer av avstånd, vanligtvis euklidiskt avstånd. Den väsentliga beslutsregeln som ges ett testdokument t för kNN-klassificeraren är:

Där y (xi, c) är en binär klassificeringsfunktion för träningsdokument xi (som returnerar värde 1 om xi är märkt med c, eller 0 annars), märker denna regel med t med den kategori som ges flest röster i k -näraste stadsdel.

Vi kan kartläggas KNN till våra verkliga liv. Om du till exempel vill ta reda på några personer, av vilka du inte har någon info, skulle du eventuellt föredra att besluta angående hans nära vänner och därför de cirklar han flyttar in och få tillgång till hans / hennes information. Denna algoritm är beräkningsmässigt dyr.

6. K-betyder


k-betyder klustring är en metod för inlärning utan tillsyn som är tillgänglig för klusteranalys vid datautvinning. Syftet med denna algoritm är att dela n observationer i k-kluster där varje observation hör till det närmaste medelvärdet av klustret. Denna algoritm används inom marknadssegmentering, datorsyn och astronomi bland många andra domäner.

7. Beslutsträd


Ett beslutsträd är ett beslutsstödverktyg som använder en grafisk representation, dvs.e., trädliknande diagram eller beslutsmodell. Det används ofta i beslutsanalys och också ett populärt verktyg för maskininlärning. Beslutsträd används i operationsforskning och verksamhetsledning.

Den har en flödesschema-liknande struktur där varje intern nod representerar ett "test" på ett attribut, varje gren representerar resultatet av testet och varje bladnod representerar en klassetikett. Vägen från rot till löv är känd som klassificeringsregler. Den består av tre typer av noder:

Ett beslutsträd är enkelt att förstå och tolka. Den använder en vitlåda-modell. Det kan också kombineras med andra beslutstekniker.

8. Slumpmässig skog


Slumpmässig skog är en populär teknik för ensembleinlärning som fungerar genom att konstruera en mängd beslutsträd vid träningstid och mata ut den kategori som är läget för kategorierna (klassificering) eller genomsnittlig förutsägelse (regression) för varje träd.

Runtiden för denna maskininlärningsalgoritm är snabb och den kan arbeta med obalanserad och saknad data. Men när vi använde det för regression, kan det inte förutsäga bortom intervallet i träningsdata, och det kan överträffa data.

9. VAGN


Classification and Regression Tree (CART) är ett slags beslutsträd. Ett beslutsträd fungerar som en rekursiv partitioneringsstrategi och CART delar var och en av ingångsnoderna i två barnnoder. Vid varje nivå i ett beslutsträd identifierar algoritmen ett tillstånd - vilken variabel och nivå som ska användas för att dela in ingångsnoden i två undernoder.

CART-algoritmsteg ges nedan:

10. Apriori maskininlärningsalgoritm


Apriori-algoritmen är en kategoriseringsalgoritm. Denna maskininlärningsteknik används för att sortera stora mängder data. Det kan också användas för att följa upp hur relationer utvecklas och kategorier byggs. Denna algoritm är en inlärningsmetod utan tillsyn som genererar associeringsregler från en given datamängd.

Apriori maskininlärningsalgoritm fungerar som:

Denna ML-algoritm används i en mängd olika applikationer, såsom att upptäcka biverkningar, för analys av marknaden och för automatisk komplettering av applikationer. Det är enkelt att implementera.

11. Principal Component Analysis (PCA)


Principal component analysis (PCA) är en algoritm utan tillsyn. De nya funktionerna är ortogonala, det betyder att de inte är korrelerade. Innan du utför PCA bör du alltid normalisera din dataset eftersom transformationen är beroende av skalan. Om du inte gör det kommer de funktioner som är i den mest betydelsefulla skalan att dominera nya huvudkomponenter.

PCA är en mångsidig teknik. Denna algoritm är enkel och enkel att implementera. Den kan användas vid bildbehandling.

12. CatBoost


CatBoost är en maskininlärningsalgoritm med öppen källkod som kommer från Yandex. Namnet 'CatBoost' kommer från två ord 'Category' och 'Boosting.'Det kan kombineras med djupinlärningsramar, dvs.e., Googles TensorFlow och Apples Core ML. CatBoost kan arbeta med många datatyper för att lösa flera problem.

13. Iterativ dikotomiserare 3 (ID3)


Iterativ dikotomiser 3 (ID3) är en algoritmisk regel för beslutsträdinlärning som presenteras av Ross Quinlan som används för att leverera ett beslutsträd från en dataset. Det är föregångaren till C4.5 algoritmiskt program och används inom maskininlärning och språkliga kommunikationsprocessområden.

ID3 kan överträffa träningsdata. Denna algoritmiska regel är hårdare att använda på kontinuerlig data. Det garanterar inte en optimal lösning.

14. Hierarkisk klustring


Hierarkisk kluster är ett sätt att analysera kluster. I hierarkiskt kluster utvecklas ett klusterträd (ett dendrogram) för att illustrera data. I hierarkisk gruppering länkar varje grupp (nod) till två eller flera efterföljande grupper. Varje nod i klustret innehåller liknande data. Noder grupperas i diagrammet bredvid andra liknande noder.

Algoritm

Denna maskininlärningsmetod kan delas in i två modeller - botten upp eller uppifrån och ner:

Bottom-up (Hierarchical Agglomerative Clustering, HAC)

a. Komplett koppling: Likhet med det längsta paret. En begränsning är att avvikare kan orsaka sammanslagning av nära grupper senare än vad som är optimalt.

b. Enkel koppling: Likheten med det närmaste paret. Det kan orsaka för tidig sammanslagning, även om dessa grupper är helt olika.

c. Gruppgenomsnitt: likhet mellan grupper.

d. Centroid-likhet: varje iteration sammanfogar klusterna med den främsta liknande centrala punkten.

Uppifrån och ner (Divisive Clustering)

15. Back-Propagation


Back-propagation är en övervakad inlärningsalgoritm. Denna ML-algoritm kommer från området ANN (Artificial Neural Networks). Detta nätverk är ett flerskiktsmatningsnätverk. Denna teknik syftar till att utforma en given funktion genom att modifiera de inre vikterna hos insignaler för att producera önskad utsignal. Den kan användas för klassificering och regression.

Backutbredningsalgoritm har några fördelar, dvs.e., det är enkelt att implementera. Den matematiska formeln som används i algoritmen kan tillämpas på vilket nätverk som helst. Beräkningstiden kan minskas om vikterna är små.

Back-propagationsalgoritm har vissa nackdelar, eftersom den kan vara känslig för bullriga data och outliers. Det är en helt matrisbaserad strategi. Den faktiska prestandan för denna algoritm beror helt på indata. Utgången kan vara icke-numerisk.

16. AdaBoost


AdaBoost betyder Adaptive Boosting, en maskininlärningsmetod representerad av Yoav Freund och Robert Schapire. Det är en metalgoritm och kan integreras med andra inlärningsalgoritmer för att förbättra deras prestanda. Denna algoritm är snabb och enkel att använda. Det fungerar bra med stora datamängder.

17. Djup lärning


Djupinlärning är en uppsättning tekniker inspirerade av den mänskliga hjärnans mekanism. De två primära djupinlärningarna, jag.e., Convolution Neural Networks (CNN) och Recurrent Neural Networks (RNN) används i textklassificering. Djupinlärningsalgoritmer som Word2Vec eller GloVe används också för att få högt rankade vektorrepresentationer av ord och förbättra noggrannheten hos klassificerare som tränas med traditionella maskininlärningsalgoritmer.

Denna maskininlärningsmetod behöver mycket träningsprov istället för traditionella maskininlärningsalgoritmer, dvs.e., minst miljontals märkta exempel. Å andra sidan når traditionella tekniker för maskininlärning ett exakt tröskelvärde, var som helst att lägga till mer träningsprov inte förbättrar deras noggrannhet totalt sett. Djuplärande klassificeringar överträffar bättre resultat med mer data.

18. Gradient Boosting Algorithm


Gradient boosting är en maskininlärningsmetod som används för klassificering och regression. Det är ett av de mest kraftfulla sätten att utveckla en förutsägbar modell. En gradientförstärkningsalgoritm har tre element:

19. Hopfield Network


Ett Hopfield-nätverk är ett slags återkommande artificiellt neurala nätverk som John Hopfield gav 1982. Detta nätverk syftar till att lagra ett eller flera mönster och att återkalla hela mönstren baserat på partiell ingång. I ett Hopfield-nätverk är alla noder både in- och utgångar och helt sammankopplade.

20. C4.5 


C4.5 är ett beslutsträd som uppfanns av Ross Quinlan. Det är en uppgraderingsversion av ID3. Detta algoritmiska program omfattar några basfall:

Avslutande tankar


Det är väldigt viktigt att använda rätt algoritm baserat på dina data och domän för att utveckla ett effektivt maskininlärningsprojekt. Att förstå den kritiska skillnaden mellan varje maskininlärningsalgoritm är också viktigt för att ta itu med "när jag väljer vilken.'Som i en maskininlärningsmetod har en maskin eller enhet lärt sig genom inlärningsalgoritmen. Jag är övertygad om att den här artikeln hjälper dig att förstå algoritmen. Om du har några förslag eller frågor är du välkommen att fråga. Fortsätt läsa.

Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...
Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...
Portar med öppen källkod för kommersiella spelmotorer
Gratis, öppen källkod och plattformsmekaniska rekreationer kan användas för att spela gamla såväl som några av de ganska senaste speltitlarna. I den h...