9 centrale maskinlæringsalgoritmer forklaret på almindeligt engelsk

Maskinindlæring ændrer verden. Google bruger maskinlæring til at foreslå søgeresultater til brugerne. Netflix bruger det til at anbefale film, som du kan se. Facebook bruger maskinlæring til at foreslå folk, du måske kender.

Maskinindlæring har aldrig været vigtigere. Samtidig er det svært at forstå maskinlæring. Marken er fuld af jargon. Og antallet af forskellige ML-algoritmer vokser hvert år.

Denne artikel introducerer dig til de grundlæggende begreber inden for maskinlæring. Mere specifikt vil vi diskutere de grundlæggende begreber bag de 9 vigtigste maskinlæringsalgoritmer i dag.

Anbefalingssystemer

Hvad er anbefalingssystemer?

Anbefalingssystemer bruges til at finde lignende poster i et datasæt.

Måske findes det mest almindelige virkelige eksempel på en anbefaling inde i Netflix. Mere specifikt vil dens videostreamingtjeneste anbefale foreslåede film og tv-shows baseret på indhold, som du allerede har set.

Et andet anbefalingssystem er Facebooks "People You May Know" -funktion, som foreslår mulige venner for dig baseret på din eksisterende venneliste.

Fuldt udviklede og implementerede anbefalingssystemer er ekstremt sofistikerede. De er også meget ressourceintensive.

Anbefalingssystemer og lineær algebra

Fuldstændige anbefalingssystemer kræver en dyb baggrund i lineær algebra for at opbygge fra bunden.

På grund af dette kan der være begreber i dette afsnit, som du ikke forstår, hvis du aldrig har studeret lineær algebra før.

Bare rolig, dog - scikit-lær Python-biblioteket gør det meget nemt at opbygge anbefalingssystemer. S0 du har ikke brug for meget af en lineær algebra-baggrund for at opbygge reelle anbefalingssystemer.

Hvordan fungerer anbefalingssystemer?

Der er to hovedtyper af anbefalingssystemer:

  • Indholdsbaserede anbefalingssystemer
  • Samarbejdende filtreringsanbefalingssystemer

Indholdsbaserede anbefalingssystemer giver dig anbefalinger baseret på genstanders lighed med varer, som du allerede har brugt. De opfører sig nøjagtigt, hvordan man forventer, at et anbefalingssystem opfører sig.

Samarbejdsfiltreringsanbefalingssystemer producerer anbefalinger baseret på viden om brugerens interaktion med emner. Sagt forskelligt bruger de menneskemængdenes visdom. (Derfor udtrykket "samarbejde" i dets navn.)

I den virkelige verden er samarbejdsfiltreringsanbefalingssystemer meget mere almindelige end indholdsbaserede systemer. Dette skyldes primært, at de typisk giver bedre resultater. Nogle praktikere finder det også lettere at forstå samarbejdsanbefalingssystemer til filtrering.

Samarbejdsfiltreringsanbefalingssystemer har også en unik funktion, at indholdsbaserede systemer mangler. De har nemlig evnen til at lære funktioner på egen hånd.

Dette betyder, at de endda kan begynde at identificere ligheder mellem emner baseret på attributter, som du ikke engang har bedt dem om at overveje.

Der er to underkategorier inden for samarbejdsfiltrering:

  • Hukommelsesbaseret samarbejdsfiltrering
  • Modelbaseret samarbejdsfiltrering

Du behøver ikke at kende forskellene mellem disse to typer samarbejdsfiltreringsanbefalingssystemer for at få succes i maskinindlæring. Det er nok at erkende, at der findes flere typer.

Afsnit Wrap-up

Her er et kort resume af, hvad vi diskuterede om anbefalingssystemer i denne vejledning:

  • Eksempler på anbefalingssystemer i den virkelige verden
  • De forskellige typer af anbefalingssystemer, og hvordan samarbejdsfiltreringssystemer bruges mere almindeligt end indholdsbaserede anbefalingssystemer
  • Forholdet mellem anbefalingssystemer og lineær algebra

Lineær regression

Lineær regression bruges til at forudsige nogle yværdier baseret på værdien af ​​et andet sæt xværdier.

Historien om lineær regression

Lineær regression blev skabt i 1800'erne af Francis Galton.

