Mësimi i makinës pa Python, Anaconda dhe reptil të tjerë

Jo, sigurisht, nuk e them krejt seriozisht. Duhet të ketë një limit deri në çfarë shkalle është e mundur të thjeshtohet një temë. Por për hapat e parë, për të kuptuar konceptet bazike dhe për t'u përshtatur shpejt në temë, ndoshta është e pranueshme. Si të quajmë këtë material saktësisht (opsionet: "Mësimi i makinerive për fillestarë", "Analiza e të dhënave që nga e para", "Algoritmet për më të vegjlit"), do ta diskutojmë në fund.

Të kalojmë në temë. Kam shkruar disa programe praktike në MS Excel për vizualizimin dhe paraqitjen e qartë të proceseve që ndodhin në metoda të ndryshme të mësimit të makinerive gjatë analizës së të dhënave. Të shohësh është të besosh, në fund të fundit, siç thonë ata që e zhvilluan shumicën e këtyre metodave (ndër të tjera, jo të gjitha. Metoda shumë e fuqishme e "vektoreve mbështetës", ose SVM, sipërfaqja e mbështetjeve – shpikje e bashkëatdhetarit tonë Vladimir Vapnik, Instituti Menaxhues i Moskës. Vitin 1963, për të qenë të saktë! Tani, ai megjithatë, mëson dhe punon në SHBA).

Të tri skedat për shqyrtim

1. Klasifikimi përmes metodës K-means

Këto lloj problemesh i përkasin "mësimit pa mësues", kur na nevojitet të ndajmë të dhënat fillestare në një numër të caktuar kategorish të njohura paraprakisht, por atje nuk kemi asnjë numër përgjigjesh "të sakta", ato duhet t'i nxjerrim nga vetë të dhënat. Problemi themelor klasik i gjetjes së nënllojve të luleve të irisit (Ronald Fisher, viti 1936!), i cili konsiderohet si filizi i parë i këtyre njohurive – ka pikërisht këtë natyrë.

Metoda është mjaft e thjeshtë. Ne kemi një grup objektesh, të paraqitura si vektorë (grupe N numrash). Për irisat, këto janë grupe 4 numrash që karakterizojnë lulen: gjatësia dhe gjerësia e pjesës jashtme dhe të brendshme të petaleve, përkatësisht (Iriset e Fishers – Wikipedia). Si distancë, ose masë afërsie midis objekteve, përdoret metrika e zakonshme kartiziane.

Më pas, në mënyrë të rastit (ose jo rastësisht, shihni më poshtë), zgjidhen qendrat e grupeve, dhe llogariten distancat nga secili objekt në qendrat e grupeve. Çdo objekt në këtë hap të iteracionit shënohet se i përket qendrës më të afërt. Më pas, qendra e çdo grupi zhvendoset në mesataren aritmetike të koordinatave të anëtarëve të saj (për analogji me fizikën, e quajnë gjithashtu "qendra e masës"), dhe procedura përsëritet.

Procesi konvergon mjaft shpejt. Në imazhet në dy dimensione kjo duket kështu:

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

Mësimi i makinës pa Python, Anaconda dhe reptil të tjerë

2. Caktimi i qendrave të grupeve dhe lidhja e pikave me grupet e tyre

Mësimi i makinës pa Python, Anaconda dhe reptil të tjerë

3. Zhvendosja e koordinatave të qendrave të grupeve, ripërllogaritja e përkatësisë së pikave, derisa qendrat të stabilizohen. Duket rruga e lëvizjes së qendrës së grupit në pozitat përfundimtare.

Mësimi i makinës pa Python, Anaconda dhe reptil të tjerë

Në çdo moment mund të caktoni qendra të reja të grupeve (pa gjeneruar një shpërndarje të re pikash!) dhe të shihni se procesi i ndarjes nuk është gjithmonë unik. Matematika do të thotë se në funksionin që optimizohet (shuma e katrorëve të distancave nga piketat në qendrat e grupeve të tyre) ne gjejmë jo minimume globale, por lokale. Të zgjidhim këtë problem mund të bëhet duke zgjedhur pa rastësi qendrat fillestare të grupeve, ose duke provuar qendra të mundshme (ndonjëherë është për të përfituar t'i vendosim saktësisht në ndonjë nga piketat, atëherë të paktën kemi garancinë që nuk do të kemi grupe të zbrazëta). Në çdo rast, një numër i mbaruar ka gjithmonë një skaj të poshtëm të saktë.

Mund të eksperimentoni me këtë skedë në këtë lidhje (mos harroni të aktivizoni mbështetje për makros). Skedarët janë verifikuar nga viruset)

Përshkrimi i metodës në Wikipedia – Metoda K-means

2. Aproksimimi me polinome dhe ndarja e të dhënave. Përshtatja e tepruar

