ML & AI

Top 20 AI og maskinlæring algoritmer, metoder og teknikker

Top 20 AI og maskinlæring algoritmer, metoder og teknikker

Da jeg begyndte at arbejde med maskinindlæringsproblemer, føler jeg mig panik, hvilken algoritme jeg skal bruge? Eller hvilken der er let at anvende? Hvis du er som mig, kan denne artikel hjælpe dig med at vide om kunstig intelligens og maskinindlæringsalgoritmer, metoder eller teknikker til at løse eventuelle uventede eller endda forventede problemer.

Maskinindlæring er sådan en stærk AI-teknik, der kan udføre en opgave effektivt uden at bruge nogen eksplicitte instruktioner. En ML-model kan lære af dens data og erfaring. Applikationer til maskinindlæring er automatiske, robuste og dynamiske. Flere algoritmer er udviklet til at imødegå denne dynamiske karakter af virkelige problemer. Generelt er der tre typer maskinindlæringsalgoritmer såsom overvåget læring, ikke-overvåget læring og forstærkningslæring.

Bedste AI- og maskinlæringsalgoritmer


Valg af den rigtige maskinlæringsteknik eller -metode er en af ​​hovedopgaverne for at udvikle et kunstigt intelligens- eller maskinlæringsprojekt. Fordi der er flere algoritmer, der er tilgængelige, og alle har deres fordele og nytte. Nedenfor fortæller vi 20 maskinlæringsalgoritmer for både begyndere og professionelle. Så lad os tage et kig.

1.  Naive Bayes


En Naïve Bayes-klassifikator er en probabilistisk klassifikator baseret på Bayes-sætning med antagelsen om uafhængighed mellem funktioner. Disse funktioner adskiller sig fra applikation til applikation. Det er en af ​​de behagelige maskinlæringsmetoder, som begyndere kan øve sig på.

Naïve Bayes er en betinget sandsynlighedsmodel. Givet et problem, der skal klassificeres, repræsenteret af en vektor x = (xjeg … xn) repræsenterer nogle n funktioner (uafhængige variabler), tildeles det sandsynlighederne for den nuværende forekomst for hvert af K potentielle resultater:

Problemet med ovenstående formulering er, at hvis antallet af funktioner n er signifikant, eller hvis et element kan tage et stort antal værdier, er det umuligt at basere en sådan model på sandsynlighedstabeller. Vi genudvikler derfor modellen for at gøre den mere brugbar. Ved hjælp af Bayes 'sætning kan den betingede sandsynlighed skrives som,

Ved hjælp af Bayesian sandsynlighedsterminologi kan ovenstående ligning skrives som:

Denne kunstige intelligensalgoritme bruges i tekstklassificering, dvs.e., sentimentanalyse, dokumentkategorisering, spamfiltrering og nyhedsklassifikation. Denne maskinlæringsteknik fungerer godt, hvis inputdataene er kategoriseret i foruddefinerede grupper. Det kræver også færre data end logistisk regression. Det overgår inden for forskellige domæner.

2. Support Vector Machine


Support Vector Machine (SVM) er en af ​​de mest udbredte overvågede maskinlæringsalgoritmer inden for tekstklassificering. Denne metode bruges også til regression. Det kan også kaldes Support Vector Networks. Cortes & Vapnik udviklede denne metode til binær klassificering. Den overvågede læringsmodel er den maskinindlæringsmetode, der udleder output fra de mærkede træningsdata.

En støttevektormaskine konstruerer et hyperplan eller et sæt hyperplaner i et meget højt eller uendeligt dimensionelt område. Den beregner den lineære separationsoverflade med en maksimal margen for et givet træningssæt.

Kun en delmængde af inputvektorerne vil påvirke valget af margen (cirkuleret i figuren); sådanne vektorer kaldes støttevektorer. Når der ikke findes en lineær separationsoverflade, for eksempel i nærvær af støjende data, er SVM-algoritmer med en slap variabel passende. Denne klassifikator forsøger at opdele datarummet ved hjælp af lineære eller ikke-lineære afgrænsninger mellem de forskellige klasser.

SVM er blevet udbredt i mønsterklassificeringsproblemer og ikke-lineær regression. Det er også en af ​​de bedste teknikker til udførelse af automatisk tekstkategorisering. Det bedste ved denne algoritme er, at den ikke giver nogen stærke antagelser om data.

At implementere Support Vector Machine: data Science Libraries i Python-SciKit Learn, PyML, SVMStruktur  Python, LIBSVM og datalogibiblioteker i R- Klar, e1071.

3. Lineær regression


Lineær regression er en direkte tilgang, der bruges til at modellere forholdet mellem en afhængig variabel og en eller flere uafhængige variabler. Hvis der er en uafhængig variabel, kaldes den simpel lineær regression. Hvis mere end en uafhængig variabel er tilgængelig, kaldes dette multipel lineær regression.

Denne formel bruges til at estimere reelle værdier som prisen på boliger, antal opkald, samlet salg baseret på kontinuerlige variabler. Her etableres forholdet mellem uafhængige og afhængige variabler ved at tilpasse den bedste linje. Denne linie med den bedste pasform er kendt som en regressionslinie og repræsenteret af en lineær ligning

Y = a * X + b.

her,

Denne maskinlæringsmetode er nem at bruge. Det udføres hurtigt. Dette kan bruges i erhvervslivet til salgsprognoser. Det kan også bruges i risikovurderingen.

4.  Logistisk regression


Her er en anden maskinlæringsalgoritme - Logistisk regression eller logit-regression, der bruges til at estimere diskrete værdier (Binære værdier som 0/1, ja / nej, sand / falsk) baseret på et givet sæt af den uafhængige variabel. Opgaven med denne algoritme er at forudsige sandsynligheden for en hændelse ved at tilpasse data til en logit-funktion. Dens outputværdier ligger mellem 0 og 1.

Formlen kan bruges på forskellige områder som maskinindlæring, videnskabelig disciplin og medicinske områder. Det kan bruges til at forudsige faren for at opstå en given sygdom baseret på patientens observerede egenskaber. Logistisk regression kan bruges til forudsigelse af en kundes ønske om at købe et produkt. Denne maskinlæringsteknik bruges i vejrudsigter for at forudsige sandsynligheden for regn.

Logistisk regression kan opdeles i tre typer -

Logistisk regression er mindre kompliceret. Det er også robust. Det kan håndtere ikke-lineære effekter. Men hvis træningsdataene er sparsomme og højdimensionelle, kan denne ML-algoritme muligvis overfit. Det kan ikke forudsige kontinuerlige resultater.

5. K-nærmeste nabo (KNN)


K-nærmeste nabo (kNN) er en velkendt statistisk tilgang til klassificering og er blevet undersøgt bredt gennem årene og har anvendt tidligt til kategoriseringsopgaver. Det fungerer som en ikke-parametrisk metode til klassificering og regressionsproblemer.

Denne AI- og ML-metode er ret enkel. Det bestemmer kategorien af ​​et testdokument t baseret på afstemningen af ​​et sæt k-dokumenter, der er tættest på t med hensyn til afstand, normalt euklidisk afstand. Den væsentlige beslutningsregel, der er givet et testdokument t for kNN-klassifikatoren, er:

Hvor y (xi, c) er en binær klassifikationsfunktion til træningsdokument xi (som returnerer værdi 1, hvis xi er mærket med c eller 0 på anden måde), mærker denne regel med t med den kategori, der får flest stemmer i k -næreste kvarter.

Vi kan kortlægges KNN til vores virkelige liv. For eksempel, hvis du gerne vil finde ud af et par personer, som du ikke har nogen info om, foretrækker du muligvis at beslutte angående hans nære venner og derfor de cirkler, han flytter ind i, og få adgang til hans / hendes oplysninger. Denne algoritme er beregningsmæssigt dyr.

6. K-betyder


k-betyder klyngedannelse er en metode til ikke-overvåget læring, som er tilgængelig til klyngeanalyse i datamining. Formålet med denne algoritme er at opdele n observationer i k-klynger, hvor hver observation hører til det nærmeste gennemsnit af klyngen. Denne algoritme bruges i markedssegmentering, computersyn og astronomi blandt mange andre domæner.

7. Beslutningstræ


Et beslutningstræ er et beslutningsstøtteværktøj, der bruger en grafisk repræsentation, dvs.e., trælignende graf eller beslutningsmodel. Det bruges ofte i beslutningsanalyse og også et populært værktøj til maskinlæring. Beslutningstræer bruges i driftsforskning og driftsledelse.

Den har en rutediagramlignende struktur, hvor hver intern node repræsenterer en 'test' på en attribut, hver gren repræsenterer resultatet af testen, og hver bladknude repræsenterer en klassemærkning. Ruten fra roden til bladet er kendt som klassificeringsregler. Den består af tre typer noder:

Et beslutningstræ er let at forstå og fortolke. Det bruger en hvid-boks-model. Det kan også kombineres med andre beslutningsteknikker.

8. Tilfældig skov


Tilfældig skov er en populær teknik til ensembleindlæring, der fungerer ved at konstruere et væld af beslutningstræer ved træningstidspunktet og output den kategori, der er kategorien (klassifikation) eller middel forudsigelse (regression) for hvert træ.

Runtiden for denne maskinlæringsalgoritme er hurtig, og den kan arbejde med de ubalancerede og manglende data. Men når vi brugte det til regression, kan det ikke forudsige ud over området i træningsdataene, og det kan overtræde data.

9. VOGN


Klassifikation og regressionstræ (CART) er en slags beslutningstræ. Et beslutningstræ fungerer som en rekursiv partitioneringsmetode, og CART deler hver af inputknudepunkterne i to underknudepunkter. På hvert niveau i et beslutningstræ identificerer algoritmen en tilstand - hvilken variabel og niveau, der skal bruges til at opdele inputknudepunktet i to underknudepunkter.

CART algoritmetrin er angivet nedenfor:

10. Apriori maskinindlæringsalgoritme


Apriori-algoritmen er en kategoriseringsalgoritme. Denne maskinlæringsteknik bruges til at sortere store mængder data. Det kan også bruges til at følge op på, hvordan relationer udvikler sig, og kategorier opbygges. Denne algoritme er en ikke-overvåget læringsmetode, der genererer tilknytningsregler fra et givet datasæt.

Apriori maskinlæringsalgoritme fungerer som:

Denne ML-algoritme bruges i en række applikationer, såsom til at detektere bivirkninger til markedskurvanalyse og automatisk komplet applikationer. Det er ligetil at implementere.

11. Principal Component Analysis (PCA)


Principal component analysis (PCA) er en ikke-overvåget algoritme. De nye funktioner er ortogonale, hvilket betyder, at de ikke er korreleret. Før du udfører PCA, skal du altid normalisere dit datasæt, fordi transformationen er afhængig af skala. Hvis du ikke gør det, vil de funktioner, der er i den mest betydningsfulde skala, dominere nye hovedkomponenter.

PCA er en alsidig teknik. Denne algoritme er ubesværet og enkel at implementere. Det kan bruges til billedbehandling.

12. CatBoost


CatBoost er en open source-maskinlæringsalgoritme, der kommer fra Yandex. Navnet 'CatBoost' kommer fra to ord 'Category' og 'Boosting.'Det kan kombineres med dyb læringsrammer, dvs.e., Googles TensorFlow og Apples Core ML. CatBoost kan arbejde med adskillige datatyper for at løse flere problemer.

13. Iterativ dikotomiser 3 (ID3)


Iterativ dikotomiser 3 (ID3) er en algoritmisk regel for beslutningstræindlæring præsenteret af Ross Quinlan, der bruges til at levere et beslutningstræ fra et datasæt. Det er forløberen for C4.5 algoritmisk program og er ansat inden for maskinlæring og sproglige kommunikationsprocesser.

ID3 kan overdrive til træningsdataene. Denne algoritmiske regel er hårdere at bruge på kontinuerlige data. Det garanterer ikke en optimal løsning.

14. Hierarkisk klyngedannelse


Hierarkisk klyngedannelse er en måde at analysere klynger på. I hierarkisk klyngedannelse udvikles et klyngetræ (et dendrogram) for at illustrere data. I hierarkisk klyngning linker hver gruppe (node) til to eller flere efterfølgergrupper. Hver knude i klyngetræet indeholder lignende data. Noder grupperes på grafen ved siden af ​​andre lignende noder.

Algoritme

Denne metode til maskinlæring kan opdeles i to modeller - bunden i vejret eller oppefra og ned:

Bottom-up (Hierarchical Agglomerative Clustering, HAC)

-en. Komplet kobling: Lighed mellem det længste par. En begrænsning er, at afvigende kan forårsage sammensmeltning af nære grupper senere, end det er optimalt.

b. Enkeltkobling: Ligheden mellem det nærmeste par. Det kan forårsage for tidlig fusion, selvom disse grupper er ret forskellige.

c. Gruppegennemsnit: lighed mellem grupper.

d. Centroid lighed: hver iteration fusionerer klyngerne med det vigtigste centrale punkt.

Top ned (Divisive Clustering)

15. Tilbage-formering


Back-propagation er en overvåget læringsalgoritme. Denne ML-algoritme kommer fra området for ANN (kunstige neurale netværk). Dette netværk er et multilayer feed-forward-netværk. Denne teknik sigter mod at designe en given funktion ved at ændre de interne vægte af indgangssignaler for at producere det ønskede udgangssignal. Det kan bruges til klassificering og regression.

Back-formeringsalgoritme har nogle fordele, dvs.e., det er let at implementere. Den matematiske formel, der bruges i algoritmen, kan anvendes på ethvert netværk. Beregningstiden kan reduceres, hvis vægten er lille.

Back-formeringsalgoritme har nogle ulemper, da den kan være følsom over for støjende data og outliers. Det er en helt matrixbaseret tilgang. Den faktiske ydeevne for denne algoritme afhænger helt af inputdata. Outputtet er muligvis ikke-numerisk.

16. AdaBoost


AdaBoost betyder Adaptive Boosting, en maskinlæringsmetode repræsenteret af Yoav Freund og Robert Schapire. Det er en meta-algoritme og kan integreres med andre læringsalgoritmer for at forbedre deres ydeevne. Denne algoritme er hurtig og nem at bruge. Det fungerer godt med store datasæt.

17. Dyb læring


Dyb læring er et sæt teknikker inspireret af den menneskelige hjernes mekanisme. De to primære dyb læring, dvs.e., Convolution Neural Networks (CNN) og Recurrent Neural Networks (RNN) bruges i tekstklassificering. Deep learning-algoritmer som Word2Vec eller GloVe anvendes også til at få højtstående vektorrepræsentationer af ord og forbedre nøjagtigheden af ​​klassifikatorer, der er trænet med traditionelle maskinindlæringsalgoritmer.

Denne maskinlæringsmetode har brug for en masse træningseksempler i stedet for traditionelle maskinlæringsalgoritmer, dvs.e., mindst millioner af mærkede eksempler. På den modsatte side når traditionelle maskinindlæringsteknikker en præcis tærskel, uanset hvor tilføjelse af flere træningseksempler ikke forbedrer deres nøjagtighed generelt. Deep learning-klassifikatorer overgår bedre resultater med flere data.

18. Gradient Boosting Algorithm


Gradient boosting er en maskinlæringsmetode, der bruges til klassificering og regression. Det er en af ​​de mest magtfulde måder at udvikle en forudsigende model på. En gradientforstærkende algoritme har tre elementer:

19. Hopfield netværk


Et Hopfield-netværk er en slags tilbagevendende kunstigt neuralt netværk givet af John Hopfield i 1982. Dette netværk sigter mod at gemme et eller flere mønstre og at huske de fulde mønstre baseret på delvis input. I et Hopfield-netværk er alle knudepunkter både input og output og fuldt sammenkoblet.

20. C4.5 


C4.5 er et beslutningstræ, der er opfundet af Ross Quinlan. Det er en opgraderingsversion af ID3. Dette algoritmiske program omfatter et par basissager:

Afslutter tanker


Det er meget vigtigt at bruge den rigtige algoritme baseret på dine data og domæne til at udvikle et effektivt machine learning-projekt. Det er også vigtigt at forstå den kritiske forskel mellem hver maskinlæringsalgoritme, når jeg vælger hvilken.'Som i en maskinlæringsmetode har en maskine eller enhed lært gennem indlæringsalgoritmen. Jeg er overbevist om, at denne artikel hjælper dig med at forstå algoritmen. Hvis du har forslag eller spørgsmål, er du velkommen til at spørge. Fortsæt læsning.

Kamp om Wesnoth 1.13.6 Udvikling frigivet
Kamp om Wesnoth 1.13.6 udgivet i sidste måned, er den sjette udviklingsudgivelse i 1.13.x-serien, og den leverer en række forbedringer, især til bruge...
Sådan installeres League Of Legends på Ubuntu 14.04
Hvis du er fan af League of Legends, er dette en mulighed for dig at prøvekøre League of Legends. Bemærk, at LOL understøttes på PlayOnLinux, hvis du ...
Installer det nyeste OpenRA-strategispil på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spilmotor, der genskaber de tidlige Westwood-spil som det klassiske Command & Conquer: Red Alert. Distrib...