Galton var en videnskabsmand, der studerede forholdet mellem forældre og børn. Mere specifikt undersøgte Galton forholdet mellem fædres højder og deres søners højder.

Galtons første opdagelse var, at sønner havde en tendens til at være omtrent lige så høje som deres fædre. Dette er ikke overraskende.

Senere opdagede Galton noget meget mere interessant. Sønnens højde havde en tendens til at være tættere på den samlede gennemsnitshøjde for alle mennesker end for sin egen far .

Galton gav dette fænomen et navn: regression . Specifikt sagde han ”En fars søns højde har tendens til at regressere (eller glide mod) den gennemsnitlige (gennemsnitlige) højde”.

Dette førte til et helt felt inden for statistik og maskinindlæring kaldet regression.

Matematikken for lineær regression

Når vi opretter en regressionsmodel, er alt, hvad vi prøver at gøre, at tegne en linje, der er så tæt som muligt på hvert punkt i et datasæt.

Det typiske eksempel på dette er "mindste kvadraters metode" til lineær regression, der kun beregner nærhed af en linje i op-og-ned-retning.

Her er et eksempel, der kan illustrere dette:

Et eksempel på matematik bag mindste kvadraters regression

Når du opretter en regressionsmodel, er dit slutprodukt en ligning, som du kan bruge til at forudsige y-værdien af ​​en x-værdi uden faktisk at kende y-værdien på forhånd.

Logistisk regression

Logistisk regression svarer til lineær regression, bortset fra at den i stedet for at beregne en numerisk yværdi estimerer, hvilken kategori et datapunkt tilhører.

Hvad er logistisk regression?

Logistisk regression er en maskinlæringsmodel, der bruges til at løse klassificeringsproblemer.

Her er et par eksempler på klassificeringsproblemer med maskinlæring:

  • Spam-e-mails (spam eller ikke spam?)
  • Bilforsikringskrav (afskrivning eller reparation?)
  • Sygdomsdiagnose

Hver af klassificeringsproblemerne har nøjagtigt to kategorier, hvilket gør dem eksempler på binære klassificeringsproblemer .

Logistisk regression er velegnet til at løse binære klassificering problemer - vi bare tildele de forskellige kategorier en værdi på 0og 1hhv.

Hvorfor har vi brug for logistisk regression? Fordi du ikke kan bruge en lineær regressionsmodel til at forudsige binære klassifikationer. Det ville ikke føre til en god pasform, da du forsøger at tilpasse en lige linje gennem et datasæt med kun to mulige værdier.

Dette billede kan hjælpe dig med at forstå, hvorfor lineære regressionsmodeller er dårligt egnede til binære klassificeringsproblemer:

Lineær regressionsklassificering

I dette billede y-axisrepræsenterer sandsynligheden for, at en tumor er ondartet. Omvendt 1-yrepræsenterer værdien sandsynligheden for, at en tumor ikke er ondartet. Som du kan se, gør den lineære regressionsmodel et dårligt stykke arbejde med at forudsige denne sandsynlighed for de fleste observationer i datasættet.

Derfor er logistiske regressionsmodeller nyttige. De har en bøjning til deres linje med den bedste pasform, hvilket gør dem meget bedre egnet til at forudsige kategoriske data.

Her er et eksempel, der sammenligner en lineær regressionsmodel med en logistisk regressionsmodel ved hjælp af de samme træningsdata:

Lineær regression vs logistisk regression

Sigmoid-funktionen

Årsagen til, at den logistiske regressionsmodel har en bøjning i sin kurve, er, at den ikke beregnes ved hjælp af en lineær ligning. I stedet er logistiske regressionsmodeller bygget ved hjælp af Sigmoid-funktionen (også kaldet logistisk funktion på grund af dens anvendelse i logistisk regression).

Du behøver ikke huske Sigmoid-funktionen for at få succes med maskinindlæring. Når det er sagt, er det nyttigt at have en vis forståelse af dets udseende.

Ligningen er vist nedenfor:

Sigmoid ligningen

Hovedkarakteristikken ved Sigmoid-funktionen, der er værd at forstå, er: uanset hvilken værdi du overfører til den, genererer den altid et output et sted mellem 0 og 1.

Brug af logistiske regressionsmodeller til at forudsige forudsigelser

For at bruge den lineære regressionsmodel til at forudsige forudsigelser skal du generelt angive et afskæringspunkt. Dette afskæringspunkt er typisk 0.5.

Lad os bruge vores kræftdiagnoseeksempel fra vores tidligere billede for at se dette princip i praksis. Hvis den logistiske regressionsmodel udsender en værdi under 0,5, kategoriseres datapunktet som en ikke-ondartet tumor. Tilsvarende, hvis Sigmoid-funktionen udsender en værdi over 0,5, ville tumoren blive klassificeret som ondartet.

Brug af en forvirringsmatrix til at måle logistisk regression

En forvirringsmatrix kan bruges som et værktøj til at sammenligne sande positive, sande negativer, falske positive og falske negativer i maskinindlæring.

Forvirringsmatricer er især nyttige, når de bruges til at måle ydeevnen for logistiske regressionsmodeller. Her er et eksempel på, hvordan vi kunne bruge en forvirringsmatrix:

Et eksempel på forvirringsmatrix

En forvirringsmatrix er nyttig til at vurdere, om din model er særlig svag i en bestemt kvadrant i forvirringsmatrixen. Som et eksempel kan det have et unormalt højt antal falske positive.

Det kan også være nyttigt i visse applikationer for at sikre, at din model fungerer godt i en særlig farlig zone i forvirringsmatrixen.

I dette kræfteksempel vil du for eksempel være meget sikker på, at din model ikke har en meget høj grad af falske negativer, da dette vil indikere, at nogen har en ondartet tumor, som du forkert klassificerede som ikke-ondartet.

Afsnit Wrap-up

I dette afsnit havde du din første eksponering for logistiske regressionsmaskinelæringsmodeller.

Her er et kort resume af, hvad du lærte om logistisk regression:

  • De typer klassificeringsproblemer, der er egnede til at blive løst ved hjælp af logistiske regressionsmodeller
  • At den logistiske funktion (også kaldet Sigmoid-funktionen) altid udsender en værdi mellem 0 og 1
  • Sådan bruges afskæringspunkter til at forudsige ved hjælp af en logistisk regression maskineindlæringsmodel
  • Hvorfor forvirringsmatricer er nyttige til at måle udførelsen af ​​logistiske regressionsmodeller

K-nærmeste naboer

K-nærmeste nabealgoritme kan hjælpe dig med at løse klassificeringsproblemer, hvor der er mere end to kategorier.

Hvad er den K-nærmeste naboalgoritme?

K-nærmeste naboalgoritme er en klassificeringsalgoritme, der er baseret på et simpelt princip. Faktisk er princippet så simpelt, at det bedst forstås gennem et eksempel.

Forestil dig, at du havde data om højden og vægten af ​​fodboldspillere og basketballspillere. Den K-nærmeste naboalgoritme kan bruges til at forudsige, om en ny atlet enten er fodboldspiller eller basketballspiller.

For at gøre dette identificerer K-nærmeste nabealgoritme de Kdatapunkter, der er tættest på den nye observation.

Følgende billede visualiserer dette med en K-værdi på 3:

En visualisering af k nærmeste naboer

På dette billede er fodboldspillere mærket som blå datapunkter, og basketballspillere er mærket som orange prikker. Datapunktet, som vi forsøger at klassificere, er mærket som grønt.

Da flertallet (2 ud af 3) af skabe-datapunkterne til de nye datapunkter er blå fodboldspillere, forudsiger den nærmeste algoritme til naboer, at det nye datapunkt også er en fodboldspiller.

Trinene til opbygning af en K-nærmeste naboalgoritme

De generelle trin til opbygning af en K-nærmeste nabealgoritme er:

  1. Gem alle data
  2. Beregn den euklidiske afstand fra det nye datapunkt xtil alle de andre punkter i datasættet
  3. Sorter punkterne i datasættet i rækkefølge efter stigende afstand fra x
  4. Forudsig at bruge den samme kategori som de fleste af de Ktætteste datapunkterx

Betydningen af ​​K i en K-nærmeste naboalgoritme

Selvom det måske ikke er indlysende fra starten, ændres værdien af Ki en K-nærmeste nabealgoritme, hvilken kategori et nyt punkt er tildelt.