Shkencëtari dhe popullarizuesi i shkencës mbi të dhënat, K.V. Voroncov thotë shkurtimisht për metodat e mësimit të makinerive si "shkenca e kalimit të vijave përmes pikave". Në këtë shembull, do të gjejmë ligjshmërinë në të dhëna përmes metodës së katrorëve më të vegjël.

Tregohet teknika e ndarjes së të dhënave fillestare në "të mësuara" dhe "të kontrolluara", si dhe fenomeni si përshtatja e tepruar, ose "përshtatja e tepërt" në të dhëna. Me një aproksimim të saktë do të kemi një gabim të caktuar në të dhënat e mësuara dhe disa gabime më të mëdha – në të dhënat e kontrollit. Në rastin e gabuar – përshtatja e saktë në të dhënat e mësuara dhe një gabim të madh në ato të kontrollit.

(Fakti i njohur është se përmes N pikave mund të kaloni vetëm një kurbë të gradës N-1, dhe ky mënyrë në rastin e përgjithshëm nuk jep rezultatin e dëshiruar. Polinomi i interpolimit të Lagranzha në Wikipedia)

1. Caktojme shpërndarjen fillestare

Mësimi i makinës pa Python, Anaconda dhe reptil të tjerë

2. Ndajmë pikët në "të mësuara" dhe "të kontrolluara" në një raport 70 me 30.

Mësimi i makinës pa Python, Anaconda dhe reptil të tjerë

3. Ne lidhim një kurbë aproksimuese me piketat e trajnimit, shohim gabimin që ajo jep në të dhënat e kontrollit.

Mësimi i makinës pa Python, Anaconda dhe reptil të tjerë

4. Ne lidhim një kurbë të saktë përmes pikave të trajnimit dhe shohim një gabim monstruoz në të dhënat e kontrollit (dhe zero në ato të trajnimit, por çfarë ndihme ka kjo?).

Mësimi i makinës pa Python, Anaconda dhe reptil të tjerë

Kjo është, natyrisht, varianti më i thjeshtë me një ndarje në nënsetet 'trajnues' dhe 'kontrollues', në rastin e përgjithshëm kjo bëhet shumë herë për një përputhje më të mirë të koeficientëve.

Skedari është i disponueshëm këtu, është kontrolluar nga antivirus. Aktivizoni makrot për funksionimin e saktë.

3. Rënia e gradienteve dhe dinamika e ndryshimit të gabimit.

Këtu do të jetë rasti 4-dimensional dhe regresioni linear. Koeficientët e regresionit linear do të përcaktohen hap pas hapi me metodën e rënies së gradienteve, fillimisht të gjithë koeficientët janë zero. Në një grafik të veçantë shikohet dinamika e reduktimit të gabimit me përshtatjen gjithnjë e më të saktë të koeficientëve. Ka mundësinë të shihen të katër projeksionet 2-dimensionale.

Nëse caktojmë një hap shumë të madh të rënies së gradienteve, është e dukshme se gjithnjë do të kalojmë minimumin dhe do të arrijmë në rezultat për më shumë hapa, megjithatë, përfundimisht do të arrijmë (përveç nëse nuk e rrisim shumë hapin e rënies — atëherë algoritmi do të shkojë 'në çmenduri'). Dhe grafiku i varësisë së gabimit nga hapi i iteracionit do të jetë jo i butë, por 'i lëkundur'.

1. Generojmë të dhëna, vendosim hapin e rënies së gradienteve.

Mësimi i makinës pa Python, Anaconda dhe reptil të tjerë

2. Me zgjedhjen e duhur të hapit të rënies së gradienteve, arrijmë në minimum ngadalë dhe mjaft shpejt.

Mësimi i makinës pa Python, Anaconda dhe reptil të tjerë

3. Me zgjedhjen e gabuar të hapit të rënies së gradienteve, kalojmë maksimumin, grafiku i gabimit është 'i lëkundur', konvergjenca merr më shumë hapa.

Mësimi i makinës pa Python, Anaconda dhe reptil të tjerë
dhe

Mësimi i makinës pa Python, Anaconda dhe reptil të tjerë

4. Me një zgjedhje krejtësisht të gabuar të hapit të rënies së gradienteve, largohemi nga minimumi.

Mësimi i makinës pa Python, Anaconda dhe reptil të tjerë

(Për të riprodhuar procesin me vlerat e treguara në fotografi të hapit të rënies së gradienteve, vendosni shenjën në 'të dhënat referuese').

Skedari – në këtë link, duhet të aktivizoni makrot, nuk ka viruse.

Si mendon komuniteti i nderuar, a është e pranueshme një thjeshtim i tillë dhe metoda e paraqitjes së materialit? A duhet të përkthehet artikulli në anglisht?

Burimi: habr.com

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster