Machine Learning Tutorial for begyndere: Hvad er, grundlæggende om ML

⚡ Smart opsummering

Maskinlæring er en familie af computeralgoritmer, der forbedres ud fra eksempler i stedet for at være eksplicit kodede. De kombinerer data med statistiske værktøjer for at forudsige output, som folk kan omsætte til handlingsrettede beslutninger.

  • 🔘 Regler læres, ikke skrives: Traditionel programmering koder hver regel i hånden, mens en model udleder reglen fra parrede input og output.
  • ☑️ To faser: Læring opdager mønstre og opsummerer dem i en model; inferens anvender denne model på data, der aldrig er set.
  • To brede familier: Superviseret læring har brug for mærker som output, mens uovervåget læring finder struktur uden dem.
  • 🧪 Valg af algoritme følger målet: Regression forudsiger kontinuerlige værdier, klassificering tildeler etiketter og klynger lignende poster.
  • 🛠️ Data er den virkelige begrænsning: For lidt data, eller data uden variation, producerer en model, der ikke kan generaliseres.
  • 🇧🇷 Hvor det betaler sig: Svigdetektering i banksektoren, billeddetektering i sundhedsvæsenet, efterspørgselsprognoser på tværs af forsyningskæden.

Maskinlæringsvejledning for begyndere: Grundlæggende om ML

Hvad er maskinlæring?

Maskinelæring er et system af computeralgoritmer, der kan lære af eksempler gennem selvudvikling uden at være eksplicit kodet af en programmør. Maskinlæring er en del af kunstig intelligens som kombinerer data med statistiske værktøjer for at forudsige et output, der kan bruges til at skabe handlingsrettet indsigt.

Gennembruddet kommer fra ideen om, at en maskine kan lære af dataene (dvs. eksempler) på egen hånd for at producere nøjagtige resultater. Maskinlæring er tæt forbundet med data mining og Bayesiansk prædiktiv modellering. Maskinen modtager data som input og bruger en algoritme til at formulere svar.

En typisk maskinlæringsopgave er at give en anbefaling. For dem, der har en Netflix konto, er alle anbefalinger af film eller serier baseret på brugerens historiske data. Teknologivirksomheder bruger uovervåget læring at forbedre brugeroplevelsen ved at personliggøre anbefalinger.

Maskinlæring bruges også til en række opgaver såsom svindeldetektion, prædiktiv vedligeholdelse, porteføljeoptimering og opgaveautomatisering.

Machine Learning vs. traditionel programmering

Traditionel programmering adskiller sig markant fra maskinlæring. I traditionel programmering koder en programmør alle reglerne i samråd med en ekspert i den branche, som softwaren udvikles til. Hver regel er baseret på et logisk fundament; maskinen producerer et output ved at følge den logiske sætning. Når systemet bliver komplekst, skal der skrives flere regler, og det kan hurtigt blive uholdbart at vedligeholde. Diagrammet nedenfor viser dette flow, hvor data og håndskrevne regler kommer ind, og svar kommer ud.

Traditionelt programmeringsflow: data plus håndkodede regler producerer outputtet
Traditionel programmering

Maskinlæring er beregnet til at overvinde dette problem. Maskinen lærer, hvordan input- og outputdataene er korreleret, og den skriver selv reglen. Programmører behøver ikke at skrive nye regler, hver gang der er nye data. Algoritmerne tilpasser sig som reaktion på nye data og erfaring for at forbedre effektiviteten over tid. Det andet diagram inverterer det første: data og kendte svar indsættes, og reglen udkommer.

Maskinlæringsflow: data plus kendte svar producerer reglen

Maskinelæring

Hvordan fungerer Machine Learning?

Med den kontrast på plads er det næste spørgsmål, hvad der rent faktisk sker i læringstrinnet.

Maskinlæring er hjernen, hvor al læring finder sted. Måden, maskinen lærer på, minder om den måde, et menneske gør. Mennesker lærer af erfaring: jo mere vi ved, jo lettere kan vi forudsige. I analogi er sandsynligheden for succes lavere, når vi står over for en ukendt situation, end i en kendt situation. Maskiner trænes på samme måde. For at lave en præcis forudsigelse ser maskinen et eksempel. Når vi giver maskinen et lignende eksempel, kan den finde ud af resultatet. Men ligesom et menneske har maskinen svært ved at forudsige, hvis den får et tidligere uset eksempel.

Kerneformålene med maskinlæring er læring og inferens. Først og fremmest lærer maskinen gennem opdagelsen af ​​mønstre, og denne opdagelse muliggøres af dataene. En afgørende del af dataforskerens job er omhyggeligt at vælge, hvilke data der skal leveres til maskinen. Listen over attributter, der bruges til at løse et problem, kaldes en funktionsvektorDu kan tænke på en funktionsvektor som en delmængde af data, der bruges til at løse et problem.

Maskinen bruger algoritmer til at forenkle virkeligheden og omdanne denne opdagelse til en model. Læringsfasen bruges derfor til at beskrive dataene og opsummere dem til en model, som illustreret nedenfor.

Læringsfase: Træningsdata passerer gennem en algoritme for at bygge en model

For eksempel forsøger maskinen at forstå forholdet mellem en persons løn og sandsynligheden for at gå på en fin restaurant. Det viser sig, at maskinen finder en positiv sammenhæng mellem løn og at gå på en luksusrestaurant: dette er modellen.

Udlede

Når modellen er bygget, er det muligt at teste, hvor kraftfuld den er på data, der aldrig er set før. De nye data transformeres til en funktionsvektor, går gennem modellen og giver en forudsigelse. Dette er den værdifulde del af maskinlæring. Der er ingen grund til at opdatere reglerne eller træne modellen igen - du kan bruge den tidligere trænede model til at drage en inferens på nye data, præcis som diagrammet nedenfor viser.

Inferensfase: Nye data passerer gennem den trænede model for at give en forudsigelse

Et maskinlæringsprograms levetid er ligetil og kan opsummeres i følgende punkter:

  1. Definer et spørgsmål
  2. Indsamle data
  3. Visualiser data
  4. Tog algoritme
  5. Test algoritmen
  6. Indsaml feedback
  7. Forfin algoritmen
  8. Gentag trin 4 til 7, indtil resultaterne er tilfredsstillende
  9. Brug modellen til at lave en forudsigelse

Når først algoritmen bliver god til at drage de rigtige konklusioner, anvender den den viden på nye datasæt.

Maskinelæring Algorithms og hvor bruges de?

Diagrammet nedenfor grupperer de mest almindelige algoritmer efter den type opgave, de løser.

Maskinlæringsalgoritmer grupperet i overvågede og ikke-overvågede opgaver

Maskinelæring Algorithms

Maskinlæring kan grupperes i to brede læringsopgaver: overvåget og uden opsynTo yderligere familier sidder mellem og bag dem — semi-superviseret læring, som blander et lille mærket sæt med et stort umærket sæt, og forstærkning læring, hvor en agent lærer af belønninger snarere end af mærkede svar.

Overvåget læring

En algoritme bruger træningsdata og feedback fra mennesker til at lære forholdet mellem givne input og et givet output. For eksempel kan en praktiker bruge marketingudgifter og vejrudsigter som inputdata til at forudsige salget af dåser.

Du kan bruge overvåget læring når outputdataene er kendte. Algoritmen vil derefter forudsige på baggrund af nye data.

Der er to kategorier af superviseret læring:

  • Klassifikationsopgave
  • Regressionsopgave

Klassifikation

Forestil dig, at du vil forudsige kønnet på en kunde til en reklame. Du starter med at indsamle data om højde, vægt, job, løn, indkøbskurv osv. fra din kundedatabase. Du kender kønnet på hver af dine kunder, og det kan kun være mand eller kvinde. Formålet med klassifikatoren er at tildele en sandsynlighed for at være mand eller kvinde (dvs. betegnelsen) baseret på de oplysninger, du har indsamlet (dvs. funktionerne). Når modellen har lært at genkende mand eller kvinde, kan du bruge nye data til at lave en forudsigelse. For eksempel har du lige modtaget nye oplysninger fra en ukendt kunde, og du vil vide, om kunden er mand eller kvinde. Hvis klassifikatoren forudsiger mand = 70%, betyder det, at algoritmen er 70% sikker på, at denne kunde er mand, og 30% sikker på, at kunden er kvinde.

Etiketten kan have to eller flere klasser. Ovenstående eksempel på maskinlæring har kun to klasser, men hvis en klassifikator skal forudsige objekter, kan den have snesevis af klasser (f.eks. glas, bord, sko - hvert objekt repræsenterer en klasse).

Regression

Når outputtet er en kontinuerlig værdi, er opgaven en regression. For eksempel kan en finansanalytiker have brug for at forudsige værdien af ​​en aktie baseret på en række funktioner såsom aktier, tidligere aktiepræstationer og makroøkonomiske indeks. Systemet vil blive trænet til at estimere aktiekursen med den lavest mulige fejl.

