Grunnleggende AI
Hva er maskinlæring?
Maskinlæring er ett av de raskest voksende teknologiske feltene, men til tross for hvor ofte ordene “maskinlæring” brukes, kan det være vanskelig å forstå hva maskinlæring er, nøyaktig.
Maskinlæring henviser ikke bare til én ting, det er en paraplybetegnelse som kan brukes til mange forskjellige konsepter og tekniker. Å forstå maskinlæring innebærer å være kjent med ulike former for modellanalyse, variabler og algoritmer. La oss ta en nærmere titt på maskinlæring for å bedre forstå hva det omfatter.
Hva er maskinlæring?
Mens betegnelsen maskinlæring kan brukes til mange forskjellige ting, henviser den generelt til å enable en datamaskin til å utføre oppgaver uten å motta eksplisitte, linje-for-linje instruksjoner for å gjøre det. En maskinlæringsspesialist trenger ikke å skrive ut alle nødvendige steg for å løse problemet, fordi datamaskinen er i stand til å “lære” ved å analysere mønster innen dataene og generalisere disse mønsterene til nye data.
Maskinlæringsystemer har tre grunnleggende deler:
- Inndata
- Algoritmer
- Utdata
Inndata er dataene som mates inn i maskinlæringsystemet, og inndataene kan deles inn i merker og egenskaper. Egenskaper er de relevante variablene, variablene som vil bli analysert for å lære mønster og trekke konklusjoner. Merker er klasser/beskrivelser gitt til de enkelte instansene av dataene.
Egenskaper og merker kan brukes i to forskjellige typer maskinlæringsproblemer: overvåket læring og uovervåket læring.
Uovervåket vs. overvåket læring
I overvåket læring er inndataene ledsaget av en grunnssannhet. Overvåkede læringproblemer har riktige utgangsverdier som en del av datasettet, så de forventede klassene er kjent på forhånd. Dette gjør det mulig for dataeksperten å sjekke algoritmens ytelse ved å teste dataene på en testdatasett og se hva prosentdel av elementer som ble riktig klassifisert.
I motsetning til uovervåket læring har ikke problemene grunnssannhetsmerker festet til dem. En maskinlæringalgoritme som er trent for å utføre uovervåkede læringoppgaver, må være i stand til å slutte relevante mønster i dataene for seg selv.
Overvåkede læringalgoritmer brukes vanligvis til klassifiseringsproblemer, der man har et stort datasett fylt med instanser som må sorteres inn i en av mange forskjellige klasser. En annen type overvåket læring er en regresjonoppgave, der verdien som algoritmen produserer er kontinuerlig i naturen i stedet for kategorisk.
Mens uovervåkede læringalgoritmer brukes til oppgaver som tetthetsestimering, klustering og representasjonslæring. Disse tre oppgavene trenger maskinlæringsmodellen til å slutte datstrukturen, det er ingen forhåndsdefinerte klasser gitt til modellen.
La oss ta en kort titt på noen av de vanligste algoritmene som brukes i både uovervåket og overvåket læring.
Typer av overvåket læring
Vanlige overvåkede læringalgoritmer inkluderer:
- Naiv Bayes
- Støttevektormaskiner
- Logistisk regresjon
- Tilfeldige skoger
- Kunstige nevralt nettverk
Støttevektormaskiner er algoritmer som deler opp et datasett i forskjellige klasser. Data punkter er gruppert i kluster ved å tegne linjer som skiller klassene fra hverandre. Punkter funnet på en side av linjen vil tilhøre en klasse, mens punktene på den andre siden av linjen er en annen klasse. Støttevektormaskiner søker å maksimere avstanden mellom linjen og punktene funnet på hver side av linjen, og jo større avstanden, jo mer sikker klassifiseringen er på at punktet tilhører en klasse og ikke en annen klasse.
Logistisk regresjon er en algoritme som brukes i binære klassifiseringsoppgaver når datapunkter må klassifiseres som tilhørende en av to klasser. Logistisk regresjon fungerer ved å merke datapunktet enten som 1 eller 0. Hvis det oppfattede verdien av datapunktet er 0,49 eller lavere, klassifiseres det som 0, mens hvis det er 0,5 eller høyere, klassifiseres det som 1.
Beslutningstre-algoritmer fungerer ved å dele opp datasett i mindre og mindre fragmenter. De eksakte kriteriene som brukes til å dele dataene er opp til maskinlæringingeniøren, men målet er å til slutt dele dataene opp i enkelt datapunkter, som vil bli klassifisert ved hjelp av en nøkkel.
En tilfeldig skog-algoritme er i realiteten mange enkelt beslutningstre-klassifisatorer koblet sammen til en mer kraftfull klassifisator.
Naiv Bayes-klassifikatoren beregner sannsynligheten for at et gitt datapunkt har oppstått basert på sannsynligheten for en tidligere hendelse. Den er basert på Bayes’ teorem og den plasserer datapunktene i klasser basert på deres beregnede sannsynlighet. Når en Naiv Bayes-klassifisator implementeres, antas det at alle prediktorer har samme innvirkning på klasseresultatet.
Et kunstig nevralt nettverk, eller multi-lag perceptron, er maskinlæringalgoritmer inspirert av struktur og funksjon av det menneskelige hjernen. Kunstige nevralt nettverk får navnet sitt fra det faktum at de består av mange noder/nevroner koblet sammen. Hver nevron manipulerer dataene med en matematisk funksjon. I kunstige nevralt nettverk er det inngangs-lag, skjulte lag og utgangs-lag.
Det skjulte laget i nevralt nettverk er der dataene faktisk tolkes og analyseres for mønster. Med andre ord, det er der algoritmen lærer. Jo flere noder som er koblet sammen, jo mer komplekse nettverk kan lære mer komplekse mønster.
Typer av uovervåket læring
Uovervåkede læringalgoritmer inkluderer:
- K-means klustering
- Autoencodere
- Primær komponentanalyse
K-means klustering er en uovervåket klassifiserings-teknikk, og den fungerer ved å separere datapunkter i kluster eller grupper basert på deres egenskaper. K-means klustering analyserer egenskapene funnet i datapunktene og skjelner mønster i dem som gjør at datapunktene funnet i en gitt klasse-kluster er mer like hverandre enn de er til datapunkter funnet i andre kluster. Dette oppnås ved å plassere mulige sentre for klustrene, eller sentroider, i en graf over dataene og omfordeler sentroidens posisjon til en posisjon som minimerer avstanden mellom sentroiden og datapunktene som tilhører den klassen. Forskeren kan spesifisere det ønskede antall kluster.
Primær komponentanalyse er en teknikk som reduserer et stort antall egenskaper/variabler ned til en mindre egenskapsrom/færre egenskaper. De “primære komponentene” av datapunktene velges for å bli bevart, mens de andre egenskapene presses ned til en mindre representasjon. Forholdet mellom de opprinnelige datapunktene blir bevart, men siden kompleksiteten av datapunktene er enklere, er dataene lettere å kvantifisere og beskrive.
Autoencodere er versjoner av nevralt nettverk som kan brukes til uovervåkede læringoppgaver. Autoencodere er i stand til å ta umerkede, fritt-formede data og omdanne dem til data som et nevralt nettverk kan bruke, i realiteten å lage deres eget merket treningdata. Målet med en autoencoder er å konvertere inndata og bygge det opp igjen så nøyaktig som mulig, så det er i nettverkets interesse å bestemme hvilke egenskaper som er de viktigste og trekke dem ut.