Mere specifikt vil have en meget lav Kværdi få din model til at forudsige dine træningsdata perfekt og dårligt forudsige dine testdata. På samme måde Kvil din model have en for høj værdi unødvendigt kompleks.

Følgende visualisering gør et fremragende stykke arbejde med at illustrere dette:

K-værdi og fejlprocent

Fordele og ulemper ved de K-nærmeste naboer algoritme

For at afslutte denne introduktion til K-nærmeste naboalgoritme, ville jeg kort diskutere nogle fordele og ulemper ved at bruge denne model.

Her er nogle hovedfordele ved den K-nærmeste naboalgoritme:

  • Algoritmen er enkel og let at forstå
  • Det er trivielt at træne modellen i nye træningsdata
  • Det fungerer med et hvilket som helst antal kategorier i et klassificeringsproblem
  • Det er let at tilføje flere data til datasættet
  • Modellen accepterer kun to parametre: Kog den afstandsmetrik, du gerne vil bruge (normalt euklidisk afstand)

Tilsvarende er her et par af algoritmens største ulemper:

  • Der er høje beregningsomkostninger ved forudsigelse, da du skal sortere hele datasættet
  • Det fungerer ikke godt med kategoriske funktioner

Afsnit Wrap-up

Her er et kort resumé af, hvad du lige har lært om den k-nærmeste nabos algoritme:

  • Et eksempel på et klassificeringsproblem (fodboldspillere vs. basketballspillere), som K-nærmeste algoritme kunne løse
  • Hvordan de K-nærmeste naboer bruger den euklidiske afstand fra de nærliggende datapunkter til at forudsige, hvilken kategori et nyt datapunkt tilhører
  • Hvorfor værdien af Kting betyder noget for at komme med forudsigelser
  • Fordele og ulemper ved at bruge K-nærmeste nabealgoritme

Beslutningstræer og tilfældige skove

Beslutningstræer og randomsskove er begge eksempler på træmetoder.

Mere specifikt er beslutningstræer maskinindlæringsmodeller, der bruges til at forudsige ved at cykle gennem hver funktion i et datasæt, en efter en. Tilfældige skove er ensembler af beslutningstræer, der brugte tilfældige ordrer af funktionerne i datasættene.

Hvad er træmetoder?

Før vi graver ind i den teoretiske understøttelse af træmetoder i maskinindlæring, er det nyttigt at starte med et eksempel.

Forestil dig at du spiller basketball hver mandag. Desuden inviterer du altid den samme ven til at komme og lege med dig.

Nogle gange kommer veninden faktisk. Nogle gange gør de det ikke.

Beslutningen om, hvorvidt man skal komme, afhænger af adskillige faktorer som vejr, temperatur, vind og træthed. Du begynder at lægge mærke til disse funktioner og begynde at spore dem sammen med din vens beslutning om at spille eller ej.

Du kan bruge disse data til at forudsige, om din ven kommer til at spille basketball eller ej. En teknik, du kunne bruge, er et beslutningstræ. Sådan ser dette beslutningstræ ud:

Et eksempel på et beslutningstræ

Hvert beslutningstræ har to typer elementer:

  • Nodes: placeringer, hvor træet deler sig efter værdien af ​​en eller anden attribut
  • Edges: resultatet af en split til den næste node

Du kan se på billedet ovenfor, at der er noder til outlook, humidityog windy. Der er en kant for hver potentielle værdi af hver af disse attributter.

Her er to andre stykker beslutningsterminologi, som du skal forstå, før du fortsætter:

  • Root: den node, der udfører den første opdeling
  • Leaves: terminalknudepunkter, der forudsiger det endelige resultat

Du har nu en grundlæggende forståelse af, hvad beslutningstræer er. Vi lærer om, hvordan man bygger beslutningstræer fra bunden i næste afsnit.

Hvordan man bygger beslutningstræer fra bunden

At bygge beslutningstræer er sværere end du måske forestiller dig. Dette skyldes, at det er et matematisk komplekst problem at beslutte, hvilke funktioner du skal dele dine data på (hvilket er et emne, der hører til felterne Entropy og Information Gain).

For at løse dette bruger maskinlæringsudøvere typisk mange beslutningstræer ved hjælp af en tilfældig prøve af funktioner valgt som split.

Sagt forskelligt vælges en ny tilfældig prøve af funktioner til hvert enkelt træ ved hver enkelt split. Denne teknik kaldes tilfældige skove .

Generelt valgte udøvere typisk størrelsen på den tilfældige stikprøve af funktioner (betegnet m) for at være kvadratroden af ​​antallet af samlede funktioner i datasættet (betegnet p). At være kortfattet mer kvadratroden af p, og derefter vælges en bestemt funktion tilfældigt blandt m.

Hvis det ikke giver fuld mening lige nu, skal du ikke bekymre dig. Det vil være mere klart, når du til sidst bygger din første tilfældige skovmodel.

Fordelene ved at bruge tilfældige skove

Forestil dig, at du arbejder med et datasæt, der har en meget stærk funktion. Sagt forskelligt har datasættet en funktion, der er meget mere forudsigelig for det endelige resultat end de andre funktioner i datasættet.

Hvis du bygger dine beslutningstræer manuelt, er det fornuftigt at bruge denne funktion som den øverste opdeling af beslutningstræet. Dette betyder, at du har flere træer, hvis forudsigelser er stærkt korreleret.

Vi vil undgå dette, da optagelsen af ​​gennemsnittet af stærkt korrelerede variabler ikke reducerer variansen markant. Ved tilfældigt at vælge funktioner for hvert træ i en tilfældig skov, bliver træerne afkorreleret, og variansen af ​​den resulterende model reduceres. Denne dekorrelation er den største fordel ved at bruge tilfældige skove frem for håndlavede beslutningstræer

Afsnit Wrap-up

Her er et kort resume af, hvad du lærte om beslutningstræer og tilfældige skove i denne artikel:

  • Et eksempel på et problem, som du kunne forudsige ved hjælp af beslutningstræer
  • Elementerne i et beslutningstræ: nodes, edges, roots, ogleaves
  • Hvordan man tager tilfældige prøver af beslutningstræets funktioner giver os mulighed for at opbygge en tilfældig skov
  • Hvorfor brug af tilfældige skove til at dekorrelere variabler kan være nyttigt for at reducere variansen i din endelige model

Støtte vektormaskiner

Supportvektormaskiner er klassificeringsalgoritmer (selvom de teknisk set også kunne bruges til at løse regressionsproblemer), der opdeler et datasæt i kategorier baseret på at skære gennem det bredeste hul mellem kategorier. Dette koncept vil blive gjort mere klart gennem visualiseringer om et øjeblik.

Hvad er supportvektormaskiner?

Supportvektormaskiner - eller SVM for korte - er overvågede maskinlæringsmodeller med tilhørende læringsalgoritmer, der analyserer data og genkender mønstre.

Supportvektormaskiner kan bruges til både klassificeringsproblemer og regressionsproblemer. I denne artikel vil vi specifikt se på brugen af ​​supportvektormaskiner til løsning af klassificeringsproblemer.

Hvordan fungerer understøttende vektormaskiner?

Lad os undersøge, hvordan supportvektormaskiner virkelig fungerer.

Med et sæt træningseksempler - som hver er markeret for at tilhøre en af ​​to kategorier - bygger en supportvektor maskintræningsalgoritme en model. Denne model tildeler nye eksempler i en af ​​de to kategorier. Dette gør supportvektormaskinen til en ikke-probabilistisk binær lineær klassifikator.

SVM bruger geometri til at foretage kategoriske forudsigelser.

Mere specifikt kortlægger en SVM-model datapunkterne som punkter i rummet og deler de separate kategorier, så de divideres med et åbent hul, der er så bredt som muligt. Nye datapunkter forudsiges at tilhøre en kategori baseret på hvilken side af hullet de tilhører.

Her er et eksempel på visualisering, der kan hjælpe dig med at forstå intuitionen bag supportvektormaskiner:

Som du kan se, hvis et nyt datapunkt falder på venstre side af den grønne linje, vil det blive mærket med den røde kategori. Tilsvarende, hvis et nyt datapunkt falder på højre side af den grønne linje, bliver det mærket som tilhørende den blå kategori.

Denne grønne linje kaldes et hyperplan , hvilket er et vigtigt stykke ordforråd til understøttelse af vektormaskinalgoritmer.

Lad os se på en anden visuel repræsentation af en supportvektormaskine:

I dette diagram er hyperplanet mærket som det optimale hyperplan . Supportvektormaskineteori definerer det optimale hyperplan som den, der maksimerer margenen mellem de nærmeste datapunkter fra hver kategori.

Som du kan se, rører margenlinjen faktisk tre datapunkter - to fra den røde kategori og en fra den blå kategori. Disse datapunkter, der berører marginalerne, kaldes supportvektorer og er hvor supportvektormaskiner får deres navn fra.

Afsnit Wrap-up

Her er et kort resume af, hvad du lige har lært om supportvektormaskiner:

  • At understøttende vektormaskiner er et eksempel på en overvåget algoritme til maskinindlæring
  • Denne understøttelsesvektormaskiner kan bruges til at løse både klassificerings- og regressionsproblemer
  • Hvordan kategorier af datapunkter kategoriseres ved hjælp af et hyperplan, der maksimerer margenen mellem kategorier i et datasæt
  • At datapunkterne, der berører margenlinjer i en supportvektormaskine, kaldes supportvektorer . Disse datapunkter er, hvor supportvektormaskiner stammer fra.

K-betyder klyngedannelse

K-betyder klyngedannelse er en maskinlæringsalgoritme, der giver dig mulighed for at identificere segmenter af lignende data i et datasæt.

Hvad er K-Means Clustering?

K-betyder klyngedannelse er en ikke-overvåget algoritme til maskinindlæring.

Dette betyder, at det optager umærkede data og vil forsøge at gruppere lignende klynger af observationer sammen i dine data.

K-betyder klyngealgoritmer er meget nyttige til løsning af virkelige problemer. Her er et par brugssager til denne maskinlæringsmodel:

  • Kundesegmentering for marketingteam
  • Dokument klassificering
  • Leveringsruteoptimering til virksomheder som Amazon, UPS eller FedEx
  • Identificering og reaktion på kriminalitetscentre i en by
  • Professionel sportsanalyse
  • Forudsigelse og forebyggelse af internetkriminalitet

Det primære mål for en K betyder klyngealgoritme er at opdele et datasæt i forskellige grupper, således at observationer inden for hver gruppe svarer til hinanden.

Her er en visuel gengivelse af, hvordan dette ser ud i praksis:

En visualisering af en K betyder grupperingsalgoritme

Vi vil udforske matematikken bag en K-middel-klynge i det næste afsnit af denne vejledning.

Hvordan fungerer K-Means-grupperingsalgoritmer?

Det første trin i at køre en K-betyder klyngealgoritme er at vælge det antal klynger, du vil opdele dine data i. Dette antal klynger er den Kværdi, der henvises til i algoritmens navn.

Valg af Kværdi inden for en K-betyder klyngealgoritme er et vigtigt valg. Vi vil tale mere om, hvordan du vælger en ordentlig værdi Ksenere i denne artikel.

Dernæst skal du tilfældigt tildele hvert punkt i dit datasæt til en tilfældig klynge. Dette giver vores første opgave, som du derefter kører følgende iteration på, indtil klyngerne holder op med at ændre:

  • Beregn hver klynges centroid ved at tage den gennemsnitlige vektor af punkter i den klynge
  • Tildel hvert datapunkt til den klynge, der har den nærmeste centroid

Her er en animation af, hvordan dette fungerer i praksis for en K-betyder klyngealgoritme med en Kværdi på 3. Du kan se centrum af hver klynge repræsenteret af en sort +karakter.

En visualisering af en K betyder grupperingsalgoritme

Som du kan se, fortsætter denne iteration, indtil klyngerne holder op med at ændre sig - hvilket betyder, at datapunkter ikke længere tildeles nye klynger.

Valg af en ordentlig K-værdi til K betyder grupperingsalgoritmer

At vælge en ordentlig Kværdi for en K-betyder klyngealgoritme er faktisk ret vanskelig. Der er ikke noget "rigtigt" svar på at vælge den "bedste" Kværdi.

En metode, som maskinlæringsudøvere ofte bruger, kaldes albuen-metoden .

