Ne, žinoma, aš ne rimtai. Turi būti nustatyta riba, iki kurios galima supaprastinti dalyką. Tačiau pirmiesiems etapams, suprasti pagrindines sąvokas ir greitai „įvesti“ į temą, tai gali būti priimtina. Pabaigoje aptarsime, kaip teisingai pavadinti šią medžiagą (parinktys: „Mašininis mokymasis manekenams“, „Duomenų analizė iš sauskelnių“, „Algoritmai mažiesiems“).
Iki taško. MS Excel parašė keletą taikomųjų programų, skirtų procesų, vykstančių taikant skirtingus mašininio mokymosi metodus analizuojant duomenis, vizualizavimui ir vaizdiniam pavaizdavimui. Matyti – tai tikėti, juk, kaip sako kultūros nešėjai, kuri sukūrė daugumą šių metodų (beje, ne visus. Galingiausia „palaikymo vektoriaus mašina“, arba SVM, paramos vektoriaus mašina yra išradimas mūsų tautietis Vladimiras Vapnikas, Maskvos vadybos institutas. 1963, beje! Tačiau dabar dėsto ir dirba JAV).
1. K reiškia klasterizavimą
Tokio tipo problemos yra susijusios su „neprižiūrimu mokymusi“, kai reikia suskirstyti pradinius duomenis į tam tikrą iš anksto žinomų kategorijų skaičių, tačiau neturime jokio „teisingų atsakymų“ skaičiaus, turime juos išskirti iš pačių duomenų. . Pagrindinė klasikinė rainelės žiedų porūšių radimo problema (Ronald Fisher, 1936!), kuri laikoma pirmuoju šios žinių srities požymiu, yra būtent tokio pobūdžio.
Metodas gana paprastas. Turime aibę objektų, pavaizduotų kaip vektoriai (N skaičių rinkiniai). Vilkdaliuose tai yra 4 skaičių rinkiniai, apibūdinantys gėlę: atitinkamai išorinės ir vidinės perianto skilčių ilgis ir plotis (
Toliau atsitiktinai (arba neatsitiktinai, žr. toliau) parenkami klasterių centrai ir apskaičiuojami atstumai nuo kiekvieno objekto iki klasterio centrų. Kiekvienas objektas tam tikrame iteracijos žingsnyje yra pažymėtas kaip priklausantis artimiausiam centrui. Tada kiekvieno klasterio centras perkeliamas į jo narių koordinačių aritmetinį vidurkį (pagal fizikos analogiją jis dar vadinamas „masės centru“) ir procedūra kartojama.
Procesas susilieja gana greitai. Dviejų matmenų nuotraukose atrodo taip:
1. Pradinis atsitiktinis taškų pasiskirstymas plokštumoje ir klasterių skaičius
2. Klasterių centrų nurodymas ir taškų priskyrimas jų klasteriams
3. Klasterių centrų koordinačių perkėlimas, taškų priklausomybės perskaičiavimas, kol centrai stabilizuosis. Matoma klasterio centro judėjimo į galutinę padėtį trajektorija.
Bet kuriuo metu galite nustatyti naujus klasterių centrus (negeneruodami naujo taškų paskirstymo!) ir pamatyti, kad skaidymo procesas ne visada yra vienareikšmis. Matematiškai tai reiškia, kad optimizuojamai funkcijai (atstumų nuo taškų iki jų klasterių centrų kvadratų suma) randame ne globalų, o lokalų minimumą. Šią problemą galima išspręsti arba neatsitiktinai pasirenkant pradinius klasterio centrus, arba surašant galimus centrus (kartais pravartu juos išdėstyti tiksliai viename iš taškų, tada bent jau yra garantija, kad neliksime tušti klasteriai). Bet kokiu atveju, baigtinis rinkinys visada turi trūkumų.
Metodo aprašymas Vikipedijoje -
2. Aproksimacija polinomais ir duomenų suskirstymas. Perkvalifikavimas
Žymus mokslininkas ir duomenų mokslo populiarintojas K.V. Voroncovas trumpai apibūdina mašininio mokymosi metodus kaip „mokslą apie kreivių brėžimą per taškus“. Šiame pavyzdyje duomenų šabloną rasime naudodami mažiausių kvadratų metodą.
Parodyta šaltinio duomenų padalijimo į „mokymą“ ir „kontrolę“ technika, taip pat toks reiškinys kaip perkvalifikavimas arba „pakartotinis pritaikymas“ prie duomenų. Teisingai apytiksliai turėsime tam tikrą treniruočių duomenų klaidą ir šiek tiek didesnę valdymo duomenų klaidą. Jei tai neteisinga, tai lemia tikslų treniruočių duomenų koregavimą ir didžiulę bandymo duomenų paklaidą.
(Gerai žinomas faktas, kad per N taškų galima nubrėžti vieną N-1 laipsnio kreivę, o šis metodas paprastai neduoda norimo rezultato.
1. Nustatykite pradinį paskirstymą
2. Taškus skirstome į „treniruotes“ ir „kontrolę“ santykiu 70 prieš 30.
3. Nubraižome apytikslę kreivę išilgai treniruočių taškų, matome jos duodamą klaidą ant kontrolinių duomenų
4. Nubraižome tikslią kreivę per treniruočių taškus ir matome siaubingą klaidą ant kontrolinių duomenų (o treniruočių duomenų nulis, bet kokia prasmė?).
Žinoma, parodytas paprasčiausias variantas su vienu padalijimu į „mokymo“ ir „kontrolės“ pogrupius; paprastai tai daroma daug kartų, kad būtų galima geriausiai koreguoti koeficientus.
3. Gradiento nusileidimas ir paklaidos kitimo dinamika
Bus 4 matmenų atvejis ir tiesinė regresija. Tiesinės regresijos koeficientai bus nustatomi žingsnis po žingsnio gradiento nusileidimo metodu, iš pradžių visi koeficientai lygūs nuliui. Atskiras grafikas rodo klaidų mažinimo dinamiką, kai koeficientai koreguojami vis tiksliau. Galima peržiūrėti visas keturias dvimates projekcijas.
Jei gradiento nusileidimo žingsnį nustatysite per didelį, pamatysite, kad kiekvieną kartą praleisime minimumą ir rezultatą pasieksime didesniu žingsnių skaičiumi, nors galiausiai vis tiek pasieksime (nebent irgi atidėliosime nusileidimo žingsnį). daug - tada algoritmas bus „kastais“). Ir klaidos grafikas, priklausomai nuo iteracijos žingsnio, bus ne sklandus, o „trūkčiojantis“.
1. Generuokite duomenis, nustatykite gradiento nusileidimo žingsnį
2. Teisingai pasirinkę gradiento nusileidimo žingsnį, sklandžiai ir greitai pasiekiame minimumą
3. Jei gradiento nusileidimo žingsnis pasirinktas neteisingai, viršijame maksimumą, klaidų grafikas yra „trūkčiojantis“, konvergencijai reikia daugiau žingsnių
и
4. Jei gradiento nusileidimo žingsnį pasirenkame visiškai neteisingai, tolstame nuo minimumo
(Norėdami atkurti procesą naudodami paveikslėliuose parodytas gradiento nusileidimo žingsnio vertes, pažymėkite laukelį „nuorodos duomenys“).
Ar, gerbiamos bendruomenės nuomone, toks supaprastinimas ir medžiagos pateikimo būdas yra priimtinas? Ar verta versti straipsnį į anglų kalbą?
Šaltinis: www.habr.com