ML & AI

Top 20 AI- en machine learning-algoritmen, methoden en technieken

Top 20 AI- en machine learning-algoritmen, methoden en technieken

Toen ik begon te werken met machine learning-problemen, raakte ik in paniek welk algoritme ik moest gebruiken? Of welke makkelijk toe te passen is? Als je op mij lijkt, dan kan dit artikel je misschien helpen meer te weten te komen over kunstmatige intelligentie en algoritmen, methoden of technieken voor machine learning om onverwachte of zelfs verwachte problemen op te lossen.

Machine learning is zo'n krachtige AI-techniek die een taak effectief kan uitvoeren zonder expliciete instructies te gebruiken. Een ML-model kan leren van zijn gegevens en ervaring. Machine learning-applicaties zijn automatisch, robuust en dynamisch. Er zijn verschillende algoritmen ontwikkeld om deze dynamische aard van echte problemen aan te pakken. In het algemeen zijn er drie soorten algoritmen voor machine learning, zoals begeleid leren, niet-gesuperviseerd leren en versterkend leren.

Beste AI- en machine learning-algoritmen


Het selecteren van de juiste machine learning-techniek of -methode is een van de belangrijkste taken om een ​​project voor kunstmatige intelligentie of machine learning te ontwikkelen. Omdat er verschillende algoritmen beschikbaar zijn, en ze hebben allemaal hun voordelen en nut. Hieronder vertellen we 20 algoritmen voor machine learning voor zowel beginners als professionals. Dus laten we eens kijken.

1.  Naïeve Bayes


Een naïeve Bayes-classificator is een probabilistische classifier gebaseerd op de stelling van Bayes, met de aanname van onafhankelijkheid tussen functies. Deze functies verschillen van toepassing tot toepassing. Het is een van de comfortabele methoden voor machine learning voor beginners om te oefenen.

Naïeve Bayes is een conditioneel kansmodel. Gegeven een probleeminstantie die moet worden geclassificeerd, weergegeven door een vector X = (Xik … xnee) vertegenwoordigt enkele n kenmerken (onafhankelijke variabelen), het wijst aan de huidige instantie waarschijnlijkheden toe voor elk van K potentiële uitkomsten:

Het probleem met bovenstaande formulering is dat als het aantal kenmerken n significant is of als een element een groot aantal waarden kan aannemen, het niet haalbaar is om een ​​dergelijk model te baseren op waarschijnlijkheidstabellen. Daarom herontwikkelen we het model om het handelbaarder te maken. Met behulp van de stelling van Bayes kan de voorwaardelijke kans worden geschreven als,

Met behulp van Bayesiaanse waarschijnlijkheidsterminologie kan de bovenstaande vergelijking worden geschreven als:

Dit kunstmatige intelligentie-algoritme wordt gebruikt in tekstclassificatie, i.e., sentimentanalyse, documentcategorisatie, spamfiltering en nieuwsclassificatie. Deze machine learning-techniek presteert goed als de invoergegevens worden gecategoriseerd in vooraf gedefinieerde groepen. Het vereist ook minder gegevens dan logistische regressie. Het presteert beter dan in verschillende domeinen.

2. Ondersteuning van vectormachine


Support Vector Machine (SVM) is een van de meest gebruikte supervisie-algoritmen voor machine learning op het gebied van tekstclassificatie. Deze methode wordt ook gebruikt voor regressie. Het kan ook worden aangeduid als Support Vector Networks. Cortes & Vapnik hebben deze methode ontwikkeld voor binaire classificatie. Het leermodel onder supervisie is de machine learning-benadering die de output afleidt van de gelabelde trainingsgegevens.

Een ondersteuningsvectormachine construeert een hypervlak of een reeks hypervlakken in een zeer hoog of oneindig-dimensionaal gebied. Het berekent het lineaire scheidingsoppervlak met een maximale marge voor een bepaalde trainingsset.

Slechts een deelverzameling van de invoervectoren zal de keuze van de marge beïnvloeden (omcirkeld in de figuur); dergelijke vectoren worden steunvectoren genoemd. Wanneer er geen lineair scheidingsoppervlak bestaat, bijvoorbeeld in de aanwezigheid van gegevens met ruis, zijn SVM's-algoritmen met een slappe variabele geschikt. Deze classificatie probeert de gegevensruimte te partitioneren met behulp van lineaire of niet-lineaire afbakeningen tussen de verschillende klassen.

SVM is veel gebruikt bij patroonclassificatieproblemen en niet-lineaire regressie. Het is ook een van de beste technieken voor het uitvoeren van automatische tekstcategorisatie. Het beste van dit algoritme is dat het geen sterke aannames maakt over gegevens.

Support Vector Machine implementeren: data Science Libraries in Python-SciKit Learn, PyML, SVMstructuur  Python, LIBSVM en data Science Libraries in R-Klar, e1071.

3. Lineaire regressie


Lineaire regressie is een directe benadering die wordt gebruikt om de relatie tussen een afhankelijke variabele en een of meer onafhankelijke variabelen te modelleren. Als er één onafhankelijke variabele is, wordt dit eenvoudige lineaire regressie genoemd. Als er meer dan één onafhankelijke variabele beschikbaar is, wordt dit meervoudige lineaire regressie genoemd.

Deze formule wordt gebruikt om reële waarden te schatten, zoals de prijs van huizen, het aantal oproepen, de totale verkoop op basis van continue variabelen. Hier wordt de relatie tussen onafhankelijke en afhankelijke variabelen vastgesteld door de beste regel te passen. Deze best passende lijn staat bekend als een regressielijn en wordt weergegeven door een lineaire vergelijking

Y= a *X + b.

hier,

Deze machine learning-methode is gemakkelijk te gebruiken. Het werkt snel. Dit kan in het bedrijfsleven worden gebruikt voor verkoopprognoses. Het kan ook worden gebruikt bij risicobeoordeling.

4.  Logistieke regressie


Hier is nog een algoritme voor machine learning - Logistische regressie of logit-regressie die wordt gebruikt om discrete waarden te schatten (binaire waarden zoals 0/1, ja/nee, waar/onwaar) op basis van een bepaalde set van de onafhankelijke variabele. De taak van dit algoritme is om de kans op een incident te voorspellen door gegevens aan een logitfunctie te koppelen. De uitgangswaarden liggen tussen 0 en 1.

De formule kan op verschillende gebieden worden gebruikt, zoals machine learning, wetenschappelijke discipline en medische gebieden medical. Het kan worden gebruikt om het gevaar van het optreden van een bepaalde ziekte te voorspellen op basis van de waargenomen kenmerken van de patiënt. Logistieke regressie kan worden gebruikt voor de voorspelling van de wens van een klant om een ​​product te kopen. Deze machine learning-techniek wordt gebruikt bij weersvoorspellingen om de kans op regen te voorspellen.

Logistieke regressie kan worden onderverdeeld in drie typen: -

Logistieke regressie is minder ingewikkeld. Het is ook robuust. Het kan niet-lineaire effecten aan. Als de trainingsgegevens echter schaars en hoogdimensionaal zijn, kan dit ML-algoritme overfitten. Het kan geen continue resultaten voorspellen.

5. K-Dichtbijzijnde (KNN)


K-nearest-neighbor (kNN) is een bekende statistische benadering voor classificatie en is in de loop der jaren uitgebreid bestudeerd en is al vroeg toegepast op categorisatietaken. Het fungeert als een niet-parametrische methodologie voor classificatie- en regressieproblemen.

Deze AI- en ML-methode is vrij eenvoudig. Het bepaalt de categorie van een testdocument t op basis van de stemming van een reeks k documenten die qua afstand het dichtst bij t liggen, meestal Euclidische afstand. De essentiële beslissingsregel gegeven een testdocument t voor de kNN classifier is:

Waar y (xi,c ) een binaire classificatiefunctie is voor trainingsdocument xi (die waarde 1 retourneert als xi is gelabeld met c, of anders 0), labelt deze regel met t met de categorie die de meeste stemmen heeft gekregen in de k -dichtstbijzijnde buurt.

We kunnen KNN in kaart brengen in ons echte leven. Als je bijvoorbeeld een paar mensen wilt weten van wie je geen informatie hebt, zou je misschien liever beslissen over zijn goede vrienden en dus de kringen waarin hij zich beweegt en toegang krijgen tot zijn/haar informatie. Dit algoritme is rekenkundig duur.

6. K-betekent


k-means clustering is een methode van niet-gesuperviseerd leren die toegankelijk is voor clusteranalyse in datamining. Het doel van dit algoritme is om n waarnemingen te verdelen in k clusters waarbij elke waarneming behoort tot het dichtstbijzijnde gemiddelde van de cluster. Dit algoritme wordt onder veel andere domeinen gebruikt in marktsegmentatie, computervisie en astronomie.

7. Beslissingsboom


Een beslissingsboom is een beslissingsondersteunend hulpmiddel dat gebruik maakt van een grafische weergave, i.e., boomachtige grafiek of model van beslissingen. Het wordt vaak gebruikt bij beslissingsanalyse en is ook een populair hulpmiddel bij machine learning. Beslisbomen worden gebruikt in operationeel onderzoek en operationeel beheeroperation.

Het heeft een stroomdiagramachtige structuur waarin elk intern knooppunt een 'test' op een attribuut vertegenwoordigt, elke vertakking de uitkomst van de test vertegenwoordigt en elk bladknooppunt een klasselabel vertegenwoordigt. De route van de wortel naar het blad staat bekend als classificatieregels. Het bestaat uit drie soorten knooppunten:

Een beslisboom is eenvoudig te begrijpen en te interpreteren. Het maakt gebruik van een white-box-model. Het kan ook worden gecombineerd met andere beslissingstechnieken.

8. Willekeurig bos


Willekeurig bos is een populaire techniek voor ensembleleren die werkt door een veelvoud aan beslissingsbomen te construeren tijdens de trainingstijd en de categorie uit te voeren die de modus is van de categorieën (classificatie) of gemiddelde voorspelling (regressie) van elke boom.

De runtime van dit machine learning-algoritme is snel en het kan werken met de ongebalanceerde en ontbrekende gegevens. Toen we het echter voor regressie gebruikten, kan het niet verder voorspellen dan het bereik in de trainingsgegevens, en het kan gegevens overfitten.

9. WINKELWAGEN


Classificatie- en regressieboom (CART) is een soort beslissingsboom. Een beslissingsboom werkt als een recursieve partitiebenadering en CART verdeelt elk van de invoerknooppunten in twee onderliggende knooppunten. Op elk niveau van een beslissingsboom identificeert het algoritme een voorwaarde - welke variabele en welk niveau moeten worden gebruikt voor het splitsen van het invoerknooppunt in twee onderliggende knooppunten.

CART-algoritmestappen worden hieronder gegeven:

10. Apriori-algoritme voor machinaal leren


Het Apriori-algoritme is een categorisatie-algoritme. Deze machine learning-techniek wordt gebruikt voor het sorteren van grote hoeveelheden gegevens. Het kan ook worden gebruikt om op te volgen hoe relaties zich ontwikkelen en categorieën worden opgebouwd. Dit algoritme is een niet-gesuperviseerde leermethode die associatieregels genereert uit een bepaalde dataset.

Apriori Machine Learning Algoritme werkt als:

Dit ML-algoritme wordt gebruikt in een verscheidenheid aan toepassingen, zoals het detecteren van bijwerkingen, voor marktmandanalyse en auto-complete toepassingen. Het is eenvoudig te implementeren.

11. Hoofdcomponentenanalyse (PCA)


Hoofdcomponentenanalyse (PCA) is een niet-gecontroleerd algoritme. De nieuwe functies zijn orthogonaal, wat betekent dat ze niet gecorreleerd zijn. Voordat u PCA uitvoert, moet u altijd uw dataset normaliseren, omdat de transformatie afhankelijk is van schaal. Als je dat niet doet, zullen de functies die op de meest significante schaal zijn de nieuwe hoofdcomponenten domineren.

PCA is een veelzijdige techniek. Dit algoritme is moeiteloos en eenvoudig te implementeren. Het kan worden gebruikt bij beeldverwerking.

12. CatBoost


CatBoost is een open-source machine learning-algoritme dat afkomstig is van Yandex. De naam 'CatBoost' komt van twee woorden 'Categorie' en 'Boosting'.' Het kan worden gecombineerd met deep learning-frameworks, i.e., Google's TensorFlow en Apple's Core ML. CatBoost kan met verschillende gegevenstypen werken om verschillende problemen op te lossen.

13. Iteratieve dichotomiser 3 (ID3)


Iterative Dichotomiser 3(ID3) is een algoritmische regel voor het leren van beslisbomen, gepresenteerd door Ross Quinlan en die wordt gebruikt om een ​​beslisboom uit een dataset te leveren. Het is de voorloper van de C4.5 algoritmisch programma en wordt gebruikt binnen de domeinen machine learning en linguïstische communicatieprocessen.

ID3 past mogelijk te veel in de trainingsgegevens. Deze algoritmische regel is moeilijker te gebruiken voor continue gegevens. Het is geen garantie voor een optimale oplossing.

14. Hiërarchische clustering


Hiërarchische clustering is een manier van clusteranalyse. Bij hiërarchische clustering wordt een clusterboom (een dendrogram) ontwikkeld om gegevens te illustreren. Bij hiërarchische clustering is elke groep (knooppunt) gekoppeld aan twee of meer opvolgende groepen. Elk knooppunt in de clusterstructuur bevat vergelijkbare gegevens. Knooppuntengroep in de grafiek naast andere vergelijkbare knooppunten.

Algoritme

Deze machine learning-methode kan in twee modellen worden verdeeld: - onderkant boven of ondersteboven:

Bottom-up (Hiërarchische Agglomeratieve Clustering, HAC)

een. Volledige koppeling: Overeenkomst van het verste paar. Een beperking is dat uitschieters het samenvoegen van hechte groepen later dan optimaal kunnen veroorzaken.

b. Enkele koppeling: De gelijkenis van het dichtstbijzijnde paar. Het kan voortijdige samenvoeging veroorzaken, hoewel die groepen heel anders zijn.

