Mësimi i makinave pa Python, Anaconda dhe reptilët e tjerë

Nuk, sigurisht, nuk e them këtë seriozisht. Duhet të ketë një kufi se sa larg mund të thjeshtohet një temë. Por për fazat e para, për të kuptuar konceptet bazë dhe për një kalim të shpejtë në temë, ndoshta është e pranueshme. Si duhet ta emërojmë këtë material (opsionet: "Mësimi i makinerive për fillestarët", "Analiza e të dhënave në hapat e para", "Algoritmet për më të vegjlit"), do ta diskutojmë në fund.

Po flasim për punën. Kam shkruar disa programe aplikative në MS Excel për vizualizimin dhe paraqitjen e qartë të proceseve që ndodhin në metodologjitë e ndryshme të mësimit të makinave gjatë analizës së të dhënave. Siç thonë anglishtfolësit, "të shohësh është të besosh", pasi këta janë ata që zhvilluan shumicën e këtyre metodave (për rastin e SVM, metodës më të fuqishme të mbështetjes së vektorëve, që është shpikur nga bashkëatdhetari ynë Vladimir Vapnik, Instituti i Menaxhimit të Moskës. Dhe kjo ishte në 1963! Tani ai, megjithatë, mëson dhe punon në SHBA).

Tri skedarë për shqyrtim

1. Klasifikimi me metodën k-means

Këto lloj detyrash i përkasin "mësimit pa mbikëqyrje", kur na nevojitet të ndajmë të dhënat e origjinës në një numër të caktuar kategorish të njohura paraprakisht, por gjithashtu nuk kemi asnjë sasi "përgjigjesh të sakta"; ato duhet të nxiren nga të dhënat vetë. Një detyrë thelbësore klasike për të gjetur nënllojtë e luleve të irisëve (Ronald Fisher, 1936!), që konsiderohet si fillimi i kësaj fushe të dijes - është pikërisht nga ky natyrë.

Metoda Ă«shtĂ« mjaft e thjeshtĂ«. Ne kemi njĂ« grup objektesh, tĂ« paraqitura si vektora (grupe N numrash). PĂ«r irisĂ«t, kjo Ă«shtĂ« - grupe 4 numrash, qĂ« karakterizojnĂ« lulen: gjatĂ«si dhe gjerĂ«si e pjesĂ«ve tĂ« jashtme dhe tĂ« brendshme tĂ« petaleve, pĂ«rkatĂ«sisht (IrisĂ«t e Fisherit — Wikipedia). Si distancĂ«, ose masĂ« afĂ«rsie midis objekteve, Ă«shtĂ« zgjedhur metrika Euclidiane.

MĂ« pas, nĂ« mĂ«nyrĂ« tĂ« rastĂ«sishme (ose tĂ« parastisur, shihni mĂ« poshtĂ«) zgjidhen qendrat e grupeve, dhe llogariten distancat nga çdo objekt deri te qendrat e grupeve. Çdo objekt nĂ« kĂ«tĂ« hap tĂ« iteracionit shĂ«nohet si i pĂ«rkasin qendrĂ«s mĂ« tĂ« afĂ«rt. MĂ« pas, qendra e secilit grup zhvendoset nĂ« mesataren aritmetike tĂ« koordinatave tĂ« anĂ«tarĂ«ve tĂ« saj (nĂ« analogji me fizikĂ«n, quhet gjithashtu "qendra e masĂ«s"), dhe procedura pĂ«rsĂ«ritet.

Procesi përfundon mjaft shpejt. Në pamjet dy-dimensionale duket kështu:

1. Shpërndarja fillestare rastësore e pikave në plan dhe numri i grupeve

Mësimi i makinave pa Python, Anaconda dhe reptilët e tjerë

2. Përcaktimi i qendrave të grupeve dhe ndarja e pikave në grupet e tyre

Mësimi i makinave pa Python, Anaconda dhe reptilët e tjerë

3. Shkallëzimi i koordinatave të qendrave të grupeve, rishikimi i përkatësisë së pikave, derisa qendrat të stabilizohen. Shikohet rruga e lëvizjes së qendrës së grupit në pozitat përfundimtare.

Mësimi i makinave pa Python, Anaconda dhe reptilët e tjerë

NĂ« çdo moment, mund tĂ« pĂ«rcaktojmĂ« qendra tĂ« reja pĂ«r grupet (pa e gjeneruar njĂ« shpĂ«rndarje tĂ« re pikash!) dhe tĂ« shohim se procesi i ndarjes nuk Ă«shtĂ« gjithmonĂ« i qartĂ«. Matematika e kĂ«saj do tĂ« thotĂ« se nĂ« funksionin qĂ« optimizohet (shuma e katrorĂ«ve tĂ« distancave nga pikat nĂ« qendrat e grupeve tĂ« tyre), ne gjejmĂ« njĂ« minimum lokal dhe jo global. TĂ« zgjidhet ky problem mund tĂ« arrihet ose me njĂ« zgjedhje jo-rastĂ«sore tĂ« qendrave tĂ« grupeve fillestare, ose me kontrollimin e mundĂ«sive tĂ« qendrave (ndonjĂ«herĂ« ka avantazh qĂ« t’i vendosim saktĂ«sisht nĂ« njĂ«rĂ«n nga pikat, kĂ«shtu qĂ« tĂ« paktĂ«n ka garanci qĂ« nuk do tĂ« kemi grupe bosh). NĂ« çdo rast, njĂ« grup finito ka njĂ« kufi tĂ« saktĂ« mĂ« tĂ« vogĂ«l.

Mund të eksperimentoni me këtë skedar përmes këtij lidhjeje (mos harroni të aktivizoni mbështetje për makros. Skedarët janë kontrolluar për viruse)

PĂ«rshkrimi i metodĂ«s nĂ« Wikipedia — Metoda k-mesatare

2. Aproximi me polinomë dhe ndarja e të dhënave. Rishpërndarja

Shkencëtari dhe popullarizuesi i shkencës së të dhënave K.V. Voroncov thotë shkurtimisht për metodat e të mësuarit të makinave si "shkenca e kalimit të kurbave përmes pikave". Në këtë shembull do të gjejmë një model në të dhëna duke përdorur metodën e katrorëve minimalë.

Tregohet teknika e ndarjes së të dhënave fillestare në "të mësuara" dhe "të kontrolluara", si dhe fenomeni i tillë si rishpërndarja, ose "ristrukturimi" sipas të dhënave. Me një aproximim të saktë, ne do të kemi një gabim në të dhënat e mësuara dhe një gabim pak më të madh - në ato të kontrolluara. Me një aproximim të gabuar - një përshtatje të saktë për të dhënat e mësuara dhe një gabim të madh në ato të kontrolluara.

(Fakti i njohur është se përmes N pikave mund të kalojmë një kurbë të vetme të rendit N-1 dhe ky metod, në rast të përgjithshëm, nuk jep rezultatin e nevojshëm. Polinomi interpolues i Lagrange në Wikipedia)

1. Përcaktojmë shpërndarjen fillestare

Mësimi i makinave pa Python, Anaconda dhe reptilët e tjerë

2. Ndajmë pikat në "të mësuara" dhe "të kontrolluara" në përqindjen 70 me 30.

Mësimi i makinave pa Python, Anaconda dhe reptilët e tjerë

3. Ne kemi një kurbë aproksimuese mbi pikët e mësimit, shohim gabimin që ajo jep në të dhënat kontrolluese.

Mësimi i makinave pa Python, Anaconda dhe reptilët e tjerë

4. Ne kemi një kurbë të saktë përmes pikëve të mësimit, dhe shohim një gabim monstruoz në të dhënat kontrolluese (dhe zero në ato të mësimit, por çfarë vlere ka?).

Mësimi i makinave pa Python, Anaconda dhe reptilët e tjerë

Këtu është treguar, natyrisht, varianti më i thjeshtë me një ndarje të vetme në nën-grupet e "mësimit" dhe "kontrollit", por në rastin të përgjithshëm kjo bëhet shumë herë për përshtatjen më të mirë të koeficientëve.

Skedari është i disponueshëm këtu, i verifikuar nga antivirus. Aktivizoni makros për punë të saktë.

3. Zbritja gradient dhe dinamika e ndryshimit të gabimit.

Këtu do të jetë rasti 4-dimensionale dhe regresioni linear. Koeficientët e regresionit linear do të përcaktohen hap pas hapi me metodën e zbritjes gradient, fillimisht të gjithë koeficientët janë zero. Në një grafik të veçantë duket dinamika e uljes së gabimit ndërsa koeficientët përshtaten më saktë. Ka mundësi për të parë të gjitha katër projekcionet 2-dimensionale.

Nëse caktojmë një hap shumë të madh të zbritjes gradient, atëherë duket se çdo herë do të shkelim minimumin dhe për të arritur rezultatin do të na duhen më shumë hapa, megjithatë, përfundimisht do të arrijmë (nëse vetëm nuk e ngrisim shumë hapat e zbritjes - pastaj algoritmi do të shkojë "në dështim"). Dhe grafiku i varësisë së gabimit nga hapi i iteracionit do të jetë jo i qetë, por "i trazuar".

1. Generojmë të dhëna, caktojmë hapin e zbritjes gradient.

Mësimi i makinave pa Python, Anaconda dhe reptilët e tjerë

2. Me zgjedhjen e duhur të hapit të zbritjes gradient, arrijmë ngadalë dhe mjaft shpejt te minimumi.

Mësimi i makinave pa Python, Anaconda dhe reptilët e tjerë

3. Me zgjedhjen e gabuar të hapit të zbritjes gradient, kalojmë maksimumin, grafiku i gabimit është "i trazuar", konvergjenca kërkon më shumë hapa.

Mësimi i makinave pa Python, Anaconda dhe reptilët e tjerë
dhe

Mësimi i makinave pa Python, Anaconda dhe reptilët e tjerë

4. Me zgjedhjen krejtësisht të gabuar të hapit të zbritjes gradient, largohemi nga minimumi.

Mësimi i makinave pa Python, Anaconda dhe reptilët e tjerë

(Për të riprodhuar procesin me vlerat e treguara në figurat e hapit të zbritjes gradient, vendosni shenjën "të dhëna referimi").

Skedari është në këtë lidhje, duhet aktivizuar makros, nuk ka viruse.

Siç mendon komuniteti i nderuar, a është e pranueshme një thjeshtesim i tillë dhe metoda e prezentimit të materialit? A duhet ta përkthejmë artikullin në anglisht?

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster