Nei, vel, selvfølgelig, jeg er ikke seriøs. Det må være en grense for i hvilken grad det er mulig å forenkle et fag. Men for de første stadiene, å forstå grunnleggende konsepter og raskt "gå inn" i emnet, kan det være akseptabelt. Vi vil diskutere hvordan du navngir dette materialet riktig (alternativer: "Maskinlæring for dummies", "Dataanalyse fra bleier", "Algorithmer for de minste") på slutten.
Til punktet. Skrev flere applikasjonsprogrammer i MS Excel for visualisering og visuell representasjon av prosesser som skjer i ulike maskinlæringsmetoder ved analyse av data. Å se er tross alt å tro, som bærerne av kulturen sier, som utviklet de fleste av disse metodene (forresten ikke alle. Den kraftigste "støttevektormaskinen", eller SVM, støttevektormaskinen er oppfinnelsen av vår landsmann Vladimir Vapnik, Moscow Institute of Management. 1963, forresten! Nå underviser og jobber han imidlertid i USA).
1. K-betyr gruppering
Problemer av denne typen refererer til "uovervåket læring", når vi trenger å dele de første dataene inn i et visst antall kategorier kjent på forhånd, men vi har ikke et antall "riktige svar"; vi må trekke dem ut fra selve dataene . Det grunnleggende klassiske problemet med å finne underarter av irisblomster (Ronald Fisher, 1936!), som regnes som det første tegnet på dette kunnskapsfeltet, er nettopp av denne art.
Metoden er ganske enkel. Vi har et sett med objekter representert som vektorer (sett med N tall). Hos iris er dette sett med 4 tall som karakteriserer blomsten: lengden og bredden på henholdsvis ytre og indre lober av perianth (
Deretter velges klyngesentre tilfeldig (eller ikke tilfeldig, se nedenfor), og avstandene fra hvert objekt til klyngesentra beregnes. Hvert objekt ved et gitt iterasjonstrinn er merket som tilhørende det nærmeste sentrum. Deretter overføres midten av hver klynge til det aritmetiske gjennomsnittet av koordinatene til medlemmene (i analogi med fysikk kalles det også "massesenteret"), og prosedyren gjentas.
Prosessen konvergerer ganske raskt. På bilder i to dimensjoner ser det slik ut:
1. Innledende tilfeldig fordeling av punkter på planet og antall klynger
2. Spesifisere klyngesentre og tilordne punkter til deres klynger
3. Overføring av koordinatene til klyngesentrene, omberegning av tilknytningen til punktene til sentrene stabiliserer seg. Banen til klyngesenteret som beveger seg til sin endelige posisjon er synlig.
Du kan når som helst sette nye klyngesentre (uten å generere en ny fordeling av poeng!) og se at partisjoneringsprosessen ikke alltid er entydig. Matematisk betyr dette at for funksjonen som optimaliseres (summen av kvadrerte avstander fra punkter til sentrum av deres klynger), finner vi ikke et globalt, men et lokalt minimum. Dette problemet kan løses enten ved et ikke-tilfeldig valg av innledende klyngesentre, eller ved å telle opp mulige sentre (noen ganger er det fordelaktig å plassere dem nøyaktig på ett av punktene, da er det i det minste en garanti for at vi ikke blir tomme klynger). I alle fall har et begrenset sett alltid et infimum.
Beskrivelse av metoden på Wikipedia -
2. Approksimasjon ved polynomer og dataoppdeling. Omskolering
Bemerkelsesverdig vitenskapsmann og populariserer av datavitenskap K.V. Vorontsov beskriver kort maskinlæringsmetoder som "vitenskapen om å tegne kurver gjennom punkter." I dette eksemplet vil vi finne et mønster i dataene ved å bruke minste kvadraters metode.
Teknikken for å dele kildedataene inn i "trening" og "kontroll" vises, samt et slikt fenomen som omskolering, eller "omjustering" til dataene. Ved korrekt tilnærming vil vi ha en viss feil på treningsdataene og en litt større feil på kontrolldataene. Hvis feil, resulterer det i nøyaktig justering av treningsdataene og en stor feil på testdataene.
(Det er et velkjent faktum at man gjennom N punkter kan tegne en enkelt kurve av N-1. grad, og denne metoden gir i det generelle tilfellet ikke det ønskede resultatet.
1. Still inn startfordelingen
2. Vi deler poengene inn i "trening" og "kontroll" i forholdet 70 til 30.
3. Vi tegner den tilnærmede kurven langs treningspunktene, vi ser feilen den gir på kontrolldataene
4. Vi tegner en eksakt kurve gjennom treningspunktene, og vi ser en monstrøs feil på kontrolldataene (og null på treningsdataene, men hva er poenget?).
Vist er selvfølgelig det enkleste alternativet med en enkelt inndeling i "trening" og "kontroll" undersett; i det generelle tilfellet gjøres dette mange ganger for den beste justeringen av koeffisientene.
3. Gradientnedstigning og feildynamikk endres
Det vil være en 4-dimensjonal kasus og lineær regresjon. Lineære regresjonskoeffisienter vil bli bestemt trinnvis ved bruk av gradientnedstigningsmetoden, i utgangspunktet er alle koeffisienter null. En egen graf viser dynamikken til feilreduksjon ettersom koeffisientene justeres mer og mer nøyaktig. Det er mulig å se alle fire 2-dimensjonale projeksjoner.
Hvis du setter gradientnedstigningstrinnet for stort, kan du se at hver gang vi hopper over minimumet og kommer frem til resultatet i et større antall trinn, selv om vi til slutt fortsatt kommer frem (med mindre vi forsinker nedstigningstrinnet også mye - da vil algoritmen gå "i spar"). Og grafen for feilen avhengig av iterasjonstrinnet vil ikke være jevn, men "rykket".
1. Generer data, angi gradientnedstigningstrinnet
2. Med riktig valg av gradientnedstigningstrinnet når vi jevnt og raskt minimumet
3. Hvis gradientnedstigningstrinnet er feil valgt, overskrider vi maksimum, feilgrafen er "rykket", konvergens tar et større antall trinn
и
4. Hvis vi velger gradientnedstigningstrinnet helt feil, beveger vi oss bort fra minimum
(For å reprodusere prosessen ved å bruke trinnverdiene for gradientnedstigning vist på bildene, merk av for "referansedata").
I følge det respekterte fellesskapet, er en slik forenkling og fremgangsmåte for materialet akseptabel? Er det verdt å oversette artikkelen til engelsk?
Kilde: www.habr.com