Indholdsfortegnelse[Skjule][At vise]
Verden ændrer sig hurtigt på grund af kunstig intelligens og maskinlæring, som har indflydelse på alle aspekter af vores hverdag.
Fra stemmeassistenter, der bruger NLP og maskinlæring til at booke aftaler, slå begivenheder op i vores kalender og afspille musik til enheder, der er så nøjagtige, at de kan forudse vores behov, før vi overhovedet overvejer dem.
Computere kan spille skak, operere og udvikle sig til smartere, mere menneskelignende maskiner ved hjælp af maskinlæringsalgoritmer.
Vi befinder os i en tid med kontinuerlige teknologiske fremskridt, og ved at se, hvordan computere har udviklet sig gennem tiden, kan vi komme med forudsigelser om, hvad der vil ske i fremtiden.
Demokratiseringen af computerværktøjer og -metoder er et af nøgleaspekterne af denne revolution, der skiller sig ud. Dataforskere har skabt kraftfulde data-knusende computere i løbet af de sidste fem år ved ubesværet at implementere banebrydende metoder. Resultaterne er forbløffende.
I dette indlæg vil vi se nærmere på machine learning algoritmer og alle deres variationer.
Så hvad er Machine Learning-algoritmer?
Den tilgang, som AI-systemet bruger til at udføre sin opgave - generelt at forudsige outputværdier fra givne inputdata - er kendt som en maskinlæringsalgoritme.
En maskinlæringsalgoritme er en proces, der udnytter data og bruges til at skabe maskinlæringsmodeller, der er klar til produktion. Hvis maskinlæring er toget, der udfører et job, så er maskinlæringsalgoritmer de lokomotiver, der flytter arbejdet videre.
Den bedste maskinlæringstilgang at bruge vil blive bestemt af det forretningsproblem, du forsøger at løse, typen af datasæt, du bruger, og de ressourcer, du har til rådighed.
Maskinlæringsalgoritmer er dem, der gør et datasæt til en model. Afhængigt af den type problem, du forsøger at besvare, den tilgængelige processorkraft og den type data, du har, kan overvågede, uovervågede eller forstærkende indlæringsalgoritmer fungere godt.
Så vi talte om superviseret, uovervåget og forstærkende læring, men hvad er de? Lad os udforske dem.
Supervised, Unsupervised & Reinforcement Learning
Overvåget læring
I superviseret læring udvikles AI-modellen baseret på det input, der er givet, og den etiket, der repræsenterer det forudsagte resultat. Baseret på input og output udvikler modellen en kortlægningsligning, og ved hjælp af denne kortlægningsligning forudsiger den etiketten for inputs i fremtiden.
Lad os sige, at vi skal skabe en model, der kan skelne mellem en hund og en kat. Flere billeder af katte og hunde føres ind i modellen med etiketter, der angiver, om de er katte eller hunde for at træne modellen.
Modellen søger at etablere en ligning, der relaterer etiketterne på inputfotografierne til disse billeder. Selvom modellen aldrig har set billedet før, kan den efter træning identificere, om det er af en kat eller en hund.
Uovervåget læring
Uovervåget læring involverer kun træning af en AI-model på input uden at mærke dem. Modellen opdeler inputdataene i grupper med relaterede karakteristika.
Den fremtidige etiket for inputtet forudses derefter afhængigt af, hvor tæt dets attributter matcher en af klassifikationerne. Overvej situationen, hvor vi skal opdele en gruppe røde og blå bolde i to kategorier.
Lad os antage, at kuglernes øvrige egenskaber er identiske, med undtagelse af farve. På baggrund af, hvordan den kan opdele boldene i to klasser, leder modellen efter de egenskaber, der er forskellige mellem boldene.
To klynger af kugler - en blå og en rød - dannes, når kuglerne er opdelt i to grupper baseret på deres nuance.
Forstærkningslæring
I forstærkende læring søger AI-modellen at maksimere den samlede profit ved at handle så godt, som den kan under en bestemt omstændighed. Feedback på dens tidligere resultater hjælper modellen med at lære.
Tænk på scenariet, når en robot bliver bedt om at vælge en rute mellem punkt A og B. Robotten vælger først en af kurserne, fordi den ikke har nogen tidligere erfaring.
Robotten modtager input på den rute, den tager, og får viden fra det. Robotten kan bruge input til at løse problemet, næste gang den støder på en lignende omstændighed.
For eksempel, hvis robotten vælger mulighed B og modtager en belønning, såsom positiv feedback, forstår den denne gang, at den skal vælge måde B for at øge sin belønning.
Nu endelig, hvad I alle venter på, er algoritmerne.
Større maskinlæringsalgoritmer
1. Lineær regression
Den enkleste maskinlæringstilgang, der afviger fra overvåget læring, er lineær regression. Med viden fra uafhængige variabler bruges den for det meste til at løse regressionsproblemer og skabe forudsigelser om kontinuerlige afhængige variable.
At finde den linje, der passer bedst, som kan hjælpe med at forudsige resultatet for kontinuerlige afhængige variabler, er målet for lineær regression. Boligpriser, alder og løn er nogle eksempler på løbende værdier.
En model kendt som simpel lineær regression bruger en lige linje til at beregne sammenhængen mellem en uafhængig variabel og en afhængig variabel. Der er mere end to uafhængige variable i multipel lineær regression.
En lineær regressionsmodel har fire underliggende antagelser:
- Linearitet: Der er en lineær forbindelse mellem X og middelværdien af Y.
- Homoscedasticitet: For hver værdi af X er den resterende varians den samme.
- Uafhængighed: Observationer er uafhængige af hinanden med hensyn til uafhængighed.
- Normalitet: Når X er fast, er Y normalfordelt.
Lineær regression fungerer fremragende for data, der kan adskilles langs linjer. Det kan kontrollere overtilpasning ved at bruge regulariserings-, krydsvaliderings- og dimensionsreduktionsteknikker. Der er dog tilfælde, hvor omfattende funktionsteknik er påkrævet, hvilket lejlighedsvis kan resultere i overfitting og støj.
2. Logistisk regression
Logistisk regression er en anden maskinlæringsteknik, der afviger fra overvåget læring. Dens største anvendelse er klassificering, mens den også kan bruges til regressionsproblemer.
Logistisk regression bruges til at forudsige den kategoriske afhængige variabel ved hjælp af informationen fra de uafhængige faktorer. Målet er at klassificere output, som kun kan falde mellem 0 og 1.
Den vægtede total af inputs behandles af sigmoid-funktionen, en aktiveringsfunktion, der konverterer værdier mellem 0 og 1.
Grundlaget for logistisk regression er maximum likelihood estimering, en metode til at beregne parametrene for en antaget sandsynlighedsfordeling givet specifikke observerede data.
3. Beslutningstræ
En anden maskinlæringsmetode, der splinter ud af overvåget læring, er beslutningstræet. Til både klassifikations- og regressionsspørgsmål kan beslutningstræ-tilgangen anvendes.
Dette beslutningsværktøj, der ligner et træ, bruger visuelle repræsentationer til at vise handlingers potentielle resultater, omkostninger og konsekvenser. Ved at opdele dataene i separate dele er ideen analog med det menneskelige sind.
Dataene er blevet opdelt i særskilte dele, så meget som vi kunne granulere det. Et Decision Tree's hovedformål er at bygge en træningsmodel, der kan bruges til at forudsige klassen for målvariablen. Manglende værdier kan håndteres automatisk ved hjælp af beslutningstræet.
Der er intet krav om one-shot-kodning, dummy-variabler eller andre dataforbehandlingstrin. Det er rigidt i den forstand, at det er svært at tilføje nye data til det. Hvis du har fået yderligere mærkede data, bør du genoptræne træet på hele datasættet.
Som følge heraf er beslutningstræer et dårligt valg til enhver applikation, der kræver dynamisk modelændring.
Baseret på typen af målvariabel klassificeres beslutningstræer i to typer:
- Kategorisk variabel: Et beslutningstræ, hvor målvariablen er Kategorisk.
- Kontinuerlig variabel: Et beslutningstræ, hvor målvariablen er Kontinuerlig.
4. Tilfældig Skov
Random Forest Method er den næste maskinlæringsteknik og er en overvåget maskinlæringsalgoritme, der anvendes i vid udstrækning i klassificerings- og regressionsspørgsmål. Det er også en træbaseret metode, der ligner et beslutningstræ.
En skov af træer, eller mange beslutningstræer, bruges af den tilfældige skovmetode til at foretage domme. Ved håndtering af klassifikationsopgaver anvendte den tilfældige skovmetode kategoriske variabler, mens de håndterede regressionsopgaver med datasæt, der indeholder kontinuerlige variable.
Et ensemble eller blanding af mange modeller er, hvad den tilfældige skovmetode gør, hvilket betyder, at forudsigelser laves ved hjælp af en gruppe modeller i stedet for kun én.
Evnen til at blive brugt til både klassifikations- og regressionsproblemer, som udgør størstedelen af moderne maskinlæringssystemer, er en vigtig fordel ved den tilfældige skov.
To forskellige strategier bruges af Ensemble:
- Bagging: Ved at gøre dette produceres flere data til træningsdatasættet. For at mindske variationen i prognoserne gøres dette.
- Boosting er processen med at kombinere svage elever med stærke elever ved at bygge successive modeller, hvilket resulterer i den endelige model med maksimal nøjagtighed.
5. Naiv Bayes
Et binært (to-klasse) og multi-class klassifikationsproblem kan løses ved hjælp af Naive Bayes-teknikken. Når metoden forklares ved hjælp af binære eller kategoriinputværdier, er den nemmest at forstå. En antagelse foretaget af en naiv Bayes-klassifikator er, at eksistensen af et træk i en klasse ikke har nogen betydning for tilstedeværelsen af andre træk.
Ovenstående formel angiver:
- P(H): Sandsynligheden for, at hypotese H er korrekt. Den forudgående sandsynlighed omtales som denne.
- P(E): Sandsynligheden for beviserne
- P(E|H): Sandsynligheden for, at hypotesen understøttes af beviserne.
- P(H|E): Sandsynligheden for, at hypotesen er sand, givet beviserne.
En naiv Bayes-klassifikator vil tage hensyn til hver af disse karakteristika individuelt, når den bestemmer sandsynligheden for et bestemt resultat, selvom disse egenskaber er forbundet med hinanden. En naiv Bayesiansk model er enkel at konstruere og effektiv til store datasæt.
Det er kendt for at præstere bedre end selv de mest komplekse kategoriseringsteknikker, mens det er grundlæggende. Det er en samling af algoritmer, der alle er baseret på Bayes' sætning, snarere end en enkelt metode.
6. K-Nærmeste Naboer
K-nearest neighbours (kNN)-teknikken er en delmængde af overvåget maskinlæring, der kan bruges til at løse klassifikations- og regressionsproblemer. KNN-algoritmen antager, at sammenlignelige objekter kan findes i nærheden.
Jeg husker det som en forsamling af ligesindede. kNN drager fordel af ideen om lighed mellem andre datapunkter ved at bruge nærhed, nærhed eller afstand. For at mærke de usete data baseret på de nærmeste mærkede observerbare datapunkter, anvendes en matematisk metode til at bestemme adskillelsen mellem punkter på en graf.
Du skal bestemme afstanden mellem datapunkterne for at identificere de nærmeste sammenlignelige steder. Afstandsmålinger såsom den euklidiske afstand, Hamming-afstand, Manhattan-afstand og Minkowski-afstand kan bruges til dette. K'et er kendt som det nærmeste nabotal, og det er ofte et ulige tal.
KNN kan anvendes på klassifikations- og regressionsproblemer. Forudsigelsen, der laves, når KNN bruges til regressionsproblemer, er baseret på gennemsnittet eller medianen af de K-lignende forekomster.
Resultatet af en klassifikationsalgoritme baseret på KNN kan bestemmes som klassen med den højeste frekvens blandt de K mest lignende forekomster. Hver instans afgiver i det væsentlige en stemme på deres klasse, og forudsigelsen tilhører den klasse, der modtager flest stemmer.
7. K-betyder
Det er en teknik til uovervåget læring, der adresserer klyngeproblemer. Datasæt er opdelt i et vist antal klynger – lad os kalde det K – på en sådan måde, at hver klynges datapunkter er homogene og adskiller sig fra dem i de andre klynger.
K-betyder klyngemetode:
- For hver klynge vælger K-middel-algoritmen k centroider eller punkter.
- Med de nærmeste tyngdepunkter eller K-klynger danner hvert datapunkt en klynge.
- Nu produceres nye tyngdepunkter afhængigt af de klyngemedlemmer, der allerede er til stede.
- Den nærmeste afstand for hvert datapunkt beregnes ved hjælp af disse opdaterede tyngdepunkter. Indtil tyngdepunkterne ikke ændrer sig, gentages denne proces.
Det er hurtigere, mere pålideligt og lettere at forstå. Hvis der er problemer, gør k-means' tilpasningsevne justeringer enkle. Når datasættene er adskilte eller godt isolerede fra hinanden, er resultaterne bedst. Den kan ikke håndtere uberegnelige data eller afvigende værdier.
8. Support Vector Machines
Når du bruger SVM-teknikken til at klassificere data, vises rådata som prikker i et n-dimensionelt rum (hvor n er antallet af funktioner, du har). Dataene kan derefter nemt klassificeres, fordi hver funktions værdi så er forbundet med en specifik koordinat.
For at adskille dataene og sætte dem på en graf skal du bruge linjer kendt som klassifikatorer. Denne tilgang plotter hvert datapunkt som et punkt i et n-dimensionelt rum, hvor n er antallet af funktioner, du har, og hver funktions værdi er en specifik koordinatværdi.
Vi vil nu finde en linje, der deler dataene i to sæt data, der er blevet kategoriseret forskelligt. Afstandene fra de nærmeste punkter i hver af de to grupper vil være længst fra hinanden langs denne linje.
Da de to nærmeste punkter er dem, der er længst væk fra linjen i eksemplet ovenfor, er den midterste linje, der deler dataene i de to grupper, der er kategoriseret forskelligt. Vores klassificering er denne linje.
9. Dimensionalitetsreduktion
Ved at bruge tilgangen til dimensionalitetsreduktion kan træningsdata have færre inputvariabler. Enkelt sagt refererer det til processen med at formindske størrelsen af dit funktionssæt. Lad os forestille os, at dit datasæt har 100 kolonner; dimensionalitetsreduktion vil reducere dette beløb til 20 kolonner.
Modellen bliver automatisk mere sofistikeret og har en større risiko for overfitting, efterhånden som antallet af funktioner stiger. Det største problem med at arbejde med data i større dimensioner er det, der er kendt som "dimensionalitetens forbandelse", som opstår, når dine data indeholder et for stort antal karakteristika.
Følgende elementer kan bruges til at opnå dimensionalitetsreduktion:
- For at finde og vælge relevante egenskaber anvendes funktionsvalg.
- Ved at bruge allerede eksisterende funktioner opretter feature engineering manuelt nye funktioner.
Konklusion
Uovervåget eller overvåget maskinlæring er begge mulige. Vælg overvåget læring, hvis dine data er mindre rigelige og godt tagget til træning.
Store datasæt ville ofte præstere og producere bedre resultater ved brug af uovervåget læring. Deep learning metoder er bedst, hvis du har en betydelig dataindsamling, der er let tilgængelig.
Forstærkning læring og dyb forstærkende læring er nogle emner, du har studeret. Neurale netværks karakteristika, anvendelser og begrænsninger er nu tydelige for dig. Sidst men ikke mindst overvejede du mulighederne for forskellige programmeringssprog, IDE'er og platforme, når det kom til at skabe dine egne maskinlæringsmodeller.
Den næste ting du skal gøre er at begynde at studere og bruge hver machine learning nærme sig. Selvom emnet er bredt, kan ethvert emne forstås på få timer, hvis du fokuserer på dets dybde. Hvert emne står alene fra de andre.
Du skal tænke over et problem ad gangen, studere det, omsætte det i praksis og bruge et sprog efter eget valg til at implementere algoritmen/algoritmerne i det.
Giv en kommentar