For at bruge albue-metoden er det første, du skal gøre, at beregne summen af ​​kvadrerede fejl (SSE) for dig K-betyder klyngealgoritme for en gruppe Kværdier. SSE i en K betyder, at klyngealgoritme er defineret som summen af ​​den kvadratiske afstand mellem hvert datapunkt i en klynge og klyngens centroid.

Som et eksempel på dette trin, kan du beregne SSE for Kværdier af 2, 4, 6, 8, og 10.

Derefter vil du gerne generere et plot af SSE mod disse forskellige Kværdier. Du vil se, at fejlen falder, når Kværdien stiger.

Dette giver mening - jo flere kategorier du opretter inden for et datasæt, jo mere sandsynligt er det, at hvert datapunkt er tæt på centrum af sin specifikke klynge.

Med det sagt er ideen bag albue-metoden at vælge en værdi, Khvormed SSE bremser sin tilbagegangshastighed brat. Dette bratte fald producerer en elbowi grafen.

Som et eksempel er her en graf over SSE mod K. I dette tilfælde ville albuen metode foreslår at bruge en Kværdi på ca. 6.

En visualisering af en K betyder grupperingsalgoritme

Vigtigere 6er, at det kun er et skøn for en god værdi Kat bruge. Der er aldrig en "bedste" Kværdi i en K-betyder klyngealgoritme. Som med mange ting inden for maskinlæring er dette en meget situationafhængig beslutning.

Afsnit Wrap-up

Her er et kort resume af, hvad du lærte i denne artikel:

  • Eksempler på ikke-overvågede maskinlæringsproblemer, som K-betyder klyngealgoritmen er i stand til at løse
  • De grundlæggende principper for, hvad en K-betyder klyngealgoritme er
  • Hvordan K-betyder klyngealgoritme fungerer
  • Sådan bruges albue-metoden til at vælge en passende værdi af Ki en K-betyder klyngemodel

Hovedkomponentanalyse

Hovedkomponentanalyse bruges til at omdanne et datasæt med mange funktioner til et transformeret datasæt med færre funktioner, hvor hver ny funktion er en lineær kombination af de eksisterende funktioner. Dette transformerede datasæt har til formål at forklare det meste af variansen af ​​det originale datasæt med langt mere enkelhed.

Hvad er hovedkomponentanalyse?

Hovedkomponentanalyse er en maskinlæringsteknik, der bruges til at undersøge sammenhængen mellem sæt af variabler.

Sagt forskelligt, analyserer hovedkomponentanalyser sæt variabler for at identificere den underliggende struktur af disse variabler.

Hovedkomponentanalyse kaldes undertiden faktoranalyse .

Baseret på denne beskrivelse kan du måske tro, at hovedkomponentanalysen ligner lineær regression.

Det er ikke tilfældet. Faktisk har disse to teknikker nogle vigtige forskelle.

Forskellene mellem lineær regression og hovedkomponentanalyse

Lineær regression bestemmer en linje, der passer bedst gennem et datasæt. Hovedkomponentanalyse bestemmer flere retvinklede linjer, der passer bedst til datasættet.

Hvis du ikke er bekendt med udtrykket ortogonal , betyder det bare, at linjerne er vinkelrette (90 grader) i forhold til hinanden - som Nord, Øst, Syd og Vest er på et kort.

Lad os overveje et eksempel for at hjælpe dig med at forstå dette bedre.

En hovedkomponentanalyse

Se på akseetiketterne i dette billede.

I dette billede er x-aksens hovedkomponent eksempler på 73% af variansen i datasættet. Y-aksens hovedkomponent forklarer ca. 23% af variansen i datasættet.

Dette betyder, at 4% af variansen i datasættet forbliver uforklarlig. Du kan reducere dette antal yderligere ved at tilføje flere hovedkomponenter til din analyse.

Afsnit Wrap-up

Her er et kort resume af, hvad du lærte om hovedkomponentanalyse i denne vejledning:

  • Denne hovedkomponentanalyse forsøger at finde ortogonale faktorer, der bestemmer variabiliteten i et datasæt
  • Forskellene mellem hovedkomponentanalyse og lineær regression
  • Hvordan de ortogonale hovedkomponenter ser ud, når de visualiseres inde i et datasæt
  • At tilføje flere hovedkomponenter kan hjælpe dig med at forklare mere af variansen i et datasæt