c. Groepsgemiddelde: overeenkomst tussen groepen.

d. Centroide gelijkenis: elke iteratie voegt de clusters samen met het meest vergelijkbare centrale punt.

Top-down (splitsende clustering)

15. Terug-voortplanting


Back-propagation is een begeleid leeralgoritme. Dit ML-algoritme komt uit het gebied van ANN (Artificial Neural Networks). Dit netwerk is een meerlagig feedforward-netwerk. Deze techniek heeft tot doel een bepaalde functie te ontwerpen door de interne gewichten van ingangssignalen te wijzigen om het gewenste uitgangssignaal te produceren. Het kan worden gebruikt voor classificatie en regressie.

Back-propagation-algoritme heeft enkele voordelen, namelijk.e., het is gemakkelijk te implementeren. De wiskundige formule die in het algoritme wordt gebruikt, kan op elk netwerk worden toegepast. De rekentijd kan worden verkort als de gewichten klein zijn.

Back-propagation-algoritme heeft enkele nadelen, zoals het kan gevoelig zijn voor gegevens met ruis en uitbijters. Het is een volledig matrixgebaseerde benadering. De werkelijke prestaties van dit algoritme zijn volledig afhankelijk van invoergegevens. De uitvoer kan niet-numeriek zijn:.

16. AdaBoost


AdaBoost betekent Adaptive Boosting, een machine learning-methode vertegenwoordigd door Yoav Freund en Robert Schapire. Het is een meta-algoritme en kan worden geïntegreerd met andere leeralgoritmen om hun prestaties te verbeteren. Dit algoritme is snel en gemakkelijk te gebruiken. Het werkt goed met grote datasets.

17. Diep leren


Deep learning is een reeks technieken die zijn geïnspireerd op het mechanisme van het menselijk brein. De twee primaire deep learning, i.e., Convolution Neural Networks (CNN) en Recurrent Neural Networks (RNN) worden gebruikt bij tekstclassificatie. Deep learning-algoritmen zoals Word2Vec of GloVe worden ook gebruikt om hoogwaardige vectorrepresentaties van woorden te krijgen en de nauwkeurigheid van classificaties te verbeteren die zijn getraind met traditionele machine learning-algoritmen.

Deze machine learning-methode heeft veel trainingsvoorbeelden nodig in plaats van traditionele machine learning-algoritmen, i.e., een minimum van miljoenen gelabelde voorbeelden. Aan de andere kant bereiken traditionele machine learning-technieken een precieze drempel waar het toevoegen van meer trainingsvoorbeelden hun algehele nauwkeurigheid niet verbetert. Classifiers voor diep leren presteren beter dan betere resultaten met meer gegevens.

18. Algoritme voor gradiëntversterking


Gradient boosting is een machine learning-methode die wordt gebruikt voor classificatie en regressie. Het is een van de krachtigste manieren om een ​​voorspellend model te ontwikkelen. Een algoritme voor het versterken van een gradiënt heeft drie elementen:

19. Hopfield Network


Een Hopfield-netwerk is een soort terugkerend kunstmatig neuraal netwerk dat in 1982 door John Hopfield werd gegeven. Dit netwerk heeft tot doel een of meer patronen op te slaan en de volledige patronen op te roepen op basis van gedeeltelijke invoer. In een Hopfield-netwerk zijn alle knooppunten zowel ingangen als uitgangen en volledig met elkaar verbonden.

20. C4.5 


C4.5 is een beslisboom die is uitgevonden door Ross Quinlan. Het is een upgradeversie van ID3. Dit algoritmische programma omvat een paar basisgevallen:

Gedachten beëindigen


Het is van essentieel belang om het juiste algoritme te gebruiken op basis van uw gegevens en domein om een ​​efficiënt machine learning-project te ontwikkelen. Het is ook essentieel om het cruciale verschil tussen elk machine learning-algoritme te begrijpen om aan te pakken 'wanneer ik welke kies'.' Zoals bij een machine learning-benadering een machine of apparaat heeft geleerd via het leeralgoritme. Ik ben er vast van overtuigd dat dit artikel je helpt het algoritme te begrijpen. Als u een suggestie of vraag heeft, aarzel dan niet om te vragen. Blijf lezen.

Top 5 Game Capture-kaarten
We hebben allemaal gezien en genoten van streaming gameplays op YouTube. PewDiePie, Jakesepticye en Markiplier zijn slechts enkele van de beste gamers...
Hoe een spel op Linux te ontwikkelen
Tien jaar geleden zouden niet veel Linux-gebruikers voorspellen dat hun favoriete besturingssysteem ooit een populair spelplatform voor commerciële vi...
Open source-poorten van commerciële game-engines
Gratis, open source en platformonafhankelijke game-engine-recreaties kunnen worden gebruikt om zowel oude als enkele van de vrij recente gametitels te...