Tabellen nedenfor viser de overvågede algoritmer, du oftest vil støde på, og den opgave, hver enkelt er egnet til.

Algoritme Beskrivelse Type
Lineær regression Finder en måde at korrelere hver funktion til outputtet for at hjælpe med at forudsige fremtidige værdier. Regression
Logistisk regression Udvidelse af lineær regression, der bruges til klassifikationsopgaver. Outputvariablen er binær (f.eks. kun sort eller hvid) snarere end kontinuerlig (f.eks. en uendelig liste af potentielle farver) Klassifikation
Beslutningstræ Meget fortolkelig klassifikations- eller regressionsmodel, der opdeler data-funktionsværdier i grene ved beslutningsknuder (f.eks. hvis en funktion er en farve, bliver hver mulig farve en ny gren), indtil et endeligt beslutningsoutput er lavet Regression
Klassifikation
Naiv Bayes Bayesiansk metode er en klassifikationsmetode, der gør brug af Bayesiansk sætning. Sætningen opdaterer forhåndskendskabet til en begivenhed med den uafhængige sandsynlighed for hver funktion, der kan påvirke begivenheden. Regression
Klassifikation
Support vektor maskine Support Vector Machine, eller SVM, bruges typisk til klassifikationsopgaven. SVM-algoritmen finder et hyperplan, der optimalt opdeler klasserne. Den bruges bedst med en ikke-lineær løser. Regression (ikke særlig almindelig)
Klassifikation
Tilfældig skov Algoritmen er bygget på et beslutningstræ for at forbedre nøjagtigheden drastisk. Tilfældig skov genererer mange simple beslutningstræer og bruger 'flertalsafstemning'-metoden til at bestemme, hvilken etiket der skal returneres. For klassificeringsopgaven vil den endelige forudsigelse være den med flest stemmer; for regressionsopgaven er den gennemsnitlige forudsigelse af alle træerne den endelige forudsigelse. Regression
Klassifikation
AdaBoost Klassificerings- eller regressionsteknik, der bruger en lang række modeller til at komme med en beslutning, men vejer dem baseret på deres nøjagtighed i at forudsige resultatet Regression
Klassifikation
Gradientforstærkende træer Gradientforstærkende træer er en avanceret klassificerings-/regressionsteknik. Den fokuserer på den fejl, der er begået af de foregående træer, og forsøger at rette den. Regression
Klassifikation

Uovervåget læring

I uovervåget læring udforsker en algoritme inputdata uden at få tildelt en eksplicit outputvariabel (f.eks. udforsker den kundernes demografiske data for at identificere mønstre).

Du kan bruge den, når du ikke ved, hvordan du skal klassificere dataene, og du ønsker, at algoritmen skal finde mønstrene og gruppere dataene for dig. De vigtigste uovervågede algoritmer er opsummeret nedenfor.

Algoritme navn Beskrivelse Type
K-betyder gruppering Sætter data i nogle grupper (k), som hver indeholder data med lignende karakteristika (som bestemt af modellen, ikke på forhånd af mennesker) ClusterING
Gaussisk blandingsmodel En generalisering af k-betyder klyngedannelse, der giver mere fleksibilitet i størrelsen og formen af ​​grupper (klynger) ClusterING
Hierarkisk klynge Opdeler klynger langs et hierarkisk træ for at danne et klassifikationssystem. Kan bruges til at gruppere loyalitetskortkunder ClusterING
Anbefalingssystem Hjælper med at definere de relevante data for at udarbejde en anbefaling. ClusterING
PCA/t-SNE Mest brugt til at reducere dimensionaliteten af ​​dataene. Algoritmerne reducerer antallet af funktioner til 3 eller 4 vektorer med de højeste varianser. Dimensionsreduktion

Sådan vælger du Machine Learning-algoritme

Der findes masser af maskinlæringsalgoritmer, og valget af algoritme er drevet af målet snarere end af mode.

I maskinlæringseksemplet nedenfor er opgaven at forudsige blomstertypen blandt tre sorter. Forudsigelserne er baseret på kronbladets længde og bredde. Billedet viser resultaterne af ti forskellige algoritmer. Billedet øverst til venstre er selve datasættet, hvor dataene er klassificeret i tre kategorier: rød, lyseblå og mørkeblå. Nogle grupper...pings er synlige. For eksempel, på det andet billede, tilhører alt øverst til venstre den røde kategori, den midterste del indeholder en blanding af usikkerhed og lyseblå, mens den nederste del svarer til den mørke kategori. De andre billeder viser, hvordan forskellige algoritmer forsøger at klassificere de samme data.

Ti algoritmer sammenlignet på det samme blomsterdatasæt med tre klasser

Når en kandidat er valgt, bedømmes dens kvalitet ud fra data, den aldrig har set før, normalt med en forvirringsmatrix og de nøjagtighed, præcision og genkendelsestal, der er afledt heraf.

Udfordringer og begrænsninger ved Machine Learning

Den primære udfordring ved maskinlæring er manglen på data eller manglen på diversitet i datasættet. En maskine kan ikke lære, hvis der ikke er data tilgængelige. Et datasæt, der mangler diversitet, giver også maskinen en hård tid, fordi en maskine har brug for heterogenitet for at lære en meningsfuld indsigt. Det er sjældent, at en algoritme kan ...tracinformation, når der ikke er nogen eller få variationer. En almindelig tommelfingerregel er at have mindst 20 observationer pr. gruppe for at hjælpe maskinlæringen; under dette lider både evaluering og forudsigelse.

Datamængden er ikke den eneste begrænsning. Modeller, der er trænet på forudindtagede historiske optegnelser, reproducerer denne bias, komplekse modeller er svære at forklare for en regulator eller en kunde, og enhver model forringes, efterhånden som den verden, den blev trænet på, ændrer sig.

Anvendelse af Machine Learning

Ovenstående teknikker anvendes allerede i de fleste brancher. Eksemplerne nedenfor går fra generel bistand til specifikke sektorer.

Augmentation: Maskinlæring hjælper mennesker med deres daglige opgaver, personligt eller kommercielt, uden at have fuldstændig kontrol over outputtet. Sådan maskinlæring bruges på forskellige måder, såsom virtuelle assistenter, dataanalyse og softwareløsninger. Det primære formål er at reducere fejl forårsaget af menneskelig bias.

Automation: Maskinlæring fungerer fuldstændig autonomt inden for ethvert felt uden behov for menneskelig indgriben. For eksempel udfører robotter de væsentlige procestrin i produktionsanlæg.

Finansbranchen: Maskinlæring bliver mere og mere populært i finansbranchen. Banker bruger primært maskinlæring til at finde mønstre i data, men også til at forhindre svindel.

Statslige organisationer: Regeringer bruger maskinlæring til at styre offentlig sikkerhed og forsyningsvirksomheder. Tag Kina som eksempel og dets omfattende ansigtsgenkendelsesprogram, hvor applikationer til kunstig intelligens bruges til at identificere jaywalkere.

Sundhedsindustrien: Sundhedsvæsenet var en af ​​de første brancher, der brugte maskinlæring, startende med billedgenkendelse.

Marketing: AI anvendes i vid udstrækning i marketing takket være rigelig adgang til data. Før massedataenes tidsalder udviklede forskere avancerede matematiske værktøjer såsom Bayesiansk analyse til at estimere værdien af ​​en kunde. Med databoomet er marketingafdelinger afhængige af AI til at optimere kunderelationer og marketingkampagner.

Eksempel på maskinlæring i forsyningskæden

Maskinlæring giver stærke resultater inden for visuel mønstergenkendelse, hvilket åbner op for mange potentielle anvendelser inden for fysisk inspektion og vedligeholdelse på tværs af hele forsyningskæden.

Uovervåget læring kan hurtigt søge efter sammenlignelige mønstre i et forskelligartet datasæt. Til gengæld kan maskinen udføre kvalitetsinspektion i hele logistikcentret og markere forsendelser med skader og slid.

For eksempel, IBMWatson-platformen kan bestemme skibetsping containerskader. Watson kombinerer visuelle og systembaserede data for at track, rapportere og komme med anbefalinger i realtid.

Tidligere brugte lagerchefer i høj grad manuelle metoder til at evaluere og forudsige lagerbeholdninger. Når big data og maskinlæring kombineres, bliver bedre prognoseteknikker mulige, med rapporterede forbedringer på 20 til 30 procent i forhold til traditionelle prognoseværktøjer. Med hensyn til salg svarer det til en stigning på 2 til 3 procent takket være den potentielle reduktion i lageromkostninger.

Eksempel på maskinlæring i Google Bil

Alle kender Google bil. Bilen er dækket af lasere på taget, som fortæller den, hvor den er i forhold til det omkringliggende område. Den har radar foran, som informerer bilen om hastigheden og bevægelsen af ​​alle bilerne omkring den. Den bruger alle disse data til ikke kun at finde ud af, hvordan bilen skal køres, men også til at forudsige, hvad bilisterne omkring den vil gøre. Det imponerende er, at bilen behandler næsten en gigabyte data i sekundet.

Sensorer i selvkørende biler forsyner maskinlæringsmodeller i realtid

Hvorfor er maskinlæring vigtig?

Maskinlæring er indtil videre det bedste værktøj til at analysere, forstå og identificere et mønster i data. En af hovedideerne bag maskinlæring er, at en computer kan trænes til at automatisere opgaver, der ville være udmattende eller umulige for et menneske. Det klare brud fra traditionel analyse er, at maskinlæring kan træffe beslutninger med minimal menneskelig indgriben.

Tag følgende eksempel: en detailmægler kan estimere prisen på et hus baseret på personlig erfaring og kendskab til markedet.

En maskine kan trænes til at omsætte ekspertens viden til funktioner. Funktionerne er alle de karakteristika ved et hus, nabolaget, det økonomiske miljø og så videre, der får prisen til at variere. For eksperten tog det sandsynligvis år at mestre kunsten at estimere prisen på et hus, og ekspertisen forbedres efter hvert salg.

For maskinen kræver det millioner af datapunkter (dvs. eksempler) at mestre denne kunst. Helt i begyndelsen af ​​sin læring begår maskinen fejl, ligesom en juniorsælger. Når maskinen har set nok eksempler, har den nok viden til at foretage sit skøn, og til at gøre det med høj nøjagtighed. Maskinen er også i stand til at rette sine fejl, når nye salg ankommer.

De fleste store virksomheder har forstået værdien af ​​maskinlæring og af at opbevare data. McKinsey Global Institute anslog den årlige værdi af alle analyseteknikker til 9.5 til 15.4 billioner dollars og tilskrev cirka 40 procent af dette - omkring 3.5 til 5.8 billioner dollars om året - til avancerede AI-teknikker baseret på dybe neurale netværk, som beskrevet i dens Noter fra AI Frontier forskning.

Hvor regler er kendte, men upræcise snarere end fraværende, kan en regelbaseret tilgang som f.eks. sløret logik kan være et bedre match end en lært model, så de to teknikker sammenlignes ofte, før et projekt starter.

Ofte Stillede Spørgsmål

Semi-superviseret læring trænes på et lille mærket sæt plus et stort umærket, hvilket er en fordel, når mærkning er dyrt. Forstærkning læring har slet ingen betegnelser: en agent handler, modtager en belønning eller straf og justerer sin politik over mange forsøg.

De er indlejret. Kunstig intelligens er det bredeste mål for maskinlignende intelligens, maskinlæring er den delmængde, der lærer af data, og dyb læring er den delmængde af maskinlæring, der er bygget på flerlags neurale netværk.

Overfitting sker, når en model husker træningssættet, inklusive dets støj, og derefter fejler på nye data. Krydsvalidering, enklere modeller, regularisering, tidligt stopping og flere træningseksempler er de sædvanlige forsvar.

En model scorer altid godt på de rækker, den blev tilpasset til, så den score beviser ingenting. At tilbageholde et testsæt – og ofte et separat valideringssæt til finjustering – er det eneste ærlige estimat af ydeevne på data, som modellen aldrig har set.

Fortrolighed med grundlæggende statistik og sandsynlighedsregning, lineær algebra på vektor- og matricniveau og ét scriptsprog. Praktisk datahåndtering er vigtigere end avanceret matematik i starten, så det er bedst at rense og udforske et rigtigt datasæt i starten.

Python kundeemner, med scikit-learn til klassiske modeller og TensorFlow eller PyTorch for neurale netværk. R forbliver stærk til statistisk modellering og visualisering, mens SQL er uundgåelig til at trække selve træningsdataene.

Prædiktive modeller udskriver en etiket eller et tal for et givet input. Generative modeller lærer fordelingen af ​​dataene og producerer nye eksempler ud fra dem – tekst, billeder eller kode. Begge er trænet på data, men kun den ene evalueres udelukkende på nøjagtighed.

GitHub Copilot udarbejder hurtigt standardtekst: indlæser et datasæt, opdeler det, tilpasser en estimator og plotter resultater. RevSe alle forslag, fordi en plausibel pipeline stadig kan lække testdata ind i træningen og oppuste scoren.

Opsummer dette indlæg med: