Ne, naravno da ne mislim ozbiljno. Mora postojati granica do koje je moguće pojednostaviti temu. Ali za prve korake, razumevanje osnovnih koncepcija i brzo 'uključivanje' u temu, možda je i prihvatljivo. A kako ispravno imenovati ovaj materijal (mogućnosti: 'Mašinsko učenje za početnike', 'Analiza podataka od nule', 'Algoritmi za najmlađe'), razgovaraćemo na kraju.
Pređimo na stvar. Napisao sam nekoliko praktičnih programa u MS Excelu za vizualizaciju i slikovito predstavljanje procesa koji se odvijaju u različitim metodama mašinskog učenja prilikom analize podataka. Videti je verovati, na kraju krajeva, kako kažu pripadnici kulture koja je razvila većinu ovih metoda (usput, nije sve. Moćna 'metoda potpornih vektora', ili SVM, support vector machine – izum je našeg sugrađanina Vladimira Vapnika, Moskovski institut za upravljanje. Godina 1963, uzgred! Sada, međutim, predaje i radi u SAD-u).
Tri datoteke na uvid
1. Klasifikacija metodom k-srednjih
Ove vrste zadataka pripadaju 'učenju bez nadzora', kada treba da podelimo ulazne podatke na unapred poznat broj kategorija, ali pritom nemamo nijednu količinu 'tačnih odgovora', njih moramo izvući iz samih podataka. Fundamentalni klasični zadatak pronalaženja podvrsta cvetova irisa (Ronald Fisher, 1936!) koji se smatra prvim korakom u ovoj oblasti znanja – upravo je ovakve prirode.
Metoda je dovoljno jednostavna. Imamo skup objekata predstavljenih u obliku vektora (setova N brojeva). Za iris, to su setovi od 4 broja koji karakterizuju cvet: dužina i širina spoljašnjeg i unutrašnjeg lista oblatnika, redom (). Kao mera udaljenosti ili bliskosti između objekata koristi se obična dekartova metrika.
Zatim se na proizvoljan način (ili neproizvoljan, pogledajte dalje) biraju centri klastera i izračunavaju se udaljenosti od svakog objekta do centara klastera. Svaki objekat na ovom koraku iteracije označava se kao pripadajući najbližem centru. Zatim se centar svakog klastera premesti na aritmetičku sredinu koordinata svojih članova (po analogiji s fizikom, ovo se još naziva 'centar mase'), a procedura se ponavlja.
Proces brzo konvergira. Na slikama u dva dimenzije to izgleda ovako:
1. Početna slučajna raspodjela točaka na ravnini i broj klastera

2. Postavljanje centara klastera i pripisivanje točaka svojim klasterima

3. Pomicanje koordinata centara klastera, ponovni izračun pripadnosti točaka, sve dok centri ne postanu stabilni. Vidljiva je putanja kretanja centra klastera prema konačnom položaju.

U bilo kojem trenutku možete postaviti nove centre klastera (ne generirajući novu raspodjelu točaka!) i vidjeti da proces podjele ne mora uvijek biti jednoznačan. Matematčki to znači da u optimiziranoj funkciji (sumi kvadrata udaljenosti točaka do centara svojih klastera) nalazimo ne globalni, već lokalni minimum. Ovaj problem možemo riješiti ili ne slučajnim odabirom početnih centara klastera, ili isprobavanjem mogućih centara (ponekad ih je korisno postaviti točno na neku od točaka, jer bar postoji jamstvo da nećemo dobiti prazne klastere). U svakom slučaju, konačna skupina uvek ima točnu donju granicu.
(ne zaboravite uključiti podršku makronaredbama. Datoteke su provjerene na viruse)
Opis metode na Wikipediji —
2. Aproksimacija polinomima i podjela podataka. Preučenje
Izvanredni znanstvenik i popularizator znanosti o podacima K.V. Voroncov kratko govori o metodama strojnog učenja kao o "znanosti o provođenju krivulja kroz točke". U ovom primjeru ćemo pronaći zakonitost u podacima metodom najmanjih kvadrata.
Prikazana je tehnika podjele izvornih podataka na "obučene" i "kontrolne", kao i fenomen preučenje, ili "prilagodba" na podatke. Uz pravilnu aproksimaciju imat ćemo određenu pogrešku na obučnim podacima i nešto veću – na kontrolnim. Uz nepravilnu – točnu prilagodbu na obučene podatke i ogroman pogrešku na kontrolnim.
(Poznata činjenica je da kroz N točaka može se povući jedinstvena krivulja N-1. stupnja, i ovaj način u općem slučaju ne daje željeni rezultat. )
1. Postavljamo inicijalnu raspodjelu

2. Dijelimo točke na "obučene" i "kontrolne" u omjeru 70 prema 30.

3. Provodimo aproksimacijsku krivulju prema točkama za obuku, vidimo pogrešku koju ona daje na kontrolnim podacima.

4. Provodimo točnu krivulju kroz točke za obuku i vidimo ogromnu pogrešku na kontrolnim podacima (i nultu na obučavajućim, ali kakva je to korist?).

Pokaže se, naravno, najjednostavnija varijanta s jednim razdvajanjem na "obučavajuće" i "kontrolne" podskupine; u općem slučaju to se radi višekratno radi bolje prilagodbe koeficijenata.
Omogućite makronaredbe za ispravan rad.
3. Gradientni silazak i dinamika promjene pogreške.
Ovdje će biti 4-dimenzionalni slučaj i linearna regresija. Koeficijenti linearne regresije određivat će se koracima metodom gradientnog silaska, isprva su svi koeficijenti – nule. Na zasebnom grafikonu vidi se dinamika smanjenja pogreške s obzirom na sve precizniju prilagodbu koeficijenata. Postoji mogućnost da se pogleda sve četiri 2-dimenzionalne projekcije.
Ako se postavi prevelik korak gradientnog silaska, vidi se da ćemo svaki put preskočiti minimum i do rezultata ćemo doći za veći broj koraka, iako ćemo, na kraju, svejedno doći (samo ako ne povećamo korak silaska previše — tada će algoritam otići "izvan kontrole"). I graph ovisnosti pogreške o koraku iteracije neće biti glatki, nego "grub".
1. Generiramo podatke, postavljamo korak gradientnog silaska.

2. Uz pravilno odabran korak gradientnog silaska glatko i dovoljno brzo dolazimo do minimuma.

3. Uz pogrešno odabran korak gradientnog silaska promašujemo maksimum, graf pogreške je "grub", a konvergencija traje više koraka.

i

4. Uz potpuno pogrešno odabran korak gradientnog silaska udaljavamo se od minimuma.

(Da biste reproducirali proces pri prikazanim vrijednostima koraka gradientnog silaska, označite "referentne podatke").
Kako smatra uvažena zajednica, je li dopušteno takvo pojednostavljenje i metoda izlaganja? Treba li članak prevesti na engleski?
Izvor: habr.com
